[Tile-serving] [osm2pgsql] Invalid geometries created (#427)
Paul Norman
notifications at github.com
Mon Aug 3 06:58:24 UTC 2015
osm2pgsql by default will import invalid geometries by fixing them with buffer(0). Occasionally, this does not work. In those cases, it should not create a geometry at all.
The following relation exhibits the problem, with `osm2pgsql -d gis --slim intersection.osm`, geos 3.4.2, POSTGIS="2.1.7 r13414" GEOS="3.4.2-CAPI-1.8.2 r3921" PROJ="Rel. 4.9.1, 04 March 2015" GDAL="GDAL 1.11.2, released 2015/02/10" LIBXML="2.9.2" LIBJSON="UNKNOWN" RASTER
Additionally, `NOTICE: Hole lies outside shell at or near point -359741.25 7191782.5` is generated with the sql `select osm_id from planet_osm_polygon where not st_isvalid(way);`
```xml
<?xml version="1.0" encoding="UTF-8"?>
<osm version="0.6" generator="CGImap 0.4.0 (1701 thorn-02.openstreetmap.org)" copyright="OpenStreetMap and contributors" attribution="http://www.openstreetmap.org/copyright" license="http://opendatacommons.org/licenses/odbl/1-0/">
<node id="3357025788" visible="true" lat="54.1141803" lon="-3.2313862"/>
<node id="3357025789" visible="true" lat="54.1140676" lon="-3.2312034"/>
<node id="3357025790" visible="true" lat="54.1139595" lon="-3.2313974"/>
<node id="3357025791" visible="true" lat="54.1140722" lon="-3.2315802"/>
<node id="3357025792" visible="true" lat="54.1142050" lon="-3.2313843"/>
<node id="3357025893" visible="true" lat="54.1140685" lon="-3.2311649"/>
<node id="3357025894" visible="true" lat="54.1139382" lon="-3.2313999"/>
<node id="3357025895" visible="true" lat="54.1140745" lon="-3.2316202"/>
<node id="3357025896" visible="true" lat="54.1141160" lon="-3.2316073"/>
<node id="3357025897" visible="true" lat="54.1141971" lon="-3.2313149"/>
<node id="3357025898" visible="true" lat="54.1140271" lon="-3.2311778"/>
<node id="3357025899" visible="true" lat="54.1139460" lon="-3.2314694"/>
<node id="3357025900" visible="true" lat="54.1141530" lon="-3.2315730"/>
<node id="3357025901" visible="true" lat="54.1141819" lon="-3.2315207"/>
<node id="3357025902" visible="true" lat="54.1141998" lon="-3.2314557"/>
<node id="3357025903" visible="true" lat="54.1141771" lon="-3.2312530"/>
<node id="3357025904" visible="true" lat="54.1141469" lon="-3.2312046"/>
<node id="3357025905" visible="true" lat="54.1141095" lon="-3.2311742"/>
<node id="3357025906" visible="true" lat="54.1139902" lon="-3.2312120"/>
<node id="3357025907" visible="true" lat="54.1139614" lon="-3.2312641"/>
<node id="3357025908" visible="true" lat="54.1139435" lon="-3.2313288"/>
<node id="3357025909" visible="true" lat="54.1139659" lon="-3.2315315"/>
<node id="3357025910" visible="true" lat="54.1140334" lon="-3.2316107"/>
<node id="3357025911" visible="true" lat="54.1139368" lon="-3.2315294"/>
<node id="3357025912" visible="true" lat="54.1139689" lon="-3.2315944"/>
<node id="3357025913" visible="true" lat="54.1140148" lon="-3.2316414"/>
<node id="3357025914" visible="true" lat="54.1141797" lon="-3.2311993"/>
<node id="3357025915" visible="true" lat="54.1141387" lon="-3.2311509"/>
<node id="3357025916" visible="true" lat="54.1140672" lon="-3.2316592"/>
<node id="3357025917" visible="true" lat="54.1141201" lon="-3.2316459"/>
<node id="3357025918" visible="true" lat="54.1141673" lon="-3.2316030"/>
<node id="3357025919" visible="true" lat="54.1142033" lon="-3.2315355"/>
<node id="3357025920" visible="true" lat="54.1142239" lon="-3.2314513"/>
<node id="3357025921" visible="true" lat="54.1142267" lon="-3.2313602"/>
<node id="3357025922" visible="true" lat="54.1142114" lon="-3.2312728"/>
<node id="3357025923" visible="true" lat="54.1140909" lon="-3.2311269"/>
<node id="3357025924" visible="true" lat="54.1140411" lon="-3.2311298"/>
<node id="3357025925" visible="true" lat="54.1139943" lon="-3.2311592"/>
<node id="3357025926" visible="true" lat="54.1139553" lon="-3.2312122"/>
<node id="3357025927" visible="true" lat="54.1139281" lon="-3.2312834"/>
<node id="3357025928" visible="true" lat="54.1139153" lon="-3.2313655"/>
<node id="3357025929" visible="true" lat="54.1139183" lon="-3.2314504"/>
<node id="3357025930" visible="true" lat="54.1139960" lon="-3.2315802"/>
<way id="328880342" visible="true" version="1" changeset="28922079" >
<nd ref="3357025791"/>
<nd ref="3357025788"/>
<nd ref="3357025789"/>
<nd ref="3357025790"/>
<nd ref="3357025791"/>
<tag k="leisure" v="garden"/>
</way>
<way id="328880345" visible="true">
<nd ref="3357025902"/>
<nd ref="3357025792"/>
<nd ref="3357025895"/>
<nd ref="3357025896"/>
<nd ref="3357025900"/>
<nd ref="3357025901"/>
<nd ref="3357025902"/>
<tag k="leisure" v="garden"/>
</way>
<way id="328880346" visible="true">
<nd ref="3357025897"/>
<nd ref="3357025903"/>
<nd ref="3357025904"/>
<nd ref="3357025905"/>
<nd ref="3357025893"/>
<nd ref="3357025792"/>
<nd ref="3357025897"/>
<tag k="leisure" v="garden"/>
</way>
<way id="328880347" visible="true">
<nd ref="3357025906"/>
<nd ref="3357025907"/>
<nd ref="3357025908"/>
<nd ref="3357025894"/>
<nd ref="3357025893"/>
<nd ref="3357025898"/>
<nd ref="3357025906"/>
<tag k="leisure" v="garden"/>
</way>
<way id="328880348" visible="true">
<nd ref="3357025909"/>
<nd ref="3357025930"/>
<nd ref="3357025910"/>
<nd ref="3357025895"/>
<nd ref="3357025894"/>
<nd ref="3357025899"/>
<nd ref="3357025909"/>
<tag k="leisure" v="garden"/>
</way>
<way id="328880344" visible="true">
<nd ref="3357025912"/>
<nd ref="3357025911"/>
<nd ref="3357025929"/>
<nd ref="3357025928"/>
<nd ref="3357025927"/>
<nd ref="3357025926"/>
<nd ref="3357025925"/>
<nd ref="3357025924"/>
<nd ref="3357025923"/>
<nd ref="3357025915"/>
<nd ref="3357025914"/>
<nd ref="3357025922"/>
<nd ref="3357025921"/>
<nd ref="3357025920"/>
<nd ref="3357025919"/>
<nd ref="3357025918"/>
<nd ref="3357025917"/>
<nd ref="3357025916"/>
<nd ref="3357025913"/>
<nd ref="3357025912"/>
</way>
<relation id="4621350" visible="true">
<member type="way" ref="328880344" role="outer"/>
<member type="way" ref="328880342" role="inner"/>
<member type="way" ref="328880345" role="inner"/>
<member type="way" ref="328880346" role="inner"/>
<member type="way" ref="328880347" role="inner"/>
<member type="way" ref="328880348" role="inner"/>
<tag k="natural" v="grassland"/>
<tag k="type" v="multipolygon"/>
</relation>
</osm>
```
---
Reply to this email directly or view it on GitHub:
https://github.com/openstreetmap/osm2pgsql/issues/427
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstreetmap.org/pipermail/tile-serving/attachments/20150803/2aee8dc8/attachment.html>
More information about the Tile-serving
mailing list