[OSM-dev] Downloading OSM data

Phanindra Kuchipudi phani.800 at gmail.com
Tue Nov 26 06:31:09 UTC 2013


Hi,

Sorry for the late response. Thank you all for your valuable suggestions. I
used the urllib module of python to send the request to XAPI url giving
bounding box coordinates and read the response. When user runs the script,
it prompts the user to enter bbox coordinates and check whether those
entered coordinates in lat/long limits and build the URL like below.
http://www.informationfreeway.org/api/0.6/map?bbox=*x1,y1,x2,y2*
This is working fine. But is is downloading all the data for the given bbox
coordinates. If I want to download only selected elements then I need to
append filter predicates also to the URL.

It would be helpful for me if anyone suggests how to do this by giving GUI
for the script instead of prompting user to enter his selection in the
command prompt. If any automated tools available with user interface also
fine for me.

Thanks
Phanindra


On Fri, Nov 8, 2013 at 8:53 AM, amrit karmacharya <amrit.im at gmail.com>wrote:

> there is an existing library https://launchpad.net/osmxapi
>
>
> On Fri, Nov 8, 2013 at 7:37 AM, Pierre Béland <pierzenh at yahoo.fr> wrote:
>
>> Hi  Phanindra,
>>
>> This is a late answer but I took time to test the solution using the
>> urllib2 module to send a request to a website and extract data. I give you
>> an example with the Overpass API.
>>
>> Using Overpass is a very interesting solution to extract for a bbox and
>> pass the result to Python. It is possible to output in json and then
>> convert easily to Python dictionary objects.  The python script example
>> below uses the urllib2 module to send a request and read the result.
>>
>> The url contains the instructions sent to the Overpass API.  In this
>> example, The nodes that have a name Tag are extracted for the given bbox.
>>
>> In the dictionary, elements contains the list of elements extracted from
>> OSM. The string function  .decode('utf8') let's decode and print correctly
>> the UTF8 characters.
>>
>> Pierre
>>
>> Python script
>>
>> ---------------------------------------------------------------------------------------------------------------------------------------------------
>> import urllib2,urllib,json
>> # space replaced with + sign
>> url='
>> http://overpass.osm.rambler.ru/cgi/interpreter?data=[out:json];(node[name](45.37301118463942,-72.80742645263672,45.416286468478475,-72.71095275878906););out+body
>> ;'
>>
>> try:
>>     print "try request"
>>     overpass_response = urllib2.urlopen(url)
>>     print "info"
>>     print overpass_response.info()
>>     #overpass_response = urllib2.urlopen(url_o)
>> except urllib2.HTTPError as e:
>>     # list of error codes at http://docs.python.org/2/howto/urllib2.html
>>     print('The server couldn\'t fulfill the request.')
>>     print('Error code: ', e.code, responses[e.code])
>>     print urllib2.info()
>> except urllib2.URLError as e:
>>     print('We failed to reach a server.')
>>     print('Reason: ', e.reason)
>> else:
>>     # everything is fine
>>     #overpass_response = open(overpass_request)
>>     #print "apres open"
>>     overpass_txt=overpass_response.read().decode('utf8')
>>     overpass_response.close()
>>     overpass_json = json.loads(overpass_txt)
>>
>>     print "dictionnary elements - we access and print each element of the
>> list"
>>     elements=overpass_json["elements"]
>>     nb=0
>>     for element in elements:
>>         nb+=1
>>         print "\n",nb,"\t",element
>>         print "\t"+element["type"]+", id="+str(element["id"])+",
>> lat="+str(element["lat"])+", lon="+str(element["lon"])
>>         if ("name" in element["tags"]):
>>             print "\tname="+element["tags"]["name"]
>>
>>
>>   ------------------------------
>>  *De :* Phanindra Kuchipudi <phani.800 at gmail.com>
>> *À :* dev at openstreetmap.org
>> *Envoyé le :* Lundi 4 novembre 2013 0h26
>> *Objet :* [OSM-dev] Downloading OSM data
>>
>> Hi,
>>
>> I want to write a python script to download OSM data based on a given
>> bounding box (implementing XAPI).
>> Can anyone help me how to develop this script, and also can you give
>> information on any other scripts available for this downloading
>> functionality?
>>
>> Thanks,
>> Phani
>>
>> _______________________________________________
>> dev mailing list
>> dev at openstreetmap.org
>> https://lists.openstreetmap.org/listinfo/dev
>>
>>
>>
>> _______________________________________________
>> dev mailing list
>> dev at openstreetmap.org
>> https://lists.openstreetmap.org/listinfo/dev
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstreetmap.org/pipermail/dev/attachments/20131126/ae36b936/attachment-0001.html>


More information about the dev mailing list