Hi, ich habe jetzt die Datenbank gedropt und auch das postgis template neu angelgt....
ich verwende community/postgis 2.2.1-2 mit extra/postgresql 9.5.2-1 unter Arch Linux zum Setup der DB bin ich wie folgt vorgegangen.... Postgis template erstellt... createdb template_postgis -E UTF-8 createlang plpgsql template_postgis createlang: Sprache „plpgsql“ ist bereits in Datenbank „template_postgis“ installiert psql -d template_postgis -f /usr/share/postgresql/contrib/postgis-2.2/postgis.sql psql -d template_postgis -f /usr/share/postgresql/contrib/postgis-2.2/spatial_ref_sys.sql psql UPDATE pg_database SET datistemplate = TRUE WHERE datname = 'template_postgis'; createdb -T template_postgis osmToPostgres Dann habe ich die Daten via time osm2pgsql -x -U postgres -d osmToPostgres /home/tobias/Downloads/osm/niederbayern-latest.osm.pbf -c --latlong --number-processes=1 --style /home/tobias/OSM/default.style importiert Der Query: SELECT DISTINCT area.osm_id, area.name, area.postal_code FROM planet_osm_polygon AS area JOIN planet_osm_polygon AS element ON ST_CONTAINS(area.way, element.way) WHERE element.osm_id = '142034442' AND (area.postal_code is not null OR area.boundary = 'administrative') liefert allerdings immer noch das falsche ergebnis: -190875;"Altdorf";"" -1113363;"";"84032" Irgendwie habe ich den verdacht dass es ein problem mit den Multirelationen gibt... Alle oben aufgeführen schritte liefen ohne fehler meldund durch ... Hat jemand eine Idee woher das falsche Verhalten kommt und wie ich es abstellen kann? Gruß und Dank Tobias On 05.04.2016 21:13, Frederik Ramm wrote: > Hi, > > On 04/05/2016 08:22 PM, Tobias wrote: >> für eine andere Bäckerei: >> http://www.openstreetmap.org/way/369696958 >> welche Direkt in Landshut liegt bekomme ich mit dem Query: >> >> SELECT DISTINCT area.osm_id, area.name, area.postal_code >> FROM planet_osm_polygon AS area JOIN planet_osm_polygon AS element ON >> ST_CONTAINS(area.way, element.way) >> WHERE element.osm_id = '369696958' AND (area.postal_code is not null OR >> area.boundary = 'administrative') >> >> folgendes Ergebnis: >> -62657;"Landkreis Landshut";"" >> -3149176;"";"84030" >> -62484;"Landshut";"" >> >> Die Relationen sollen imo ok sein. > > Irgendwas ist da doch faul. Die Bäckerei 369696958 liegt in der > kreisfreien Stadt Landshut. Der Landkreis Landshut sollte also *nicht* > in dieser Liste oben stehen! > > Die Bäckerei 142034442 aus Deiner anfänglichen Frage hingegen *liegt* im > Landkreis Landshut; dort hätte das -62657 also auftauchen müssen. > > Teste mal dies: > > osm=# select st_contains(a.way,b.way) > from planet_osm_polygon a, planet_osm_polygon b > where a.osm_id=-62657 > and b.osm_id=369696958; > st_contains > ------------- > f > (1 row) > > osm=# select st_contains(a.way,b.way) > from planet_osm_polygon a, planet_osm_polygon b > where a.osm_id=-62657 > and b.osm_id=142034442; > st_contains > ------------- > t > (1 row) > > So wäre es richtig. Wenn ich auf meiner Datenbank Deine Abfrage für die > 369696958 mache, erhalte ich > > osm_id | name | ?column? > ----------+--------------+---------- > -62484 | Landshut | > -2145268 | Bayern | > -17593 | Niederbayern | > -3149176 | | 84030 > -51477 | Deutschland | > (5 rows) > > und für die 142034442: > > osm_id | name | ?column? > ----------+--------------------+---------- > -1113363 | | 84032 > -190875 | Altdorf | > -2145268 | Bayern | > -62657 | Landkreis Landshut | > -17593 | Niederbayern | > -51477 | Deutschland | > (6 rows) > > Wenn das bei Dir anders ist, würde ich mir vllt. mal die Polygone mit > QGis anschauen. > > Bye > Frederik > _______________________________________________ Talk-de mailing list Talk-de@openstreetmap.org https://lists.openstreetmap.org/listinfo/talk-de