Warning: call_user_func_array() expects parameter 1 to be a valid callback, class 'Konami_Plugin' does not have a method 'header' in /www/wwwroot/www.lijian.net/var/Typecho/Plugin.php on line 446

Warning: call_user_func_array() expects parameter 1 to be a valid callback, class 'LaAnalysis_Plugin' not found in /www/wwwroot/www.lijian.net/var/Typecho/Plugin.php on line 446

2023年4月

    上一篇说了下坐标系,说的都是地理坐标系,但是地球不管是球体还是椭球体,电子地图还是需要一个平面来展示,所以就会需要一个投影坐标系。有投影坐标系那就有投影,简单了解下地图投影(Map Projection)。

    投影是把地球表面的任意点,利用一定数学法则,转换到地图平面上的理论和方法。简单的来说就是把球面的每个点与平面的每个点建立一个数学转换方法。

mapproject.jpeg

- 阅读剩余部分 -

    前面简单介绍了下什么是地图,我们主要说说电子地图,而对于电子地图来说,还是先了解什么是坐标系。

坐标系,是理科常用辅助方法,常见有直线坐标系,平面直角坐标系。为了说明质点的位置、运动的快慢、方向等,必须选取其坐标系。在参照系中,为确定空间一点的位置,按规定方法选取的有次序的一组数据,这就叫做“坐标”。在某一问题中规定坐标的方法,就是该问题所用的坐标系。

    而地图中用到的坐标系一般是地理坐标系统,也叫经纬度坐标系。

地理坐标系(Geographic Coordinate System),是使用三维球面来定义地球表面位置,以实现通过经纬度对地球表面点位引用的坐标系。

    现在电子地图中用到地理坐标一般有以下几种:

- 阅读剩余部分 -

最近一个js项目中使用了for(let i in arr) {} 循环,for in的好处就是被遍历的对象可以是数组,可以是对象,就算是null和undefined都没有问题,不会报错,所以被大量使用,而且当一个无序的数组中更是不会遍历空数据。如下:

let a = [];
a[5] = 5;
console.log(a);
// [empty × 5, 5]
for (let i in a) {
    console.log(i);
}
// 5

可是当客户在使用时使用了一个第三方插件,插件中使用了Array.prototype自定义方法,结果项目开始报错,最后发现问题出现在for in的时候会遍历枚举对象属性,包括prototype中的enumerable为true的对象属性,所以就出现问题了。

- 阅读剩余部分 -