I am trying to copy the schema of an existing shapefile and add to it in an output shapefile. Somehow I am not getting anywhere with this...though the docs seem very clear (and the download page : https://pypi.python.org/pypi/Fiona) and it is just adding to a dictionary.
For this object, I have this schema >>> c = fiona.open(r'I:\It_24\115507_Road_Shields_Label_Processing\data\test_data.shp') >>> c.schema {'geometry': 'LineString', 'properties': OrderedDict([(u'ID', 'float:11'), (u'OSM_ID', 'float:19'), (u'NAME', 'str:254'), (u'TYPE', 'str:254'), (u'TUNNEL', 'int:6'), (u'BRIDGE', 'int:6'), (u'ONEWAY', 'int:6'), (u'REF', 'str:254'), (u'Z_ORDER', 'int:6')])} and I want to return: >>> c = fiona.open(r'I:\It_24\115507_Road_Shields_Label_Processing\data\test_data_copy.shp') >>> c.schema {'geometry': 'LineString', 'properties': OrderedDict([(u'ID', 'float:11'), (u'OSM_ID', 'float:19'), (u'NAME', 'str:254'), (u'TYPE', 'str:254'), (u'TUNNEL', 'int:6'), (u'BRIDGE', 'int:6'), (u'ONEWAY', 'int:6'), (u'REF', 'str:254'), (u'Z_ORDER', 'int:6'), (u'shield_type', 'str:254'), (u'label', 'str:254'), (u'label_len', 'int:10'), (u'zoom', 'int:10')])} to do so I am running: def process_file(self, inFile, outFile): with fiona.open(inFile, 'r') as input: meta = input.meta # create new fields for the new schema meta['schema']['properties']['shield_type'.encode("utf-8")] = 'str:254' meta['schema']['properties']['label'.encode("utf-8")] = 'str:254' meta['schema']['properties']['label_len'] = 'int:10' meta['schema']['properties']['zoom'] = 'int:10' with fiona.open(outFile, 'w', **meta) as output: for item in input: n = item.copy() new_data_attributes = function_using_some_regex_parsing(item['properties']['REF'] ... Right now running this I just get an empty dictionary...I'm not sure what I'm missing... >>> c = fiona.open(r'I:\It_24\115507_Road_Shields_Label_Processing\data\test_data_copy.shp') >>> c.schema >>> {'geometry': 'LineString', 'properties': OrderedDict()}
_______________________________________________ Community mailing list Community@lists.gispython.org http://lists.gispython.org/mailman/listinfo/community