x

Re: letzte 100 records ausfiltern - die nach bestimmten timestamp kamen


Geschrieben von tagtheworld (Gast) am 12. Juli 2014 23:36:00: [flux]

Als Antwort auf: letzte 100 records ausfiltern - die nach bestimmten timestamp kamen geschrieben von tagtheworld (Gast) am 02. Juli 2014 18:34:

hallo Klaus, - vielen Dank für deine Antwort ;-)

neu - ein update: siehe unten!

vorweg: bin an vrschiedenen Techniken interessiert - einfach mal auch aus technischer Sicht.

hab mit Ruby, Python, PHP Ansätzen Versuche gemacht,

Darüber hinaus mit dem Overpass-API und natürlich auch mit osmconvert - siehe unten. Was ich am Ende auch erreichen will, ist ein ein Speichern in MySQL DB oder auch in einer PostgreSQL

- das koennte ja auch über XML LOAD File ( http://dev.mysql.com/doc/refman/5.5/en/load-xml.html )

An Perl hab ich mich bislang noch nciht so rangetraut. Denk aber dass Dein opaquery.pl echt klasse ist - und sehr leistungsfähig. Werde in der kommenen Woche mal ein paar Versuche damit machen.

Denke dass ich opaquery.pl sehr sehr gut dazu einsetzen kann - die Abfragen sehr detailiert zu stellen und auch die Anbidung an die DB gut herstellen zu koennen.-...

wget http://download.geofabrik.de/europe/bel … st.osm.pbf
./osmconvert belgium-latest.osm.pbf -o=belgium.o5m
./osmfilter belgium.o5m --keep="amenity=school" -o=belgium-schools.o5m
./osmconvert belgium-schools.o5m --all-to-nodes -o=belgium-schools_nodes.o5m
./osmfilter belgium-schools_nodes.o5m --keep="amenity=school" -o=belgium-schools-results.o5m
./osmconvert belgium-schools-results.o5m --csv="@id @lon @lat name addr:street addr:housenumber addr:city website email" --csv-headline -o=belgium-schools-results.csv

ich meld mich wieder.

LG matze

update:

hallo - habe einige Test gefahren.

das ist echt klasse: http://www.easyclasspage.de/maptools/seite-2.html

man kann sehr sehr viel einstellen...
Es kommt in der Leistungsfähigkeit sehr sehr den Ideen u. Absichten nahe - mittels einer Toolchain auch die DATEN weiterzuverarbeiten.

- mysql- oder postgresql
z.B mit DBI und XML::Twig;

Sehr gut finde ich dass man viel einstellen kann. Timeout u vieles andere mehr.

osm request:


Timestamp .....: Sun Jul 13 16:50:22 2014 (localtime)
Timestamp .....: Sun Jul 13 14:50:22 2014 (gmtime)
Configuration .: cfgfile = opaQuery.cfg (found)
Configuration .: display_response = 1
Configuration .: terminal_encoding = cp850 (expected)
Configuration .: file_encoding = utf8
Configuration .: http_proxy =
Configuration .: http_timeout = 190
System ........: OSNAME = linux
System ........: PERL_VERSION = v5.18.1
Application ...: name = opaQuery.pl
Application ...: release = 0.4 - 2012/10/06
Overpass QL ...: way [amenity=school] (newer:'2014-05-01T13:30:00Z') (42, -5, 51, 8); out meta;
Service URI ...: http://overpass-api.de/api/interpreter?data=way+%5Bamenity%3Dschool%5D+(newer%3A'2014-05-01T13%3A30%3A00Z')+(42%2C+-5%2C+51%2C+8)%3B+out+meta%3B

osm response:


http status ...: 200 OK

headers .......:
Connection: close
Date: Sun, 13 Jul 2014 14:50:22 GMT
Server: Apache/2.2.22 (Ubuntu)
Vary: Accept-Encoding
Content-Type: application/osm3s+xml
Client-Date: Sun, 13 Jul 2014 14:52:14 GMT
Client-Peer: 5.9.7.85:80
Client-Response-Num: 1
Client-Transfer-Encoding: chunked

Eine Frage: Sieht man hier die jeweiligen Timestamps der Bearbitung:

<way id="5024397" version="3" timestamp="2014-05-22T14:25:48Z" changeset="22486812" uid="187752" user="FVig">
</way>
<way id="5026852" version="10" timestamp="2014-05-12T12:35:47Z" changeset="22290014" uid="607399" user="ehm1806">
<way id="5026862" version="12" timestamp="2014-05-12T12:40:08Z" changeset="22290014" uid="607399" user="ehm1806">
<way id="9520368" version="9" timestamp="2014-07-04T13:57:08Z" changeset="23951470" uid="860575" user="MarcelHerault">
<way id="9653742" version="13" timestamp="2014-05-09T19:58:41Z" changeset="22238669" uid="40611" user="Stereo">
<way id="11391859" version="8" timestamp="2014-05-22T20:22:50Z" changeset="22493243" uid="607399" user="ehm1806">
<way id="16175055" version="7" timestamp="2014-07-11T12:38:02Z" changeset="24081614" uid="210173" user="osmmaker">
<way id="19792693" version="6" timestamp="2014-07-11T12:38:04Z" changeset="24081614" uid="210173" user="osmmaker>

das ist sehr interessant !!!!!! Hab schon einige Abfragen gemacht - mit en unterschiedlichsten Tools - aber so einen ausdrücklichen Timestamp hab ich noch nicht gesehen.
Toll dass der mitgeliefert wird. Muss man denn besonderes machen, damit der mit erscheint!?, damit der mit ausgegeben wird. Ist das eine Spezialität von opaquery.pl!?

Wenn das ganz individ. Timestamps sind - die für die Einträge jewieils vergeben werden - dann sind die für mich sehr sehr wichtig
Die will ich auch mit in die DB übernhehmen.

Du klaus sagst

Diese overpass-Abfrage gibt dir alle Wege mit dem Tag "amenity = school" die nach dem "2014-05-01" bearbeitet (erfaßt, geändert) wurden:
perl opaQuery.pl "way [amenity=school] (newer:'2014-05-01T13:30:00Z') (50.7, 7.1, 50.8, 7.2); out meta;"

Das ist sehr sehr gut

update 2

die oben erwähnten Abfragen ergebn ein DATENSET wie hier gezeigt: - Das will ich nun in eine DB übergeben....

BTW: hier in dem nachfolgenden Link sieht man es etwas besser http://pastebin.com/mq5kAHyy - da ist ein groesserer DATENAUSSCHNITT sichtbar

</way>
<way id="292712179" version="1" timestamp="2014-07-14T11:29:26Z" changeset="24138442" uid="626239" user="FranoiseR">
<nd ref="2962460710"/>
<nd ref="2962460709"/>
<nd ref="2962460708"/>
<nd ref="2962460707"/>
<nd ref="2962460706"/>
<nd ref="2962460703"/>
<nd ref="2962460704"/>
<nd ref="2962460705"/>
<nd ref="1923686106"/>
<nd ref="2962460712"/>
<nd ref="2962460713"/>
<nd ref="2962460719"/>
<nd ref="2962460720"/>
<nd ref="1923686117"/>
<nd ref="1923686120"/>
<nd ref="832922814"/>
<nd ref="2962460710"/>
<tag k="amenity" v="school"/>
<tag k="name" v="cole maternelle Saint-Joseph Les Micocouliers"/>
<tag k="ref:UAI" v="0132189J"/>
<tag k="school:FR" v="maternelle"/>
<tag k="source" v="data.gouv.fr:Ministre de l'ducation nationale, de la Jeunesse et de la Vie associative - 05/2012"/>
</way>
<way id="292712180" version="1" timestamp="2014-07-14T11:29:26Z" changeset="24138442" uid="626239" user="FranoiseR">
<nd ref="2962460714"/>
<nd ref="2962460715"/>
<nd ref="2962460717"/>
<nd ref="833156863"/>
<nd ref="2962460721"/>
<nd ref="1923686120"/>
<nd ref="833208582"/>
<nd ref="832922814"/>
<nd ref="2962460718"/>
<nd ref="2962460710"/>
<nd ref="2962460714"/>
<tag k="amenity" v="school"/>
<tag k="name" v="cole primaire Saint-Joseph Les Micocouliers"/>
<tag k="ref:UAI" v="0132192M"/>
<tag k="school:FR" v="lmentaire"/>
<tag k="source" v="data.gouv.fr:Ministre de l'ducation nationale, de la Jeunesse et de la Vie associative - 05/2012"/>
</way>
<way id="292720117" version="2" timestamp="2014-07-14T12:34:27Z" changeset="24139706" uid="1959576" user="mont1">
<nd ref="2780077861"/>
<nd ref="2962532368"/>
<nd ref="2780077868"/>
<nd ref="2780077861"/>
<tag k="amenity" v="school"/>
<tag k="name" v="cole Maternelle Publique"/>
<tag k="ref:UAI" v="0311679G"/>
<tag k="school:FR" v="maternelle"/>
<tag k="source" v="data.gouv.fr:Ministre de l'ducation nationale, de la Jeunesse et de la Vie associative - 05/2012"/>
</way>
<way id="292720198" version="1" timestamp="2014-07-14T12:34:28Z" changeset="24139707" uid="2175149" user="hesdrib">
<nd ref="2962537963"/>
<nd ref="2962537964"/>
<nd ref="2962537965"/>
<nd ref="2962537966"/>
<nd ref="2962537963"/>
<tag k="amenity" v="school"/>
<tag k="name" v="Ecole d'Xhoffraix"/>
</way>
<way id="292728376" version="1" timestamp="2014-07-14T13:27:36Z" changeset="24140524" uid="436930" user="StevePO16">
<nd ref="2962601262"/>
<nd ref="2962601265"/>
<nd ref="2962601261"/>
<nd ref="2962601264"/>
<nd ref="2962601263"/>
<nd ref="2962601262"/>
<tag k="amenity" v="school"/>
<tag k="name" v="St Pauls RC Primary School"/>
</way>
<way id="292730201" version="1" timestamp="2014-07-14T13:39:45Z" changeset="24140963" uid="251029" user="Voidoid">
<nd ref="2962615920"/>
<nd ref="2962615921"/>
<nd ref="2962615922"/>
<nd ref="2962615923"/>
<nd ref="2962615924"/>
<nd ref="2962615925"/>
<nd ref="2962615926"/>
<nd ref="2962615927"/>
<nd ref="2962615928"/>
<nd ref="2962615920"/>
<tag k="amenity" v="school"/>
<tag k="name" v="IES Esteban Manuel de Villegas"/>
</way>

</osm>

hier sieht man es etwas besser http://pastebin.com/mq5kAHyy - da ist ein groesserer DATENAUSSCHNITT sichtbar

Das will ich nun in eine DB übergeben....

update: btw - zur overpass-api ql - vgl. hier http://wiki.openstreetmap.org/wiki/Over … verpass_QL

By date of change (changed)

The changed filter selects all elements that have been changed between the two given dates. If only one date is given, then the second is assumed to be the front date of the database. If only one date is given and it is run with the current timestamp, then it behaves exactly like "newer" with two exceptions: first, it is faster, second, it can also stand as the only filter.

It has no input set. As for all filters, the result set is specified by the whole statement, not the individual filter.

It consists of an opening parenthesis. Then follows a date specification. Please note that this date specification cannot be abbreviated and has to be put in single or double quotes. Then can follow a comma and a second date specification. The filter ends with a closing parenthesis.

Example: All changes since the given date and now

node._(changed:"2012-09-14T07:00:00Z");

Example: All changes between the two given dates

node._(changed:"2012-09-14T07:00:00Z","2012-09-14T07:01:00Z");

das ist toll dass ich das machen kann....