如何将未经投影的地理坐标直接转换为平面地图展示?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2978个文字,预计阅读时间需要12分钟。
未经摄影的地标系统中所显示的平面地图,通常是因为它默认采用了经纬度等间隔直接投影的影像方式。使用Leaflet制作点缓冲,同时调用L.circle()绘制圆形,并传入半径100米。
未经投影的地理坐标系之所以可以显示为平面地图,是因为它默认采用了经纬度等间隔直投的投影方式。 缘起使用Leaflet做点缓冲,也就是调用“L.circle()”绘制圆形,传入半径100米,绘制出来的圆却覆盖了全球,当时就猜想,应该是把半径按100度来绘制了,但看了Leaflet API介绍,里面描述的半径单位就是用的“米”。
然后想起来这次用的地图底图为天地图,在初始化地图时,通过修改crs,将地图坐标系修改为了“EPSG:4490”(通过Proj4Leaflet定义),而Leaflet默认采用的是“EPSG:3857”,看来问题应该是出在了这里。
于是通过三角函数,将100米换算成度再次绘制,可以成功绘制。
本文共计2978个文字,预计阅读时间需要12分钟。
未经摄影的地标系统中所显示的平面地图,通常是因为它默认采用了经纬度等间隔直接投影的影像方式。使用Leaflet制作点缓冲,同时调用L.circle()绘制圆形,并传入半径100米。
未经投影的地理坐标系之所以可以显示为平面地图,是因为它默认采用了经纬度等间隔直投的投影方式。 缘起使用Leaflet做点缓冲,也就是调用“L.circle()”绘制圆形,传入半径100米,绘制出来的圆却覆盖了全球,当时就猜想,应该是把半径按100度来绘制了,但看了Leaflet API介绍,里面描述的半径单位就是用的“米”。
然后想起来这次用的地图底图为天地图,在初始化地图时,通过修改crs,将地图坐标系修改为了“EPSG:4490”(通过Proj4Leaflet定义),而Leaflet默认采用的是“EPSG:3857”,看来问题应该是出在了这里。
于是通过三角函数,将100米换算成度再次绘制,可以成功绘制。

