Цель состоит в том, чтобы добавить внешние свойства к топойсону. Мне удалось преобразовать шейп-файлы из http://www.diva -gis.org / gdata для разных стран в файлы json. Я также преуспел в том, чтобы уменьшить выборку этих файлов до более дружественного размера файла. Как это:
shp2json CHN_adm0.shp --out CHN_adm0.json
geo2topo CHN_adm0.json > china.json
shp2json CHN_adm1.shp --out CHN_adm1.json
geo2topo CHN_adm1.json > china.json
toposimplify -s 1e-9 -f < china.json > china-topo.json
toposimplify -s 1e-9 -f < china1.json > china1-topo.json
Затем я объединил полигоны уровня страны с полигонами уровня провинции. И, возможно, именно здесь я мог бы добавить внешние свойства, если это правильно, но, как вы увидите, у меня может быть дополнительное препятствие:
geo2topo regions=CHN_adm1.json country=CHN_adm0.json > china-regions-topo.json
toposimplify -s 1e-9 -f < china-regions-topo.json > china-regions.json
На данном этапе я не уверен, как добавить свойства к данным из diva-gis. Вот пример фрагмента dict / object и соответствующих ключей того, что в итоге получилось в моем China-region.json (примечание: я использую python для изучения файла json, но на самом деле я не собираюсь использовать python для чего-либо еще вопрос):
len(json['objects']['regions']['geometries'])
>> 31 ## 31 provinces in China
json_data['objects']['regions'].keys()
>> dict_keys(['type', 'bbox', 'geometries']) ## seems like there is nothing to map to, like an id or province name
Вопрос
Как добавить внешние свойства к топойсонам, которые я преобразовал из шейп-файлов из diva-gis? Похоже, что нечего сопоставлять. Я даже не могу сказать, какая провинция какая после изучения данных; это просто список дуг, которые достаточно хорошо изображены на карте, но для человека нет ничего интуитивно понятного, чтобы определить, какая провинция какая.
Дополнительные пояснения:
- Формат внешнего свойства произвольный; просто представьте CSV с названием провинции и номером, скажем, население провинции.
- Не против использования смазки для локтей, но я бы хотел избежать проб и ошибок в максимально возможной степени
- Порядок областей в файле json неизвестен. Не уверен, будет ли diva-gis придерживаться какого-либо конкретного соглашения (в алфавитном порядке и т. Д.)