[Openstreetmap] GPS point submission format
sparkes
sparkes at westmids.biz
Wed Oct 20 09:32:52 BST 2004
Petter Reinholdtsen wrote:
snip
>
> The problem with this approach is the amount of dependencies needed
> (java, mysql, gpsd), and the lack of access control when connecting to
> the central database. To get rid of these problems, I propose a
> system where one submit GPS points by uploading a file to the central
> location, and this file is processed centrally to store the points
> into the central database.
I concur, I had to install java specifically to look at this project and
the person who pointed out the project to me had to do the same as well.
Debian users don't use java that much ;-)
>
> - run gpsd on a laptop connected to your GPS
> - run simple program (perl, c) connecting to gpsd, collecting GPS
> points and storing them as time-stamped files with a sensible file
> format.
> - make simple program (perl, c) uploading files when the laptop is
> able to connect to the central server
agreed your general method is better than the current one but C and
simple program don't really go together ;-) May I suggest Perl or
Python are used for rapid development (and fixing) with excellent
portability. Not that it matters really anyway because my next suggest
might lead to several different ways of adding the data via one clean
interface
>
> This way there is no need for the mysql database nor the java apps for
> submitting data.
>
> For this to work, we need to find a sensible exchange format. It need
> to be able to represent
>
> - GPS points (longitude,latitude,altitude, accuracy)
> - timestamp and/or sequence number
> - annotations/labels
> - info on the submitter (name, email, address, etc)
>
> It should be a clear text format for easy debugging and review, and
> easy to write and parse, to make sure the collecting program can be a
> simple one.
I believe this problem is best served with an xml-rpc or soap interface.
The file uploaded can be a simple xml file (so can be debugged by hand
and modified using any of the tools available to us)
This centralises the database and creates an interface that is easy to
use. an interface like this would also promote cross development with
other projects and inserted and getting information would be easier.
Another poster pointed out a standard method of storing gps points in a
database. May I also suggest that the backend stores the data in this
format for even more portability and cross development.
But, I think the data uploaded shouldn't go direct into the database but
be stored as files stored in a subversion server so it's simple to
remove bogus data or roll back after problems. I expect spam to appear
in the database at somepoint (it took about 2 years for wiki's and blogs
to be hosts for widespread spam but if we plan ahead) and this makes it
a none-problem from the start.
The database can be created periodically from the data stored on the server.
I am suggesting two ways to access the data.
1) the database (like the current one but using the standard storage
protocol)
2) the web services interface (so additions are easy and quick lookups
available)
with the third way being the data stored on the subversion (or cvs) box
that is only really accessed by scripts.
and one simple way to add the data, via the web services.
This removes the current restrictions on the updating and usage of the
data pointed out by Petter and will allow the data to be used in more
open source projects.
>
> Comments?
is that enough ;-)
sparkes
--
<davee> "Sparkes, the Pete Best of LugRadio"
More information about the talk
mailing list