Collaborative mapping and access controls

    How to have a web interface where users could not only have a look at thematic maps but also edit (add/modify/delete) geographical data according to their rights ? For instance imagine the team A which works for the nature conservation and the team B whose leisure is the hunting. Both teams are interested in natural surveys and share some of the results through a web mapping application, but some informations should remain inside each team.
In order to develop such an application in Makina Corpus, we made the choice of using a CMS (Content Management System) well-known for its good users management : Plone. This way each data is part of a content type. Geographical data are only content with some attributes : the coordinates. So contents could be georeferenced.
    When the user completed the form for adding for instance a fence, Plone store all the informations needed for characterizing the fence and, thanks to the collective.geo suite (kml, geoggrapher, mapwidget..., plone.org/products/collective.geo), the fence coordinates are not only stored, but also mapped.

Exemple of fence's mapping :
     So now each data could be interactively georeferenced on an Openlayers interface, how could we gather data of the same type into one layer as it always do in GIS mapping ?
     First of all we create collections with Plone : all contents matching with some criteria will be automatically sorted by Plone and save as one object.
     The next step is to convert informations contained inside a collection into a format readable by Openlayers like KML or GeoJSON. We choose to create GeoJSON because it allow us to add all the informations we want (inside the properties field) and also because it's lighter than KML to load.
     Last step is to create a mapcontent in Plone and write the javascript code for mapping the layers described inside our GeoJSON. Of course each layer could be styled, popup could be added for each features …
 
Exemple of mapcontent with two collections data:

    And here is where come the magic of Plone: according to the access rules defined for each data of the layers, the user will only see on the map theses for which he has got permission. No need for coding several maps for each type of user or testing for each data when it should be drawn or not. Moreover as the management of user rules is precise we can even distinct who could see the data from who could modify or edit them.
   
    So this way of creating web mapping application isn't common as we don't have any specific geographical database. Nevertheless performances are good and there is no loss of information.

Votre notation : Aucun Moyenne : 2.7 (3 votes)