d3.js加载本地地图

       在处理的过程中,首先要将本地的shapefile格式的数据转换为json格式,然后通过引用该脚本将点展示出来。

        看似简单,但是在处理过程中还是发现了很多问题,由于转换出来的json文件是投影坐标,导致地图变成了“畸形”,对比网上示例代码的json文件,发现其中点数据的坐标都是以经纬度形式出现,经过查阅发现coordinates(经纬度),另外geojson与json其实没有太大的区别(GeoJSON 是一种对地理数据结构进行编码的格式。它只是一个采用上述 JSON 格式的用于描述地理信息的格式。它的语法和 JSON 是一样的,只是对各名称做了规范。)

d3.js加载本地地图_第1张图片

解决方案如下:

       将shapefile格式的地图用arcmap打开,将投影坐标转换为地理坐标(等同于经纬度形式)再输出即可,利用gdal将其转换为json格式文件,在代码中引用该json文件,设置好比例尺及中心坐标,将网页部署到iis上即可了。

       推荐看这个帖子(详细讲了坐标转换与地理坐标等概念的定义)坐标转换,可以加深理解,对GIS行业工作者,理解投影坐标系的概念非常重要。

d3.js加载本地地图_第2张图片
r

你可能感兴趣的:(d3.js加载本地地图)