Как исправить ошибку: '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? Спасибо)


Ответы (0 шт):