[OSM-dev] Inserting OSM data
Andreas Höschler
ahoesch at smartsoft.de
Tue Apr 6 11:00:11 BST 2010
Hi all,
>> The ideal solution for use would be to send a WAY segment in OSM
>> format to some service and receive a response with the IDs for the
>> created way and the created nodes! But I understand this is not
>> supported due to the obvious merging problem (avoid duplicates)!?
>
> With the API, you can upload new nodes/ways/relations, fetch the
> existing ones, and update the existing ones (uploading a changeset).
>
> The problem is that you might upload a new way that overlaps an
> existing OSM way. Either you upload it and merge with OSM tools, or
> you download the OSM data in the neighborhood, check if it overlaps,
> and update your data with the already-existing OSM data, etc etc.
We are now about to implement the <our system> --> public OSM server
filter and as a first measure would like to simply upload GPS traces
generated by our employees. We have the trackpoints in our database. We
can easily generate a gpx file from that
<?xml version="1.0" encoding="UTF-8"?>
<gpx version="1.0" creator="OpenStreetMap.org"
xmlns="http://www.topografix.com/GPX/1/0/">
<trk>
<trkseg>
<trkpt lat="53.28473" lon="10.382721"/>
<trkpt lat="53.284677" lon="10.383027"/>
<trkpt lat="53.284665" lon="10.383144"/>
<trkpt lat="53.284638" lon="10.383407"/>
...
</trkseg>
</trk>
</gpx>
and now are looking for a way to programmatically upload that to the
OSM server for the community to review the data and conversion into
actual ways and nodes. We plan to use a system() call from our
application and execute the following command
curl -v -v -d @tracks.gpx -H "X_HTTP_METHOD_OVERRIDE: POST"
"http://api.openstreetmap.org/api/0.6/gpx/create"
but I assume that the above command is not entirely correct!? I
especially not understand the "It expects the following POST parameters
in a multipart/form-data HTTP message:" part on
http://wiki.openstreetmap.org/wiki/API_v0.6. How has the above command
line to be modified to work?
In a later step we want to add functionality to our system that allows
our users to directly create nodes and ways on the public OSM server
but this requires a bunch of problems to be solved first. FOr now we
would like to stick to uploading traces. How can this best be done from
a unix application?
Thanks a lot,
Andreas
More information about the dev
mailing list