[OSM-talk-be] Export database

Marc Gemis marc.gemis at gmail.com
Fri Aug 8 07:05:40 UTC 2014


Voor de "leken": De Overpass taal heeft 2 varianten. XML (zoals in het
voorbeeld achter mijn link) en dewelke Jo in zijn voorbeeld aanhaalt.
Je kan met beiden hetzelfde doen. De voorbeelden in de documentatie tonen
gewoonlijk de oplossing in beide varianten.
Ergens bij de links onder  http://overpass-api.de/ is/was er een convertie
tooltje

voor de rest is het persoonlijke voorkeur. De wizard op overpass turbo
genereert altijd XML dacht ik
m


2014-08-08 8:19 GMT+02:00 Jo <winfixit at gmail.com>:

> Dit is de query die ik gebruik om alles wat met openbaar vervoer te maken
> heeft te downloaden voor Belgiƫ:
>
> [timeout:900];
>> //area["name:nl"~"Vlaams-Brabant|Antwerpen|..st-Vlaanderen"] -> .VBAntw;
>> //area["alt_name:nl"="Belgisch Limburg"] -> .Limb;
>> area["name:en"="Belgium"] -> .BE;
>>
>> (
>>   //node(area.VBAntw);
>>   //node(area.Limb);
>>   node(area.BE);
>> ) -> .allnodesinArea;
>> (
>>   rel(bn.allnodesinArea)
>>     ["type"="route"]
>>     ["route"~"bus|tram"]
>>   ->.routes;
>>   .routes << ->.route_masters;
>>   (
>>     node.allnodesinArea
>>       ["highway"="bus_stop"]
>>     ->.stops;
>>     node.allnodesinArea
>>       ["amenity"="bus_station"]
>>     ->.busstations;
>>     node.allnodesinArea
>>       ["railway"="tram_stop"]
>>     ->.tstops;
>>     node.allnodesinArea
>>       ["public_transport"]
>>     ->.platforms;
>>     node
>>       ["highway"="bus_stop"]
>>       ["operator"~"De Lijn|TEC|STIB|MIVB"];
>>     node
>>       ["railway"="tram_stop"]
>>       ["operator"~"De Lijn|TEC|STIB|MIVB"];
>>     node
>>       ["public_transport"="platform"]
>>       ["operator"~"De Lijn|TEC|STIB|MIVB"];
>>   ) -> .stopsPlatformsAndStopPositions;
>>   (
>>     way(bn.allnodesinArea)
>>       ["highway"="bus_guideway"];
>>     way(bn.allnodesinArea)
>>       ["railway"="tram"];
>>   ) ->.tracks;
>>   way(bn.allnodesinArea)
>>     ["amenity"="shelter"]
>>     ["shelter_type"="public_transport"]
>>   ->.shelters;
>>   node(w.shelters);
>>   node.allnodesinArea
>>     ["amenity"="shelter"]
>>     ["shelter_type"="public_transport"]
>>   ->.shelternodes;
>>   node(r.routes);
>>   way(bn)->.parentways1;
>>   node(w.parentways1);
>>   rel(bw.parentways1);
>>   way(r.routes);
>>   node(w);
>>   way(bn.stopsPlatformsAndStopPositions);
>>   rel(bn.stopsPlatformsAndStopPositions)
>>     ["type"="public_transport"]
>>   -> .stopAttributes;
>>   node(r.stopAttributes);
>>   way(r.stopAttributes);
>>   node(w);
>>   node(w.tracks);
>> );
>> out meta;
>>
>
>
> Door die laatste lijn met out meta; te wijzigen, kan je het outputformaat
> aanpassen. Met out meta krijg je een bestand dat ik JOSM bewerkt kan
> worden. Je zal even in de documentatie moeten gaan kijken en wat knutselen
> om het een en ander aan elkaar te knopen.
>
> Veel plezier! :-)
>
> Jo
>
>
> Op 8 augustus 2014 08:14 schreef Jo <winfixit at gmail.com>:
>
> Ik gebruik dit om zo'n Overpass script vanaf de commandolijn te laten
>> uitvoeren:
>>
>> date /T
>>
>> cd "C:\data\OSM\Overpass API queries\"
>>
>> "C:\Program Files (x86)\GnuWin32\bin\wget.exe" --timeout 0
>> --header="accept-encoding: gzip" -O "PT.osm.zip" --post-file="PT.overpass" "
>> http://overpass-api.de/api/interpreter"
>> rem "http://overpass.osm.rambler.ru/"
>>
>> "C:\Program Files\7-Zip\7z.exe" e -y "PT.osm.zip" PT.osm
>>
>> Je moet dan wel nog wget en eventueel 7zip installeren en eventueel
>> aanpassen als je het liever op Linux wil laten werken.
>>
>> Jo
>>
>>
>> Op 8 augustus 2014 08:06 schreef Marc Gemis <marc.gemis at gmail.com>:
>>
>> Hierbij denk ik onmiddellijk aan Overpass API. Deze afzonderlijke
>>> databank is net ontworpen voor dit soort vragen.
>>> De API kan aangestuurd worden via http, dus met wget in een shell-script
>>> kan je het automatiseren. Je kan ook nog het output formaat controleren
>>> zodat je een geoJson, csv file, kml-file etc kan verkrijgen.
>>> Je hoeft dan ook zelf geen databank te installeren op je lokale computer.
>>>
>>>
>>> Nu is het nog de kunst van juiste query te schrijven.
>>>
>>> waarschijnlijk komt deze http://overpass-turbo.eu/s/4uo  al dicht in de
>>> buurt.
>>> Je kan nog wel de bbox wijzigen, i.e. de door jouw gewenste invullen.
>>> Met de query achter de link krijg je die van het huidig zichtbare gebied
>>>
>>> een stukje resultaat:
>>>
>>>  {
>>>   "type": "node",
>>>   "id": 26355164,
>>>   "lat": 51.1943524,
>>>   "lon": 4.4329972,
>>>   "tags": {
>>>     "is_in":
>>> "Antwerpen,Antwerpen,Antwerpen,Antwerpen,Antwerpen,Antwerpen,Vlaanderen,Vlaanderen,Belgique,Belgique,Europe",
>>>     "is_in:continent": "Europe",
>>>     "is_in:country": "Belgium",
>>>     "is_in:province": "Antwerp",
>>>     "name": "Berchem",
>>>     "openGeoDB:auto_update": "population,is_in",
>>>     "openGeoDB:is_in":
>>> "Antwerpen,Antwerpen,Antwerpen,Antwerpen,Antwerpen,Antwerpen,Vlaanderen,Vlaanderen,Belgique,Belgique,Europe",
>>>     "openGeoDB:is_in_loc_id": "35166",
>>>     "openGeoDB:layer": "7",
>>>     "openGeoDB:loc_id": "32590",
>>>     "openGeoDB:name": "Berchem,Berchem",
>>>     "openGeoDB:postal_codes": "2600",
>>>     "openGeoDB:sort_name": "BERCHEM",
>>>     "openGeoDB:type": "100600000",
>>>     "openGeoDB:version": "0.2.6.11 / 2007-12-04 /
>>> http://fa-technik.adfc.de/code/opengeodb/dump/",
>>>     "opengeodb:lat": "51.1938696",
>>>     "opengeodb:lon": "4.4343218",
>>>     "place": "town",
>>>     "postal_code": "2600",
>>>     "website": "http://www.berchem.be",
>>>     "wikipedia": "nl:Berchem (Antwerpen)"
>>>   }
>>>
>>>
>>> overpass turbo is een interactive site. De query die je links ziet kan
>>> je via wget ook doorsturen naar de overpass api URL, zal je zelf even in de
>>> documentatie op  http://overpass-api.de/ moeten opzoeken.
>>>
>>> hopelijk zet dit je een beetje op de goede weg
>>>
>>> met vriendelijke groeten
>>>
>>> m
>>>
>>>
>>> 2014-08-08 7:57 GMT+02:00 Karel Adams <fa348739 at skynet.be>:
>>>
>>> Ik zou graag, voor een gebied afgebakend per coordinaten (bv van 2 OL to
>>>> 6 OL en van 49 NB tot 52 NB) een lijst bekomen van steden/gemeenten met hun
>>>> naam, coordinaten, en een indicatie van de grootte. Wat is de beste manier
>>>> om dit uit de OSM-database uit te halen, liefst op een automatiseerbare
>>>> manier ttz vanuit een shellscript? Is er een manier om een sql-statement op
>>>> de database te lanceren? Als ik de beheerder was, ik zou dat niet zomaar
>>>> toelaten...
>>>>
>>>> Aandachtspunten zijn
>>>> -) de server(s) niet meer belasten dan nodig
>>>> -) enkel de gewenste informatie ophalen, bv. niet de volledige data
>>>> voor een bepaald gebied want daar zit maar enkele % "nuttige" informatie in.
>>>>
>>>> Ik zie dingen als "Overpass API", Planet OSM", "Geofabrik"... Wie raadt
>>>> me wat aan?
>>>>
>>>> Bij voorbaat dank,
>>>>
>>>> _______________________________________________
>>>> Talk-be mailing list
>>>> Talk-be at openstreetmap.org
>>>> https://lists.openstreetmap.org/listinfo/talk-be
>>>>
>>>
>>>
>>> _______________________________________________
>>> Talk-be mailing list
>>> Talk-be at openstreetmap.org
>>> https://lists.openstreetmap.org/listinfo/talk-be
>>>
>>>
>>
>
> _______________________________________________
> Talk-be mailing list
> Talk-be at openstreetmap.org
> https://lists.openstreetmap.org/listinfo/talk-be
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstreetmap.org/pipermail/talk-be/attachments/20140808/eeb571c3/attachment.htm>


More information about the Talk-be mailing list