osm-pl/osm-addr-tools

Problem z gminą Narol @EMUiA

Closed this issue · 4 comments

./merger.py --gugik --terc 1809053
[CUT]
INFO:main:Working with TERC: 1809053
INFO:main:Processing 2535 addresses
Traceback (most recent call last):
File "./merger.py", line 793, in
main()
File "./merger.py", line 780, in main
m = Merger(data, addr, terc, source_addr)
File "./merger.py", line 257, in init
self.osmdb = OsmDb(self.asis, valuefunc=from_soup, indexes={'address': lambda x: x.get_index_key(), 'id': lambda x: x.osmid})
File "/home/zibi/osm-tools/impa/osm-addr-tools/osmdb.py", line 164, in init
self.update_index()
File "/home/zibi/osm-tools/impa/osm-addr-tools/osmdb.py", line 174, in update_index
pos = self.get_shape(val._raw).centroid
AttributeError: 'NoneType' object has no attribute 'centroid'

Sprawdziłem, granica gminy wydaje się być w dobrej kondycji (jest ciągłość): http://www.openstreetmap.org/relation/2004586

Dodaj jeszcze logowanie w tym miejscu

Przed poprawką:
./merger.py --gugik --terc 1809053 --log-level 4
DEBUG:osmdb.OsmDb:Recreating index
WARNING:osmdb.OsmDb:Way has less than 3 nodes. Check geometry. way:198010632
WARNING:osmdb.OsmDb:Returning geometry as a point
INFO:punktyadresowe_import.GUGiK:Fetching from EMUIA: http://emuia.gugik.gov.pl/wmsproxy/emuia/wms?SERVICE=WMS&FORMAT=application/vnd.google-earth.kml+xml&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=emuia:layer_adresy_labels&STYLES=&SRS=EPSG:2180&WIDTH=16000&HEIGHT=16000&BBOX=793749.5,275069.1,813749.5,291995.1871564621
INFO:mapping:Adding postcode 22-670 for teryt:simc=0885599
DEBUG:punktyadresowe_import.GUGiK:Ignoring address Bełżec, Osiedlowa, 1, because it has set WAZNY_DO=2014-07-31 12:00
[---CUT---]
WARNING:punktyadresowe_import.AbstractImport:Duplicate addresses in import: Płazów, Adama Mickiewicza, 21
INFO:main:Working with TERC: 1809053
INFO:main:Processing 2535 addresses
DEBUG:osmdb.OsmDb:Recreating index
Traceback (most recent call last):
File "./merger.py", line 793, in
main()
File "./merger.py", line 780, in main
m = Merger(data, addr, terc, source_addr)
File "./merger.py", line 257, in init
self.osmdb = OsmDb(self.asis, valuefunc=from_soup, indexes={'address': lambda x: x.get_index_key(), 'id': lambda x: x.osmid})
File "/home/zibi/osm-tools/impa/osm-addr-tools/osmdb.py", line 164, in init
self.update_index()
File "/home/zibi/osm-tools/impa/osm-addr-tools/osmdb.py", line 174, in update_index
pos = self.get_shape(val._raw).centroid
AttributeError: 'NoneType' object has no attribute 'centroid'

Po zastosowaniu poprawki działa, dzięki.

Ok. Tylko ja jeszcze w tym miejscu muszę na przyszłość dorzucić lepsze zgłaszanie błędu, że nie udało się wyznaczyć geometrii relacji, by informował dokładnie, która relacja się wywaliła. Dlatego pozostawiam na własne potrzeby - otwarte.