2016-12-15 11 views
0

私はtopojson at the command lineのMike Bostocks最新のチュートリアルに従っています。すべてが適切に動作しているように見えますが、シェイプをマージすると動作しますが、元のシェイプファイルのエッジ間に小さな誤差があるため、適切なマージが得られません。具体的には、国を合併して大陸を創造しようとしています。私は理解して、おそらく特定の大陸形状のファイルを見つけることができるだろうと確信していますが、プロセスをテストすることで、作成できるオーダーメイドの領域を作成することができます。topomergeのエラーをプログラムまたは手動で編集してください。

私は以下を示しすることができます見ていますエラー:

enter image description here

アンゴラは周辺諸国と合併されていない、と私はなぜわかりません。

誰もが適切なマージを得るためにこのような機能を操作した経験はありますか?ここで

が、私はこの例のために作成されたbashスクリプト(生の形状データがhereをダウンロードすることができます)です。試行錯誤することで

shp2json ne_110m_admin_0_countries/ne_110m_admin_0_countries.shp -o world-countries.geojson 

geostitch world-countries.geojson | geoproject 'd3.geoKavrayskiy7()' > world-countries-projected.geojson 

ndjson-split 'd.features' < world-countries-projected.geojson > world-countries.ndjson 

ndjson-map 'd.title = d.properties.adm0_a3, d.id = d.properties.adm0_a3, d.continent = d.properties.continent, d' < world-countries.ndjson > world-countries-id.ndjson 

geo2svg -n -w 960 -h 960 < world-countries-id.ndjson > world-countries2.svg 

geo2topo -n countries=world-countries-id.ndjson > world-countries.topojson 

toposimplify -p 2 -f < world-countries.topojson > world-countries-simple.topojson 

topoquantize 1e5 < world-countries-simple.topojson > world-countries-quantized.topojson 

topomerge -k 'd.continent' continents=countries < world-countries-quantized.topojson > world-continents.topojson 

# topomerge --mesh -f 'a !== b' continent=continent < world-continents-merge.topojson > world-continents.topojson 

topo2geo continents=world-continents.geojson < world-continents.topojson 

geo2svg -w 960 -h 960 < world-continents.geojson > world-continents.svg 

答えて

1

、私はより良い以下の見できるように、境界線をマージ作成し、Countries without boundary lakesが見つかりました:

enter image description here

私の完全なスクリプトはここにある:

shp2json ne_50m_admin_0_countries_lakes/ne_50m_admin_0_countries_lakes.shp -o world-countries.geojson 

geostitch world-countries.geojson | geoproject 'd3.geoKavrayskiy7()' > world-countries-projected.geojson 

ndjson-split 'd.features' < world-countries-projected.geojson > world-countries.ndjson 

ndjson-map 'd.title = d.properties.adm0_a3, d.id = d.properties.adm0_a3, d.continent = d.properties.continent, d' < world-countries.ndjson > world-countries-id.ndjson 

geo2svg -n -w 960 -h 960 < world-countries-id.ndjson > world-countries2.svg 

geo2topo -n countries=world-countries-id.ndjson > world-countries.topojson 

toposimplify -p 2 -f < world-countries.topojson > world-countries-simple.topojson 

topoquantize 1e5 < world-countries-simple.topojson > world-countries-quantized.topojson 

topomerge -k 'd.continent' continents=countries < world-countries-quantized.topojson > world-continents.topojson 

topo2geo continents=world-continents.geojson < world-continents.topojson 

ndjson-split 'd.features' < world-continents.geojson > world-continents.ndjson 

ndjson-map 'd.title = d.id, d' < world-continents.ndjson > world-continents-title.ndjson 

geo2svg -n -w 960 -h 960 < world-continents-title.ndjson > world-continents.svg 
関連する問題