Как избавиться от поля «Флаг удаления» при применении свойства __geo_interface__ к объекту shapefile.Reader ()? - PullRequest
0 голосов
/ 01 июня 2019

Я хочу преобразовать шейп-файл в объект geojson, используя библиотеку pyshp и протокол geo_interface . Я использовал файл blockgroups.shp в качестве входных данных. Вы можете найти его на следующей веб-странице:

https://github.com/GeospatialPython/pyshp/tree/master/shapefiles

import shapefile

r = shapefile.Reader('blockgroups.shp')
newGeojson = r.__geo_interface__
print(newGeojson)

Проблема в том, что при печати объекта newGeojson я заметил, что поля в новом объекте geojson не совпадают с их исходными значениями в файле blockgroups.shp. Это потому, что в объект геоджон было добавлено поле DeletionFlag. Поле флага удаления существует в файле blockgroups.shp как скрытое поле, поэтому мы не можем видеть его в таблице атрибутов шейп-файла. Вместо этого в новом объекте geojson он отображается как видимое поле и принимает значение поля AREA. Отсюда ни одно значение не соответствует его правильному значению. У кого-нибудь была такая же проблема? Есть ли способ исправить эту проблему?

...