From OpenStreetMap Wiki
Jump to navigation Jump to search

LocateServices is a website content management system for community annotation of GIS datasets. It is primarily aimed at lists of points of interest with rough positional data. LocateServices can import this data (in CSV format) and enable web 2.0 style comments and improvements. The data and annotations can be then exported (in XML format) for further use. The system also has tools to help validate the content of OSM.

LocateServices is implemented in PHP and SQLite and can be accessed though a standard web browser. The code is licensed under Simplified BSD.

Any comments, please contact TimSC


Download the code [1]

Upload to a web host that supports PHP and SQLite.

sftp username@nightshade.toolserver.org
cd public_html/
cd locateservices
put locateservices*.bz2

Extract the downloaded file. I rename the resultant folder to "library" because in this guide, we will import a library dataset. Set the permissions to writable by the web server.

ssh username@nightshade.toolserver.org
cd public_html/
cd locateservices
tar xvf locateservices*.tar.bz2  
chmod a+rw -R locateservices
mv locateservices library
rm locateservices*.bz2 

On your web browser, go to the page. Click on "admin", enter an initial admin password and press submit.

Click on "import dataset" on the admin page.

We now need the initial data set to be formatted before upload to the web page. This can be achieved by most spreadsheet packages. The formatting requirements are:

  • It must be CSV formatted
  • The separator character must be a comma. Sometimes semi-colons are seen in CSV files but this will not work. In Calc, you may need to go to "File", "Save as..." and enable "edit filter settings".
  • The first row must be the column names.
  • The rows (other than the first column) represent a single record
  • At least one column must contain a unique ID for each row.
  • At least one column must contain a human readable name of the record (typically the name of the service to be located).

An example file (based on a KCC Open Government Library data set) is available.

On the website, click "browse" on the "import dataset" page. Select the CSV file. Press submit on the web page.

The website will ask you to specify which column is the unique ID and which is the record name. In the library file, the name column is "LIBRARY" and the unique ID column is REF. Press submit. The website will report how many records were imported.

Initial positions of each record should be set. They can come from three sources:

  • Latitudes and Longitudes (in decimal format, WGS84)
  • UK Post Codes
  • UK OS Eastings and Northings (which is similar to, but not formatted like an OS map reference.)

Link the link to "set" initial positions. Or go back to the main admin page and click on "set initial positions".

If you are UK based, it may be useful to enable the accelerated OSTN02 transform. See the web page for details of this. This greatly speeds up the coordinate transform process.

Select the position data you want to import and which columns contain the data. For the library data, we use "UK OS Eastings and Northings". The Easting column is called "X_COORD". The Northings column is called "Y_COORD". Press "submit" and cross your fingers.

Click on "explore" to get to the web site front page. Hopefully you see a map with your POIs overlayed.

Click on "admin" and change the site name, license terms and links as required. Basic HTML knowledge is helpful here.

Change the graphics by editing the file "var/titlegraphic.jpg"

Register your installation on the OSM wiki (on this page, for now).

Generate new recaptcha keys and enter them into the admin settings page. (Not sure if this is really necessary.)

All done!

Current Installations

Kent, UK

  • This was retired Jan 2013. Results are here.


None yet...