Проблемы с выводом шейп-файла - Фиона

Я использую Фиона, чтобы написать шейп-файл, содержащий геометрию округов Конгресса США и переписных участков с некоторыми вычисленными атрибутами. К сожалению, мой файл выводится пустым. Я могу видеть записи в QGIS, но не геометрию.

В своем коде я беру стройные полигоны, считанные из шейп-файлов переписи, вычисляю свойства и передаю полигонам соответствующие атрибуты в fiona filewriter.

# schema for the file
myschema = {
'geometry':'Polygon',
'properties':{'is boundary':'int','id':'str', 'district':'int'}
}

with fiona.open(name,'w',crs=from_epsg(4326), driver='ESRI Shapefile', schema=myschema) as output:
...
self.w.write({
                        'geometry':mapping(sg.asShape(self.subunit)),
                        'properties':{'is boundary':int(is_boundary), 'id':str(self.sid), 'district':0},
                        })

self.w - это ссылка на вывод после того, как он передан объекту, а self.subunit - это полигональная геометрия pysal, которую я преобразую в shapely, чтобы записать ее в свой shape-файл. У кого-нибудь были проблемы с написанием этого шейп-файла с помощью fiona и знаете, где может быть моя проблема?

1 ответ

Прежде всего: я рекомендую вам задать такие вопросы в стеке ГИС: https://gis.stackexchange.com/

Второе: я не могу комментировать, поэтому я отвечаю здесь

Будьте уверены, что на выходе

sg.asShape(self.subunit)

дает правильную геометрию объекта. Если вы печатаете это, что вывод?

Шейп-файл должен быть явно закрыт (outfile.close()).

В принципе, открытие файла с with Оператор должен позаботиться о закрытии, но, поскольку вы упомянули, что написали его как ссылку после передачи его объекту, это может быть проблемой в любом случае.

Другие вопросы по тегам