将Shapefile文件转换为GeoJSON?


19

我正在尝试将得克萨斯州参议院地区网站的Shapefiles转换为与Google Maps API一起使用的GeoJSON文件。我正在使用QGIS进行便利,但是我无法正确获得投影/坐标。到目前为止,我还没有尝试过谷歌墨卡托(EPSG:900913)和WGS 84(EPSG:4326)。我正在使用OpenLayers来验证结果,它一直将得克萨斯州放在几内亚湾附近(0纬度,0磅)。

Answers:


23

将可下载的shapefile直接加载到QGIS中没有问题。

数据位于EPSG:3081中,最好保留这种方式。Google API期望使用latlong值,因此目标CRS应该为EPSG:4326。

只需右键单击图层->另存为...,选择文件类型GeoJSON,其他文件名以及EPSG:4326作为新的CRS。您可以将结果添加到画布以查看它们是否对齐(On-the-fly-reprojection选中)。


任何方式“另存为”多层?
chrismarx

不,每个文件都需要一个不同的目标文件名。您可以在命令行上使用ogr2​​ogr进行批处理。
AndreJ

似乎可以支持批处理处理,它支持诸如自动文件命名的明智默认设置之类的功能,可以将生成的文件发送到文件夹中
chrismarx

6

这是用于通过Web浏览器将shapefile转换为geojson的转换工具,而无需服务器端代码并​​且不支持非英语编码,只需上传zip文件并为正确的文本设置编码即可。

https://github.com/gipong/shp2geojson.js

如果将此库与Google Map api v3一起使用,则可以跳过EPSG代码字段,因为从德克萨斯州参议院地区网站下载的ZIP存档(PlanS172.zip)包含.prj文件。

loadshp({
    url: '/shp/PlanS172.zip', // path or your upload file
    encoding: 'big5' // default utf-8
}, function(geojson) {
    // geojson returned
});

在此处输入图片说明




-2

GeoJSON基于JavaScript对象表示法。在本文中,您可以探索在线,离线或借助您可以使用的API转换shapefile的不同方法。因此,请查看这篇文章,将shapefile转换为GeoJSON文件,以便在Google地图中使用。

将Shapefile转换为GeoJSON的不同方法-在线或离线或API


2
鼓励链接到外部资源,但是请在链接周围添加上下文,以便您的其他用户可以知道它的含义和原因。如果目标站点无法访问或永久脱机,请始终引用重要链接中最相关的部分。
ArMoraer
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.