teamdigitale / confini-amministrativi-istat

Una collezione di applicazioni e risorse per facilitare il riuso dei dati sui confini amministrativi italiani.
Other
16 stars 6 forks source link

Fix della conversione del geojson in geobuf. #7

Open jenkin opened 4 years ago

jenkin commented 4 years ago

La conversione dello shapefile in geobuf è operata dal modulo omonimo a partire dal geojson.

La conversione fallisce con il seguente errore.

20190101/geojson/unita-territoriali-sovracomunali/unita-territoriali-sovracomunali.json
Traceback (most recent call last):
  File "main.py", line 132, in <module>
    pbf = geobuf.encode(json.load(f))
  File "[virtualenv]/lib/python3.7/site-packages/geobuf/__init__.py", line 8, in encode
    return Encoder().encode(*args)
  File "[virtualenv]/lib/python3.7/site-packages/geobuf/encode.py", line 38, in encode
    if data_type == 'FeatureCollection': self.encode_feature_collection(data.feature_collection, obj)
  File "[virtualenv]/lib/python3.7/site-packages/geobuf/encode.py", line 51, in encode_feature_collection
    self.encode_feature(feature_collection.features.add(), feature_json)
  File "[virtualenv]/lib/python3.7/site-packages/geobuf/encode.py", line 58, in encode_feature
    self.encode_geometry(feature.geometry, feature_json.get('geometry'))
  File "[virtualenv]/lib/python3.7/site-packages/geobuf/encode.py", line 120, in encode_geometry
    self.add_multi_line(geometry, coords_or_arcs)
  File "[virtualenv]/lib/python3.7/site-packages/geobuf/encode.py", line 199, in add_multi_line
    for points in lines: self.add_line(geometry.coords, points)
  File "[virtualenv]/lib/python3.7/site-packages/geobuf/encode.py", line 192, in add_line
    for j in r: self.add_coord(coords, p[j] - (points[i - 1][j] if i else 0))
  File "[virtualenv]/lib/python3.7/site-packages/geobuf/encode.py", line 181, in add_coord
    coords.append(coord if self.transformed else int(round(coord * self.e)))
ValueError: Value out of range: 770721593900