[Talk-de] autobug / is_in
Florian Lohoff
flo at rfc822.org
Fr Nov 7 10:33:30 UTC 2008
On Fri, Nov 07, 2008 at 07:37:31AM +0100, Holger Issle wrote:
> Moin Sascha,
>
> On Thu, 6 Nov 2008 15:00:23 +0100, Sascha Silbe wrote:
>
> > Klingt sinnvoll. Wie genau würdest Du die Nodes auswählen? BBox um den
> > Kreis Tübingen?
>
> Genau das war meine Idee, mit dem xapi link auf der autobug-Seite.
> Wobei die bbox irrelevant ist, wenn wir die tools auf irgendeine
> Wiki-Seite stellen, wo die ein jeder nutzen kann. Weil: Alleine
> richten wir das nie in Deutschland.
Na so viel ists nu auch nicht - in NRW siehts mittlerweile ganz gut aus.
Gibt noch einige inkonsistenzen mit Düsseldorf vs Regierungsbezirk
Düsseldorf aber da mache ich jeden tag ein bischen.
Ich habe mir ein paar script gebaut mit der ich ein paar nodes in der
datenbank selektiere die bestimmte inkonsistenzen aufweisen z.b. Köln
aber nicht Regierungsbezirk - Dann hole ich mir aus der api einfach alle
nodes - packe das aneinander in ein valides .osm xml und bearbeite das
im JOSM.
So kommt man auf 2-300 nodes/h die man repariert bekommt ;)
Hier das shell script fuer die node holerei - wenn man denn die node_id
hat:
flo at lifebook:~/bin$ cat getnodes
#!/bin/sh
echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
echo "<osm version=\"0.5\" generator=\"getnodes\">"
for i in $*; do
wget -q -O /tmp/tempfile.1 http://www.openstreetmap.org/api/0.5/node/$i
sed -ne </tmp/tempfile.1 '/^.osm/,/^..osm/ { /^.osm/d; /^..osm/d; p; }'
done
echo "</osm>"
So hole ich dann die node_id aus meiner mirror db:
osm> select * from node_tags where k = 'is_in' and (v like '%Köln%' ) and v not like '%Regierungsbezirk%' and node_id in (select node_id from node_tags where k like 'place') limit 10;
node_id | k | v
-----------+-------+----------------------------------------------------------------------------
240096286 | is_in | Kreis Heinsberg,Köln,Nordrhein-Westfalen,Bundesrepublik Deutschland,Europe
277139672 | is_in | Köln,Nordrhein-Westfalen,Bundesrepublik Deutschland,Europe
277081722 | is_in | Köln,Nordrhein-Westfalen,Bundesrepublik Deutschland,Europe
277081397 | is_in | Köln,Nordrhein-Westfalen,Bundesrepublik Deutschland,Europe
277081068 | is_in | Köln,Nordrhein-Westfalen,Bundesrepublik Deutschland,Europe
277080808 | is_in | Köln,Nordrhein-Westfalen,Bundesrepublik Deutschland,Europe
277079808 | is_in | Köln,Nordrhein-Westfalen,Bundesrepublik Deutschland,Europe
277076844 | is_in | Köln,Nordrhein-Westfalen,Bundesrepublik Deutschland,Europe
277074018 | is_in | Köln,Nordrhein-Westfalen,Bundesrepublik Deutschland,Europe
277071458 | is_in | Köln,Nordrhein-Westfalen,Bundesrepublik Deutschland,Europe
das ganze dann mit ein bischen awk
~/bin/getnodes `cat export | awk '{ print $1 }'` >~/Desktop/nodes.osm
Und schon kann es losgehen ...
Ich hatte schonmal drueber nachgedacht das http maessig zu automatisieren
d.h. ein cgi script was man mit einem suchpattern fuettern kann was dann
die entsprechenden nodes zusammensucht und nen osm.xml rauswirft ...
Flo
--
Florian Lohoff flo at rfc822.org +49-171-2280134
Those who would give up a little freedom to get a little
security shall soon have neither - Benjamin Franklin
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname : signature.asc
Dateityp : application/pgp-signature
Dateigröße : 189 bytes
Beschreibung: Digital signature
URL : <http://lists.openstreetmap.org/pipermail/talk-de/attachments/20081107/dd64b9fc/attachment.sig>
Mehr Informationen über die Mailingliste Talk-de