Re: [Talk-de] query in postgis osmosis
Tobias Hobmeier wrote > ja da scheint bei mir was faul zu sein. (ergebnisse siehe unten) > Nachdem ich nur niederbayern in der DB habe werde ich sie einfach > auslehren denke ich ... und neu anlegen a) freut mich, dass du mit postgis auf dem richtigen weg bist. b) neu laden sollte nix bringen, da die Grenzen von Landshut und Umgebung seit mehreren Monaten keine Probleme hatten. aber warten wir mal die nächsten Ergebnisse ab. Und dann steige ich "richtig" ein. sorry, war spät dran, aber die Kollegen haben ja schon reagiert. Gruss walter - [url=http://osm.wno-edv-service.de/residentials] Missing Residentials Map 1.17[/url] [url=http://osm.wno-edv-service.de/plz] Postcode Map 2.0.2[/url] -- View this message in context: http://gis.19327.n5.nabble.com/query-in-postgis-osmosis-tp5869410p5871315.html Sent from the Germany mailing list archive at Nabble.com. ___ Talk-de mailing list Talk-de@openstreetmap.org https://lists.openstreetmap.org/listinfo/talk-de
Re: [Talk-de] query in postgis osmosis
Hi, ja da scheint bei mir was faul zu sein. (ergebnisse siehe unten) Nachdem ich nur niederbayern in der DB habe werde ich sie einfach auslehren denke ich ... und neu anlegen Danke für die Hilfe Gruß 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) > t > 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) f > > 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
Re: [Talk-de] query in postgis osmosis
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 -- Frederik Ramm ## eMail frede...@remote.org ## N49°00'09" E008°23'33" ___ Talk-de mailing list Talk-de@openstreetmap.org https://lists.openstreetmap.org/listinfo/talk-de
Re: [Talk-de] query in postgis osmosis
Am Dienstag, den 05.04.2016, 20:22 +0200 schrieb Tobias: > > 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";"" > Hi, dann ist aber was schief gegangen mit dem Landkreis. Die Bäckerei kann nicht in Relation 62484 und in Relation 62657 liegen. Landshut ist eine Insel im Landkreis. In meiner DB bekomme ich auch die vermutlich richtigen Ergebnisse (ohne PLZ, die habe ich nicht als eigenes Feld) SELECT DISTINCT area.osm_id, area.name FROM osm_polygon AS area JOIN osm_polygon AS element ON ST_CONTAINS(area.way, element.way) WHERE element.osm_id = '369696958' AND ( area.boundary = 'administrative'); osm_id | name +-- -17593 | Niederbayern -62484 | Landshut osm=> SELECT DISTINCT area.osm_id, area.name FROM osm_polygon AS area JOIN osm_polygon AS element ON ST_CONTAINS(area.way, element.way) WHERE element.osm_id = '142034442' AND ( area.boundary = 'administrative'); osm_id |name -+ -190875 | Altdorf -62657 | Landkreis Landshut -17593 | Niederbayern Grüße, Max ___ Talk-de mailing list Talk-de@openstreetmap.org https://lists.openstreetmap.org/listinfo/talk-de
Re: [Talk-de] query in postgis osmosis
On 05.04.2016 20:12, Frederik Ramm wrote: > Hi, > > On 04/05/2016 07:53 PM, Tobias wrote: >> Das eine ist der Ort das andere das PLZ gebeit soweit so gut. >> Die Bäckerei liegt aber auch im Landkreis Landshut: >> http://www.openstreetmap.org/relation/62657 >> und auch der Landkreis erfüllt die bedinung border=administrative > > Ist der denn überhaupt drin in Deiner Datenbank? > > select osm_id from planet_osm_polygon where osm_id=-62657 > > Falls nein: Vielleicht fehlen Teile der Grenze im Niederbayern-File, und > osm2psql hat ihn daher nicht mit importiert... > > Falls ja: ist denn das Polygon gültig? > > select st_isvalid(way) from planet_osm_polygon where osm_id=-62657 > > Mit einem ungültigen Polygon funktionieren u.U. die st_contains-Sachen > nicht. > > Bye > Frederik > Hi, danke für die schnelle Antwort. um es kurz zu machen: 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. select osm_id from planet_osm_polygon where osm_id=-62657 liefert: -62657 -- select st_isvalid(way) from planet_osm_polygon where osm_id=-62657 liefert: t Gruß und Dank Tobi ___ Talk-de mailing list Talk-de@openstreetmap.org https://lists.openstreetmap.org/listinfo/talk-de
Re: [Talk-de] query in postgis osmosis
Hi, On 04/05/2016 07:53 PM, Tobias wrote: > Das eine ist der Ort das andere das PLZ gebeit soweit so gut. > Die Bäckerei liegt aber auch im Landkreis Landshut: > http://www.openstreetmap.org/relation/62657 > und auch der Landkreis erfüllt die bedinung border=administrative Ist der denn überhaupt drin in Deiner Datenbank? select osm_id from planet_osm_polygon where osm_id=-62657 Falls nein: Vielleicht fehlen Teile der Grenze im Niederbayern-File, und osm2psql hat ihn daher nicht mit importiert... Falls ja: ist denn das Polygon gültig? select st_isvalid(way) from planet_osm_polygon where osm_id=-62657 Mit einem ungültigen Polygon funktionieren u.U. die st_contains-Sachen nicht. Bye Frederik -- Frederik Ramm ## eMail frede...@remote.org ## N49°00'09" E008°23'33" ___ Talk-de mailing list Talk-de@openstreetmap.org https://lists.openstreetmap.org/listinfo/talk-de
Re: [Talk-de] query in postgis osmosis
Hi, ich hoffe ich darf nochmal mit einer Postgis frage auf dich zukommen :-) Ausgangslage: ich habe eine Niederbayernexport in meine PostgresDB via osm2pgsql importiert. Ich fahre folgenden 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') die ID um die es geht ist eine Bäckerei in 84032 Altdorf Postgres gibt mir folgende Antwort: -190875;"Altdorf";"" -1113363;"";"84032" Das eine ist der Ort das andere das PLZ gebeit soweit so gut. Die Bäckerei liegt aber auch im Landkreis Landshut: http://www.openstreetmap.org/relation/62657 und auch der Landkreis erfüllt die bedinung border=administrative Meie Frage ist warum wird er nicht mit ausgegeben? Gruß Tobias ps: ich habe mal die ML mit auf CC genommen die Antwort dürfte sicher für dein einen oder anderen Interssant sein ... On 08.03.2016 22:01, Walter Nordmann wrote: > Hi, Das Simple-Schema ist mMn nicht sehr gut geeignet, GIS-Objekte für > Auswertungen zur Verfügung zu stellen. "Simple" bedeutet ja "einfach", d.h. > du hast in der DB nur die nackten Basis-Elemente, aus denen sich die > OSM-Objekte zusammensetzten. Strassen bestehen aus Ways, Ways aus Nodes - > und was die Sache schwierig macht, Flächen aus geschlossennen Ways oder > Multipolygonen (OSM-Relationen). In der Simple-DB aber eben nicht. > > D.h. du müsstet dir die OSM-Objekte erst zusammenbasteln. Da geht natürlich, > hat aber erhebliche Tücken. > > Importiere die OSM-Daten mit dem osm2pgsql-Schema, weil osm2pgsql nimmt dir > die ganze Arbeit ab und am Ende hast du in der PostGIS-DB GIS-Objekte > (Nodes, Ways und Polygone) mit denen man ganz vernünftig arbeiten kann. > > siehe http://wiki.openstreetmap.org/wiki/Osm2pgsql oder frage mich einfach. > > Gruss > walter > > > > - > [url=http://osm.wno-edv-service.de/residentials] Missing Residentials Map > 1.17[/url] [url=http://osm.wno-edv-service.de/plz] Postcode Map 2.0.2[/url] > -- > View this message in context: > http://gis.19327.n5.nabble.com/query-in-postgis-osmosis-tp5869410p5869419.html > Sent from the Germany mailing list archive at Nabble.com. > > ___ > Talk-de mailing list > Talk-de@openstreetmap.org > https://lists.openstreetmap.org/listinfo/talk-de > ___ Talk-de mailing list Talk-de@openstreetmap.org https://lists.openstreetmap.org/listinfo/talk-de
Re: [Talk-de] query in postgis osmosis
On 08.03.2016 20:47, Tobias wrote: > Hi, > > ich habe mir eine postgis datenbank mit osmosis Simple layout angelegt > und schon ein paar einfacher querys hinter mir. > > Jetzt würde ich gerne die gis funktionen nutzen. Um zum Beispiel alle > Häuser in einem PLZ polygon zu finden. Leider habe ich keine Beispiele > dazu im Wiki finden können. Vor allem habe ich ein Problem an die > geometrie der pogone zu kommen. > > Es würde mir sehr helfen wenn einer von ein example zur hand hätte. > > Gruß und Dank > Tobi > > ___ > Talk-de mailing list > Talk-de@openstreetmap.org > https://lists.openstreetmap.org/listinfo/talk-de Hi, danke für die schnellen und hilfreichen Antworten. Ich habe mir die Sache etwas angesehen und denke dass ich den Ansatz von Walter weiter vorfolgen werde. Gruß Tobi ___ Talk-de mailing list Talk-de@openstreetmap.org https://lists.openstreetmap.org/listinfo/talk-de
Re: [Talk-de] query in postgis osmosis
Hi, Das Simple-Schema ist mMn nicht sehr gut geeignet, GIS-Objekte für Auswertungen zur Verfügung zu stellen. "Simple" bedeutet ja "einfach", d.h. du hast in der DB nur die nackten Basis-Elemente, aus denen sich die OSM-Objekte zusammensetzten. Strassen bestehen aus Ways, Ways aus Nodes - und was die Sache schwierig macht, Flächen aus geschlossennen Ways oder Multipolygonen (OSM-Relationen). In der Simple-DB aber eben nicht. D.h. du müsstet dir die OSM-Objekte erst zusammenbasteln. Da geht natürlich, hat aber erhebliche Tücken. Importiere die OSM-Daten mit dem osm2pgsql-Schema, weil osm2pgsql nimmt dir die ganze Arbeit ab und am Ende hast du in der PostGIS-DB GIS-Objekte (Nodes, Ways und Polygone) mit denen man ganz vernünftig arbeiten kann. siehe http://wiki.openstreetmap.org/wiki/Osm2pgsql oder frage mich einfach. Gruss walter - [url=http://osm.wno-edv-service.de/residentials] Missing Residentials Map 1.17[/url] [url=http://osm.wno-edv-service.de/plz] Postcode Map 2.0.2[/url] -- View this message in context: http://gis.19327.n5.nabble.com/query-in-postgis-osmosis-tp5869410p5869419.html Sent from the Germany mailing list archive at Nabble.com. ___ Talk-de mailing list Talk-de@openstreetmap.org https://lists.openstreetmap.org/listinfo/talk-de
Re: [Talk-de] query in postgis osmosis
Am 8. März 2016 um 20:47 schrieb Tobias: > Jetzt würde ich gerne die gis funktionen nutzen. Um zum Beispiel alle > Häuser in einem PLZ polygon zu finden. Leider habe ich keine Beispiele > dazu im Wiki finden können. Vor allem habe ich ein Problem an die > geometrie der pogone zu kommen. > > Es würde mir sehr helfen wenn einer von ein example zur hand hätte. > in der Postgis-doku gibt es jeweils Beispiele: http://postgis.net/docs/manual-2.0/reference.html Gruß, Martin ___ Talk-de mailing list Talk-de@openstreetmap.org https://lists.openstreetmap.org/listinfo/talk-de
Re: [Talk-de] query in postgis osmosis
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 https://osm.wno-edv-service.de/boundaries/ kennst du? Dort bekommst du zumindest die admin-level boundaries als shp, poly etc. https://osm.wno-edv-service.de/pcboundaries/ kennst du? Dort bekommst du dann die postcode-boundaries Der Betreiber (wambacher) treibt sich für gewöhnlich im deutschen Forum rum, ich habe ihm aber mal einen Hinweis auf deine Anfrage hier gegeben ;) > Vor allem habe ich ein Problem an die geometrie der pogone zu > kommen. -BEGIN PGP SIGNATURE- Version: GnuPG v2.0.22 (GNU/Linux) iQEcBAEBAgAGBQJW3y6HAAoJEIuLcq40+VqttZgIAI7yCIryxWop5GgHT/8L11my ffHRitVZzsdK5zYoEbWyC0xb49dL9MibbdvXTz1Afl/ppQKWgFfmMn9aqtr1DPsR WDkMKAIFFZw4mi2ufDm4VSNjN4gK7RJUG4RMYxb+GWOE3E9MLh9ibTYYjff9WOZl Jl4jRck2wnhcbQesrFpBv50pBj/WLHOXknF0mI2hXPPqQ5nv7e5uNwHA+iSfmmcS c721XQmlA9L5lNFOE3w99Ez4LevPTTLC9fSEh7cEbbwp973M5vmRY1ji4R4xNMVB 7e7KqSRnhsf+bXFCooN2rJW6KPR4twdv/ZLP2oiCzLH2b7aJ1gpBRK4CeOI+jGQ= =wDAo -END PGP SIGNATURE- ___ Talk-de mailing list Talk-de@openstreetmap.org https://lists.openstreetmap.org/listinfo/talk-de
[Talk-de] query in postgis osmosis
Hi, ich habe mir eine postgis datenbank mit osmosis Simple layout angelegt und schon ein paar einfacher querys hinter mir. Jetzt würde ich gerne die gis funktionen nutzen. Um zum Beispiel alle Häuser in einem PLZ polygon zu finden. Leider habe ich keine Beispiele dazu im Wiki finden können. Vor allem habe ich ein Problem an die geometrie der pogone zu kommen. Es würde mir sehr helfen wenn einer von ein example zur hand hätte. Gruß und Dank Tobi ___ Talk-de mailing list Talk-de@openstreetmap.org https://lists.openstreetmap.org/listinfo/talk-de