Я хочу преобразовать шейп-файл в объект 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. Отсюда ни одно значение не соответствует его правильному значению.
У кого-нибудь была такая же проблема? Есть ли способ исправить эту проблему?