Я следую за последним учебником Майка Бостокса по адресу topojson at the command line. Кажется, что все работает надлежащим образом, и когда я объединяю фигуры, все работает, но из-за небольших ошибок между ребрами в файлах оригинальной формы я не получаю должного слияния. В частности, я пытаюсь объединить страны для создания континентов. Я понимаю, и я уверен, что могу найти конкретный файл формы континента, но я проверяю процесс, позволяющий создавать созданные на заказ регионы.Редактировать ошибки в topomerge программно или вручную
Ошибка Я вижу, может быть показано ниже:
Ангола не сливались с окружающими странами, и я не знаю, почему.
У кого-нибудь есть опыт манипулирования такими функциями, чтобы добиться правильного слияния?
Вот Баш скрипт я создал для этого примера (необработанные данные формы могут быть загружены 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