views:

71

answers:

3

I want to create an application where users can mark on map location of polluting factories. Google map provides a MAP editor feature. We would like to have our own website like www.toxic-map.org where people could mark these locations. What would be the best approach for this?

Additionally we should be able to backup this database which could be cross checked or used for other purposes.

This will enable us to have little accurate census of such entities and thereby helping us in the fight against these environment harming, illegal factories. Most of our work is focused on developing countries of Asia.

Edited: Google maps is one of the options. I am open to other possible solutions as well. I am looking at something we could do quick prototyping in.

Thank you in advance!!

+1  A: 

I seem to remember that there are restrictions to what you can do with the coordinates if you enter them through Google's interface, but if that doesn't bother you then sure, Google might be the way to go. (It may just pertain to geometrical figures entered into Google Earth or something like that.)

Google seems to be in line with your ideology anyway, as they're doing a lot of green power development. Might even be a selling point.

But if you can input the data separately and have Google Maps just display it for you then I wouldn't think they could hold claim to the data.

John at CashCommons
Check out Google's licensing terms: in fact when you show data on Google Maps you are giving Google an indefinite license to store, manipulate and reproduce your data anywhere they like worldwide. They say it's just so they can show it in their search results, but the license terms don't have any restriction.
MarkJ
+1  A: 

I think your best bet is to use the Google Maps API instead of the map editor in My Maps.

With some basic JavaScript, you will be able to allow users to drop markers on the polluted locations they would want to tag.

You will need a database on the server-side, and a thin application layer that:

  • Accepts and validates new markers added by users.
  • Serves the markers from the database to the browser.

You may want to use AJAX to interact between the browser and the application layer.

I think this type of project would be an excellent candidate to be hosted on the Google App Engine. You will be able to leverage on the simplicity of the webapp framework, and the Google Datastore appears to fit well.


As a side-note, you might be interested in checking out the Heat Map API for Google Maps. I think heat maps would look good in a project like this.

Daniel Vassallo
+3  A: 

On the client side, I recommend you to have a look at OpenLayers, a free and open source web mapping framework released under a BSD-style License. It is completely written in Javascript and offers a lot of functionality, including the features that your application may need (Add markers to the map, drag them to adjust the locations, ...).

It also supports dozens of different geographic data formats and services such as WMS, KML or Google Maps.

If you are worried about licensing issues regarding the use of Google Maps, you can use other global data sources like OpenStreetMap or a public WMS if they provide enough coverage of your area of interest.

On the server side, I agree with the answer provided by Daniel Vassallo. I will just add a little detail and recommend you to serve the markers in a standard format natively supported by OpenLayers like KML, GeoJSON or GeoRSS. It will make really easy to draw the markers on the map.

Looks like a really interesting project, I hope you are lucky starting it up.

amercader
+1 for suggesting OpenStreetMap
Kimvais