2012-03-03 45 views
31

我正在開發一個需要使用d3.js顯示國家和城市地圖的項目。GeoJson World Database

實際上,D3支持GeoJson格式。通常,我猜GeoJson格式是從其他格式轉換而來的。

我發現這個GeoJSON的數據的一些地方:

http://mbostock.github.com/protovis/ex/countries.js

但是,這僅僅是一個國家的名單,我找了,讓我來設置一個ID的能力,一些服務或程序,得到這種格式,並將其轉換爲GeoJson,或更好地在GeoJson中獲得。

謝謝!

回答

69

這是否需要成爲一項服務?下面是我如何在過去走近這個,使用自由/開源工具:

  • 下載的公共領域的形狀文件從Natural Earth Data

  • 使用Quantum GIS轉換的.shp到.geojson(一步,在 「圖層>另存爲...」)

現在你有高分辨率的GeoJSON的數據。 Here, have some countries.

雖然這是一個非常大的文件,所以您需要分解它。但是您不需要爲此提供服務,只需爲每個國家/地區使用由ID命名的靜態文件即可。這很容易在你選擇的實用程序中生成腳本(Python,Ruby,node.js)。

+0

謝謝!這就是我正在尋找的! – todotresde 2012-03-07 12:25:08

+5

對於那些需要更詳細的答案的人:1.從Natural Earth Data下載地圖。 2.解壓並找到Shape文件。 3。將形狀文件拖到QGIS。 4.如上所述的「圖層>另存爲」。 – daCoda 2014-02-20 01:03:56

+0

更快:通過https://mygeodata.cloud/converter/shp-to-geojson在線轉換 – cyrianox 2017-11-04 03:59:53

13

請注意,通過GDAL library,您還可以使用命令行ogr2ogr轉換shapefile。例如:

$ ogr2ogr -f geojson source_file.shp dst_file.json 

將其轉換成source_file.shp以GeoJSON格式dst_file.json

在這裏閱讀更多:

Convert a shapefile (.shp) to xml/json

2

看看https://github.com/mledoze/countries

它有每個國家geoJSONs。 (醫學決議我會說)

countries.json包含每個國家的描述,包括本地化的國家名稱,座標(您可以顯示標籤)和首都名稱。