You are not logged in.

#1 2019-06-13 20:54:52

geobud
Member
Registered: 2019-04-09
Posts: 11

Gebäude mit vielen Nodes ermitteln

Ich würde gerne ungetaggte Tanklager (man_made=storage_tank) anhand ihrer großen Anzahl von Nodes im way ermitteln.

Importierte Tanklager haben z.B. 29 Nodes.
Per utilsplugin bekomme ich bei der selben Größe 39 Nodes, allerdings ist hier die Anzahl Nodes proportional zur Fläche des Tanks.

Wie kann man per Overpass nach Gebäuden mit > 23 Nodes suchen?

Natürlich bin ich kein Dummkopf und werde – nach Ausschluss eckiger Strukturen – die entsprechenden Tags nur einzeln und manuell hinzufügen.

Last edited by geobud (2019-06-13 21:02:10)

Offline

#2 2019-06-14 07:06:43

Wulf4096
Member
From: Hamburg
Registered: 2018-10-23
Posts: 876

Re: Gebäude mit vielen Nodes ermitteln

Offline

#3 2019-06-14 07:08:58

kreuzschnabel
Member
Registered: 2015-07-03
Posts: 6,640

Re: Gebäude mit vielen Nodes ermitteln

Mich fasziniert an dieser Sprache ja immer wieder, dass Zeichenfolgen wie

(._;>;);

nicht nur kein Syntaxfehler sind, sondern sogar einen produktiven Sinn ergeben.

--ks

Offline

#4 2019-06-14 09:02:29

chris66
Member
From: Germany
Registered: 2009-05-24
Posts: 9,829

Re: Gebäude mit vielen Nodes ermitteln

Yepp, schlimmer als C. big_smile


Mapper aus dem Münsterland.

Offline

#5 2019-06-14 09:33:29

Gppes
Member
From: Leoben / Austria
Registered: 2015-12-15
Posts: 611

Re: Gebäude mit vielen Nodes ermitteln

chris66 wrote:

Yepp, schlimmer als C. big_smile

Heeeeeee!

wink

Offline

#6 2019-06-14 09:39:08

wambacher
Member
From: Schlangenbad/Wambach, Germany
Registered: 2009-12-16
Posts: 16,522
Website

Re: Gebäude mit vielen Nodes ermitteln

kreuzschnabel wrote:

Mich fasziniert an dieser Sprache ja immer wieder, dass Zeichenfolgen wie

(._;>;);

nicht nur kein Syntaxfehler sind, sondern sogar einen produktiven Sinn ergeben.

--ks

Und mich fasziniert, dass man in SQL so eine Frage wirklich "menschenlesbar" formulieren kann:

select osm_id
  from planet_osm_line
 where osm_id > 0
   and tags ? 'building'
   and ST_NPoints(way) > 28
 limit 10;

  osm_id   | nodes 
-----------+-------
 474331748 |   160
 311721806 |    44
 320213337 |    32
 158060142 |    82
 446027610 |    52
  30053239 |    42
 158240906 |    51
 158240902 |    41
 318771315 |    36
 171770694 |    40
(10 Zeilen)

Gruss
walter

Last edited by wambacher (2019-06-14 09:45:03)

Offline

#7 2019-06-14 11:44:15

Harald Hartmann
Member
From: 98667 Schönbrunn
Registered: 2014-04-02
Posts: 3,123
Website

Re: Gebäude mit vielen Nodes ermitteln

kreuzschnabel wrote:

Mich fasziniert an dieser Sprache ja immer wieder, dass Zeichenfolgen wie

(._;>;);

nicht nur kein Syntaxfehler sind, sondern sogar einen produktiven Sinn ergeben.

Naja, was soll man sonst von einem "promovierten Mathematiker" erwarten? tongue big_smile

Last edited by Harald Hartmann (2019-06-14 11:44:56)


Mein aktives Gebiet: Gemeinde Schleusegrund
Fingerprint meines Schlüssels: 71F7 3CD9 B647 9079 6B88 326E 8B8B 72AE 34F9 5AAD

Offline

#8 2019-06-14 11:53:41

mmd
Member
Registered: 2010-11-06
Posts: 1,772

Re: Gebäude mit vielen Nodes ermitteln

wambacher wrote:

Und mich fasziniert, dass man in SQL so eine Frage wirklich "menschenlesbar" formulieren kann:

Irgendwie passen da SQL Statement und Ergebnis nicht zusammen.

Offline

#9 2019-06-14 11:54:44

mmd
Member
Registered: 2010-11-06
Posts: 1,772

Re: Gebäude mit vielen Nodes ermitteln

kreuzschnabel wrote:

Mich fasziniert an dieser Sprache ja immer wieder, dass Zeichenfolgen wie

(._;>;);

nicht nur kein Syntaxfehler sind, sondern sogar einen produktiven Sinn ergeben.

Ok, jetzt erwarte ich aber auch eine detaillierte Analyse, Zeichen für Zeichen, wofür das gut ist.

Offline

#10 2019-06-14 12:03:25

Harald Hartmann
Member
From: 98667 Schönbrunn
Registered: 2014-04-02
Posts: 3,123
Website

Re: Gebäude mit vielen Nodes ermitteln

Also die runde Klammer bildet meines Wissens schonmal ein Art "Subset". Der nächste bitte wink

PS: übrigens, für die die spicken wollen, genau dieser Ausdruck ist bestens mit zwei erklärenden Sätzen dokumentiert wink

Last edited by Harald Hartmann (2019-06-14 13:06:31)


Mein aktives Gebiet: Gemeinde Schleusegrund
Fingerprint meines Schlüssels: 71F7 3CD9 B647 9079 6B88 326E 8B8B 72AE 34F9 5AAD

Offline

#11 2019-06-14 13:10:25

wambacher
Member
From: Schlangenbad/Wambach, Germany
Registered: 2009-12-16
Posts: 16,522
Website

Re: Gebäude mit vielen Nodes ermitteln

mmd wrote:
wambacher wrote:

Und mich fasziniert, dass man in SQL so eine Frage wirklich "menschenlesbar" formulieren kann:

Irgendwie passen da SQL Statement und Ergebnis nicht zusammen.

Jau, hatte die Abfrage noch um die Anzahl der Nodes erweitert aber im Post nicht geändert. sad

select osm_id, ST_NPoints(way) Nodes
from planet_osm_line
where tags ? 'building'
  and st_NPoints(way) > 28
  and osm_id > 0
limit 10;
  osm_id   | nodes 
-----------+-------
 474331748 |   160
 311721806 |    44
 320213337 |    32
 158060142 |    82
 446027610 |    52
  30053239 |    42
 158240906 |    51
 158240902 |    41
 318771315 |    36
 171770694 |    40
(10 Zeilen)

Zeit: 138,815 ms

Gruss
walter

Offline

#12 2019-06-14 13:56:43

geobud
Member
Registered: 2019-04-09
Posts: 11

Re: Gebäude mit vielen Nodes ermitteln

Danke, ihr wart mal wieder großartig!

Offline

#13 2019-06-14 13:56:46

Harald Hartmann
Member
From: 98667 Schönbrunn
Registered: 2014-04-02
Posts: 3,123
Website

Re: Gebäude mit vielen Nodes ermitteln

Muss ich das jetzt eigentlich gut oder eher bedenklich finden, dass die Top 3 gar keine buildings sind und es sich hier um falsches Tagging handelt? roll

Und warum wir das Gebäude hier nicht gerendert? Ist die Linie offen und gar nicht geschlossen? ... ach ja, wegen dem Teilstück hier hmm

Last edited by Harald Hartmann (2019-06-14 14:00:16)


Mein aktives Gebiet: Gemeinde Schleusegrund
Fingerprint meines Schlüssels: 71F7 3CD9 B647 9079 6B88 326E 8B8B 72AE 34F9 5AAD

Offline

#14 2019-06-14 14:02:31

geobud
Member
Registered: 2019-04-09
Posts: 11

Re: Gebäude mit vielen Nodes ermitteln

Ich sehe gerade, dass es sehr viele Falsch-Positive gibt. Auf die Winkelsumme kann man nicht zugreifen, oder?

Offline

#15 2019-06-14 18:44:08

wambacher
Member
From: Schlangenbad/Wambach, Germany
Registered: 2009-12-16
Posts: 16,522
Website

Re: Gebäude mit vielen Nodes ermitteln

Harald Hartmann wrote:

Muss ich das jetzt eigentlich gut oder eher bedenklich finden, dass die Top 3 gar keine buildings sind und es sich hier um falsches Tagging handelt? roll

Ich finde das auch nicht toll. Aber manchmal stolpert man gerade bei so "komischen" Abfragen auf sowas, obwohl man ganz was anderes gesucht hat.

Habe sogar vorher 3 Linestrings "enttaggt", die mehrere hundert Nodes hatten und mit building=yes erfasst waren. Dabei waren das Randlinien einer Riverside der Wolga.

Die Reihenfolge der Teffer ist übrigens unsortiert.

Hier mal eine vollständige Liste mit #Nodes > 100:

  osm_id   | nodes |                                                                                                                    tags                                                                                                                    
-----------+-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 237192522 |   461 | "building"=>"house", "waterway"=>"river"
 223500008 |   324 | "building"=>"yes"
 672139918 |   250 | "highway"=>"track", "building"=>"yes", "tracktype"=>"grade3"
 281164831 |   239 | "name"=>"集成河", "name:en"=>"Jicheng River", "building"=>"yes", "waterway"=>"river"
 220702684 |   238 | "building"=>"yes"
 682076342 |   205 | "building"=>"industrial", "waterway"=>"stream"
 474331748 |   160 | "building"=>"dam", "waterway"=>"dam"
 540521313 |   128 | "highway"=>"tertiary", "building"=>"residential"
 617431148 |   128 | "name"=>"Estrada Parque da Cidadania", "highway"=>"service", "surface"=>"paving_stones", "building"=>"farm", "maxspeed"=>"40", "maxheight"=>"680", "embankment"=>"yes"
 684943154 |   114 | "building"=>"yes", "waterway"=>"stream"
 568611394 |   113 | "ref"=>"SH 39", "name"=>"SH 39", "note"=>"adding name for road and corrected some points--rest is still pending", "oneway"=>"no", "highway"=>"primary", "name:en"=>"Hamirpur Sujanpur Thural Maranda", "building"=>"yes", "maxspeed"=>"40"
 509747928 |   109 | "name"=>"Campel DH", "leisure"=>"track", "surface"=>"unpaved", "building"=>"cycling;Down_Hill"
 640726323 |   105 | "highway"=>"unclassified", "surface"=>"unpaved", "4wd_only"=>"yes", "building"=>"hut"
 534943223 |   104 | "highway"=>"unclassified", "building"=>"yes"
 454863256 |   103 | "layer"=>"-1", "building"=>"yes"
(15 Zeilen)

Last edited by wambacher (2019-06-14 18:45:19)

Offline

#16 2019-06-14 19:19:11

geobud
Member
Registered: 2019-04-09
Posts: 11

Re: Gebäude mit vielen Nodes ermitteln

281164831 (Eintrag 4) habe ich gerade korrigiert.

Hat jemand eine Antwort auf meine Frage nach der Winkelsumme eines Gebäudes? Geht das mit PostGIS?

Last edited by geobud (2019-06-14 19:20:00)

Offline

#17 2019-06-14 20:18:41

maxbe
Member
Registered: 2010-01-19
Posts: 3,161
Website

Re: Gebäude mit vielen Nodes ermitteln

geobud wrote:

Geht das mit PostGIS?

Du suchst kreisförmige Dinge, oder?
Da mir nichts mit PostGis einfällt (ausser Funktion selber schreiben), werfe ich mal in die Knobelrunde, dass bei einem Kreis das Verhältnis der Fläche der bonding box zur Fläche des Kreises PI/4 beträgt (*). Ist vielleicht schneller zu finden, mit ein bisschen Toleranz für nicht so kreisiges...

Grüße
  Max

(*) Bitte nochmal selber nachrechnen...

Offline

#18 2019-06-14 20:53:57

kreuzschnabel
Member
Registered: 2015-07-03
Posts: 6,640

Re: Gebäude mit vielen Nodes ermitteln

maxbe wrote:

(*) Bitte nochmal selber nachrechnen...

Kreis mit Radius 1: A = pi*r² = pi
Bounding Box dazu: Quadrat mit Kantenlänge 2r = 2 ⇒ A = 4

Kommt hin.

--ks

Offline

#19 2019-06-15 06:02:21

fx99
Member
From: Baden-Württemberg
Registered: 2009-06-02
Posts: 1,718

Re: Gebäude mit vielen Nodes ermitteln

Die ersten 3 sind auch korrigiert.

Offline

#20 2019-06-15 10:25:43

maxbe
Member
Registered: 2010-01-19
Posts: 3,161
Website

Re: Gebäude mit vielen Nodes ermitteln

Noch ne Idee mit Postgis: Es gibt die Funktion ST_MinimumBoundingCircle....

Alle Gebäude in dieser Gegend, deren Größe um maximal 5% von ihrem Umkreis abweicht:

select osm_id,name,man_made,st_area(ST_MinimumBoundingCircle(way))/st_area(way) as R from planet_osm_polygon where st_area(ST_MinimumBoundingCircle(way))/st_area(way)<1.05 and building is not null and way && (select way from planet_osm_polygon where osm_id=-2064635);

Liefert:

  osm_id   |       name       |   man_made   |        r         
-----------+------------------+--------------+------------------
 576898722 |                  | storage_tank | 1.02703226092349
 645284545 |                  | storage_tank | 1.02951535121348
 129312148 |                  |              |  1.0342622302009
 186653281 |                  |              | 1.04119216807188
 186653274 |                  |              | 1.04113203816525
 186653263 |                  |              | 1.04175503805747
 186653268 |                  |              | 1.04113800205981
 186653271 |                  |              | 1.04129134030479
 186653292 |                  |              | 1.04182245059669
 199804090 |                  |              | 1.04181849198022
 186653283 |                  |              | 1.04140326016976
 186653291 | Schieberhäuschen |              | 1.04261034024688
 186653267 |                  |              | 1.04150110450429
 186653265 |                  |              |  1.0413843434086
 186653282 |                  |              | 1.04075503313154
 186653293 |                  |              | 1.04056704094713
 186653280 |                  |              |  1.0418082905168
 186653264 |                  |              | 1.04179114871197
 186653275 |                  |              | 1.04148827142288
 186653269 |                  |              | 1.04233014508273
 186653277 |                  |              | 1.04126374699692
 186653279 |                  |              |  1.0417844381092
 186653290 |                  |              | 1.04331963465868
 186653285 |                  |              | 1.04122964026198
 149778579 | Rundturm-Bunker  |              | 1.02364548641092
 149778578 | Rundturm-Bunker  |              | 1.02728601487807
 186653261 |                  |              |  1.0436155381956
 186653276 |                  |              | 1.04104325946826
 186653284 |                  |              | 1.04145239439022
 186653286 |                  |              | 1.04128492098545
 186653273 |                  |              | 1.04177439577881
 186653272 |                  |              | 1.04085308486737
 186653289 |                  |              | 1.02894811283856
 186653288 |                  |              | 1.04222056471343
 186653278 |                  |              | 1.04288833726229
 186653262 |                  |              | 1.04164957263418
(36 rows)

Obs was bringt...? Man findet halt auch runde Pumpenhäuser und Bunker...

Edit: Da war noch eine Abfrage "um 5% größer als der Umkreis" drin, was natürlich Unsinn ist. Wäre die Fläche größer, wärs kein Umkreis.

Last edited by maxbe (2019-06-15 10:45:42)

Offline

#21 2019-06-15 12:41:10

wambacher
Member
From: Schlangenbad/Wambach, Germany
Registered: 2009-12-16
Posts: 16,522
Website

Re: Gebäude mit vielen Nodes ermitteln

Bis auf diesen Way sind alle gefixt. Bei dem bin ich mir nicht sicher was das sein soll. Überbaute Straße in NL?

454863256 |   103 | "layer"=>"-1", "building"=>"yes"

Gruss
walter

Offline

Board footer

Powered by FluxBB