35

我需要多个国家/地区的州、省和地区的 geoJSON 格式路径。最容易获得的 geoJSON 数据是针对美国各州和国家级别的边界,而不是国内的区域。此 geoJSON 将用于使用 D3.js 创建地理可视化。

4

4 回答 4

58

与我在接受的答案中看到的步骤相比,此过程现在已简化(2014 年 7 月)。现在似乎更容易获得这些数据。起初,我在网上徘徊,希望我可以下载一堆 GeoJSON 格式的标准地图,但除了标准的美国/加拿大产品之外,什么都没有。截至目前,直接 GeoJSON 似乎没有很多可用的。相反,您采用较旧的、广泛使用的格式来生成 GeoJSON。这很容易,也是一条好路。我们将使用形状文件并将它们转换为 GeoJSON。

  1. 首先为您感兴趣的地理区域下载一个 shape 文件。shapefile 是一种数字矢量存储格式,用于存储几何位置和相关属性信息。(http://en.wikipedia.org/wiki/Shapefile

    这些来源有很多。这些是我发现有用的资源:

    GADM - 按国家或世界的一个巨大文件下载数据。您下载的每个 zip 文件内部都有多个形状文件,从数字 0 开始并不断增加。数字越高,详细程度越高。像国家、州、县等 ( http://www.gadm.org/country )

    另一个下载站点(http://www.naturalearthdata.com/downloads/

    下载由人口普查局驱动的美国州、县、分县数据 - http://census.ire.org/data/bulkdata.html

  2. 获得形状文件后,将其拖放到位于http://www.mapshaper.org的网页中。您可以在此处拖动滑块来更改矢量分辨率。我的经验是 10% 的分辨率对于 web 地图来说看起来仍然很棒,25% 接近完美。文件大小大大减小,所以我建议使用它。降低分辨率后,我的马萨诸塞州地图从 800kb 的 GeoJSON 数据变为 80kb。

  3. 单击 mapshaper 上的 GeoJSON 按钮,文件会自动为您导出。

可选 - 拥有形状文件后,您可以在Quantum GIS (QGIS) 等工具中免费对其进行编辑。

您还可以在此网站上手动绘制 GeoJSON 数据。http://geojson.io/#map=2/20.0/0.0

于 2014-07-21T17:47:31.787 回答
21

关于如何从 shapefile 生成 geoJSON 有一篇很好的文章
http://vallandingham.me/shapefile_to_geojson.html

以下步骤将带您从头到尾:

  1. 安装 Quantum GIS 框架http://www.qgis.org/e/qgis
    如果您使用的是 Mac OS X,则可以使用此版本http://www.kyngchaos.com/software
    这将为您提供用于将 shapefile 转换为 geoJSON 的 ogr2ogr 实用程序

  2. 从此处http://www.gadm.org/country下载您所在国家/地区的 shapefile并解压缩

  3. 对于加拿大,可能还有其他国家,带有后缀 0 的 shapefile 用于国家边界,而后缀 1 用于内部区域。不确定这个命名在不同国家/地区是否一致。

  4. 将区域级 shapefile 上传到 MapShaper http://mapshaper.com/test/MapShaper.swf
    如果您不想优化生成的 geoJSON 的大小,可以跳过此步骤

  5. 将 MapShaper 中的“简化级别”滑块设置为所需级别,并将简化的 shapefile 导出为“Shapefile - Polygons”

  6. 将 .shp 和 .shx 文件下载到解压原始 shapefile 的本地目录,将原始文件替换为简化文件。

  7. 导航到本地目录并运行以下命令,将<shapefile>替换为要转换的 shapefile 的实际名称。

    ogr2ogr -f geoJSON region.json <shapefile>.shp

您现在应该拥有您所在国家/地区的 geoJSON 格式的区域。检查以确保在 region.json 中定义了路径并且维护了属性字段(例如区域名称)。

于 2013-06-24T02:28:17.170 回答
5

找到一个下载 geojson 的地方:geojson-maps.kyd.com.au使用来自Natural Earth的数据。

还有这些来自 Highcharts 的地图。这个最适合这个问题。

于 2016-04-27T09:02:06.683 回答
4

我最近一直在寻找同样的东西。有一个 github 帐号,提供世界上每个国家的 geojson,不幸的是,它似乎是 D3 不支持的 UTM 格式,所以如果你愿意筛选它们并一一转换为 wgs84 或有或者愿意写一个程序,这里是链接: https ://github.com/johan/world.geo.json

于 2013-06-24T02:35:35.430 回答