Как исправить ошибку: 'Record does not match collection schema' при создании Shapefile с помощью fiona?
Создаю shapefile с помощью fiona.
Вот мой код.
Входные параметры:
pprint.pprint(test.schema)
Результат:
{'geometry': 'Unknown', 'properties': OrderedDict([('point_1', 'float:50')])}
Мета-данные:
test.meta
Результат:
{'driver': 'ESRI Shapefile',
'schema': {'properties': OrderedDict([('point_1', 'float:50')]),
'geometry': 'Unknown'},
'crs': {},
'crs_wkt': ''}
Я создаю shape file c помощью fiona
meta = test.meta
with fiona.open('test_write.shp', 'w', **meta) as dst:
count=0
for i in range(1,10):
for k in range(1,5):
count+=1
string = {"type": "Feature",
"properties": {"poin_1": count},
"geometry": {"type": "Polygon",
"coordinates":
[[[i, k],[i+1,k],[i+1,k+1],[i,k+1]]]}
}
dst.write(f)
Получаю ошибку:
ValueError Traceback (most recent call last)
<ipython-input-70-6c4520929d11> in <module>
10 [[[i, k],[i+1,k],[i+1,k+1],[i,k+1]]]}
11 }
---> 12 dst.write(f)
~\Anaconda3\lib\site-packages\fiona\collection.py in write(self, record)
353 def write(self, record):
354 """Stages a record for writing to disk."""
--> 355 self.writerecords([record])
356
357 def validate_record(self, record):
~\Anaconda3\lib\site-packages\fiona\collection.py in writerecords(self, records)
347 if self.mode not in ('a', 'w'):
348 raise IOError("collection not open for writing")
--> 349 self.session.writerecs(records, self)
350 self._len = self.session.get_length()
351 self._bounds = self.session.get_extent()
fiona/ogrext.pyx in fiona.ogrext.WritingSession.writerecs()
ValueError: Record does not match collection schema: dict_keys(['poin_1']) != ['point_1']
Я уже переставлял скобки во всех местах, но никак не могу получить нужного формата. Как исправить ошибку и создать нужный shapefile? Спасибо)