Take the 2-minute tour ×
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

I'm wondering about the best strategy to incorporate user comments and user added points to a map. The best example that I can find of this is ushahidi with an example of how users can add information here:

enter image description here

I understand how to create this through the use of a web-form and a WFS-T type approach so that a user can add a point which can be stored in a postgresql/postgis database. Where I would appreciate advice is on a good strategy for displaying user-generated data back to the users, so that additional comments and interactions can be achieved.

I've looked through the source code of ushahidi and find it more sophisticated than I can handle at the moment. Are there any other examples or approaches of collaborative web-maps out there that illustrate good ways of doing this?

share|improve this question

5 Answers 5

up vote 1 down vote accepted

Where I would appreciate advice is on a good strategy for displaying user-generated data back to the users, so that additional comments and interactions can be achieved.

I think a good strategy would be to copy the most successful social sites like Facebook, Twitter, Flickr, etc: when logging in they make sure you always have fresh content to look at either by showing data that they have expressly chosen to view (like contacts' activity or Facebook's Timeline), or by pushing similar/sponsored content (like Tw).

Alternatively you could show the user's most recent activity, but that works only if the user is already active.

Are there any other examples or approaches of collaborative web-maps out there that illustrate good ways of doing this?

Warning: shameless plug ahead.

For the last year I've been working on a project where users are allowed to tag, comment and star features server over WMS/WFS. They are not allowed to create/edit features (because I chose so).

The architecture is not very complicated (at least in theory):

  • the app fetches the capabilities document of a WMS server (currently Geoserver)
  • layers found in the document are added to the map and the user can toggle them at will
  • the app will activate tags, comments and stars on layers whose features have an ID attribute
  • these 'social' metatadata are stored on a separate postgresql server
  • users can select a tag in the tag cloud and be shown features with that tag (see img below, notice the ugly green dots on Illinois, Michigan and Indiana)

I have not had time to work on the Timeline features that I mentioned in the previous para, but I intend to start working on them asap.

I can elaborate if you want, just let me know in the comments.

enter image description here

share|improve this answer

After asking this question, I just learned about a new project from OpenPlans that does exactly what I need called Shareabouts. There is a functioning demo here. enter image description here

Assuming I can figure out how to use the source code this is a perfect solution for my purposes.

share|improve this answer

There are a few ways that come to mind. You could use the OpenGeo SKD suite or GeoNode and then create a custom openlayers/SDK map that allows users to draw points and add attributes to the points, in your case one attribute would be 'description'.

Or you could create a CartoDB table, again with an attribute 'description' you could then make a map of the CartoDB data using leaflet, openlayers or google maps api. Then with a bit of JavaScript write up a form that creates a REST POST to the Cartodb table.

Maybe an even more simple (but defiantly more limited) option would be to create a Google fusion table, render some points to a google map. Then create a google form that creates a new recored in the table for each form entry.

keep us posted on your progress!

Ben

share|improve this answer

Here is a good idea that was implemented 2 years ago.

Ben Marsh created the #UKsnow map - where for a datasource users tweeted the snow factor (0 to 10 on the amount of snow falling) - and town name or UK postcode, he would use the twitter api and geocode the position.

enter image description here

http://uksnowmap.com/#/

but only really comes into action for 3-4 days (if any) a year when the UK gets wet snow.

share|improve this answer

Here is a strategy from Mapbox which uses Google Docs and Google Forms, which might help:

someone ... fills out information about it into a web form. The data is then stored in a Google Doc spreadsheet. We use the Google Spreadsheet Data API and the MapBox JavaScript API to plot the reports on a custom MapBox map as part of a live visualization. When new reports come in, they show up on the map immediately.

The use of Google Docs (instead of PostGIS) might help to make the "additional comments and interactions" bit easier, eg if you made the document editable by registered users, etc.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.