将shapefile转换为SVG并保留内部数据?


9

我对GIS非常陌生。我找到了有关如何使用Python工具制作合奏的教程。我想遵循它,但是使用我自己的数据和地图。但是,本教程使用了美国地图SVG文件,我需要使用CA邮政编码地图。我在美国人口普查的shapefile中找到的唯一地图。我尝试使用kartograph.py将其转换为SVG,但是这样做时,它会丢失文件中的邮政编码。如何将文件转换为SVG,并保持每个路径的ID为适当的邮政编码。

我正在尝试遵循“ 如何使用免费工具制作美国县专题地图”教程。只有我没有SVG格式的地图,这应该可以使您了解我要做什么。

我看过对javascript实用程序的引用。我从未使用过Javascript,但想想我可以使用简单的东西。

Answers:


5

请查看kartograph库:http ://kartograph.org/ 。这可能为您完成工作。该站点上有很好的示例和教程。

还有一个QGIS simplesvg插件,如果我记得正确的话,可以将SHP属性保留为SVG中的ID:http ://www.duif.net/qgis/simplesvg/


我已经尝试过kartograph.py,但似乎没有保留ID。这是有关QGIS的提示。今晚我将继续努力。
chriss

我记得它对我的卡丁车很有效。以后我可以看看我的旧项目。您是否从kartograph网站上尝试过以下示例:kartograph.org/docs/kartograph.py/… 您使用哪个软件来读取SVG文件?
克里斯·P

1

我设法取得了最终结果,但是付出了比理想情况稍多的努力。

  1. 使用https://mapshaper.org/将Shapefile转换为SVG 。
  2. 使用QGIS将shapefile导出到CSV(https://gis.stackexchange.com/a/135806)。
  3. 打开CSV并复制您要保留的列。使用文本编辑器,将数据添加到pathSVG文件中的每个数据中。我使用了Sublime Text,但是任何编辑器都可以。真正有用的是能够同时粘贴所有内容,而不是一个接一个地粘贴它们,尤其是当您有很多路径时。

到目前为止,我只做过一次,顺序似乎是正确的。我不知道这种情况是否总是如此,因此我将进行快速检查以查看数据是否与该区域匹配。


0

参见AsSVG,它是PostGIS(2005),GRASS(2008,v6.3)和Spatialite(v2.3.1)的标准发行版的一部分。

Github openwebcc / assvg上有ArcGIS脚本和工具箱的更新版本。

以我的经验,输出的svg文件在浏览器中可以正常显示,但在Inkscape和Illustrator中,它们的缩放比例很大,因此不在页面中。一种解决方法是导入,全选,然后缩放以适合页面的高度和宽度(请注意确保选中“锁定宽高比”)。

ArcGIS工具箱

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.