Можно ли удалить небольшие острова из файла geojson/topojson?

Есть ли способ удалить маленькие острова из моего файла topojson?

В настоящее время у меня есть острова, принадлежащие таким странам, как Испания и Португалия, но я не хочу отображать эти маленькие острова. Я пробовал geojson.io, но удаление этих островов приводит к удалению всего, что принадлежит стране, включая материковую часть Европы, а это единственная часть, которую я хочу сохранить.


person user3722620    schedule 17.06.2014    source источник
comment
Для этого вам, вероятно, понадобится программа ГИС, такая как QGIS.   -  person Lars Kotthoff    schedule 18.06.2014


Ответы (2)


Откройте файл карты topojson в текстовом редакторе. Разделите его на новые строки строкой ']],[['. Затем найдите объекты multiPolygon, которые вы хотите уменьшить. Обратите внимание на номера дуг в этом MultiPolygon. Теперь посмотрите на список дуг. Каждая дуга представляет собой небольшую часть полигонов/мультиполигонов. Каждая дуга имеет идентификатор, который соответствует их порядку в файле. Если вы их посчитаете, то сможете увидеть, какие дуги используются в вашем MultiPolygon, который вы пытаетесь уменьшить. Как правило, небольшие острова/области представлены очень маленькими дугами (длина точек в определении дуги). Изменяя список идентификаторов дуг в вашем Главном мультиполигоне, вы можете отключить их от карты.

person user1504685    schedule 26.07.2014

Я смог сделать это с помощью этого онлайн-инструмента GeoJSON.

http://geojson.io/

Я загрузил свой файл TopoJSON, затем выбрал остров, который хотел удалить, и нажал «Удалить объект».

После этого я скопировал текст JSON обратно в свой файл. Я должен был сохранить первую часть моего файла, чтобы он все еще работал в коде:

{"type":"Topology","objects":{"states":{"type":"GeometryCollection","crs":{"type":"name","properties":{"name":"urn:ogc:def:crs:OGC:1.3:CRS84"}},

Я только вставил раздел "геометрия". Тогда это сработало!

person phocks    schedule 11.08.2017