Upgrade to Pro — share decks privately, control downloads, hide ads and more …

AAGW3 - Maria Comanescu - Collaborative Content Management System with enhanced GIS Capabilities

CGIAR-CSI
March 21, 2013

AAGW3 - Maria Comanescu - Collaborative Content Management System with enhanced GIS Capabilities

CGIAR-CSI

March 21, 2013
Tweet

More Decks by CGIAR-CSI

Other Decks in Research

Transcript

  1. Goal: Collaborative Content Management System (CMS) with enhanced GIS Capabilities

    2 of 18 Maria Comanescu @ HarvestChoice CMS - Content Management System • web-based platform that facilitates content management • collaborative • modular • taxonomies/vocabularies • easily searchable content • custom retrieval and presentation of content Geospatial capabilities • data visualization using maps • filtering by attributes and geometry fields • other spatial queries (distance, intersect, contains, etc.)
  2. Goal: Collaborative Content Management System (CMS) with enhanced GIS Capabilities

    3 of 18 Maria Comanescu @ HarvestChoice Key Requirements • Manage entities with custom attributes and geometry fields • Categorize/search/filter data using taxonomies and full text search • Render data on maps along with other external layers • Geometry filtering (user defined or selected)
  3. Solution: Drupal based CMS with Geospatial Enhancements Drupal • Actively

    maintained - 25.000+ developers worldwide • 20.000+ extensions/modules (eg: blog capability, photo gallery, email notifications, content display, etc) OpenLayers • Open source JavaScript library capable of adding, maintaining and displaying geospatial information • Well integrated with Drupal 4 of 18 Maria Comanescu @ HarvestChoice
  4. Drupal + OpenLayers: Activity Entry Form - Input Data 5

    of 18 Maria Comanescu @ HarvestChoice
  5. Drupal + OpenLayers: Activity Entry Form 2 - Input Geometry

    6 of 18 Maria Comanescu @ HarvestChoice
  6. Drupal + OpenLayers: Activity Data - Display as Map 7

    of 18 Maria Comanescu @ HarvestChoice
  7. Drupal + OpenLayers: Summary 12 of 18 Maria Comanescu @

    HarvestChoice Quick results • Define the structure of activities • Manage the categories / taxonomies assigned to activities • Out of the box content contribution forms • Easy to browse and filter activities • Show all activities on a map Next steps • Improve the performance of maps display • Geospatial queries (eg: show activities within a user defined polygon/area)
  8. Drupal + OpenLayers: Next steps 13 of 18 Maria Comanescu

    @ HarvestChoice Performance considerations • Currently all data points on the map are sent to the user even though only a small part of the map is visible = the map page loads extremely slow • The browser does all the work when deciding which subset of points should be visible Spatial queries • Hard to implement using OpenLayers and the result takes too long to compute Solution: delegate spatial operations to GeoServer
  9. Cartaro: Ultimate GeoCMS stack (1) 14 of 18 Maria Comanescu

    @ HarvestChoice Drupal + OpenLayers + GeoServer = Cartaro Drupal + OpenLayers
  10. Cartaro: Ultimate GeoCMS stack (2) How it works ? •

    Data points are accessible to both Drupal and GeoServer using a PostGIS data storage • Drupal performs the data management (insert, update, delete) • Drupal forwards to GeoServer any data access query using the CQL standard • Data is filtered and retrieved by GeoServer then cached and sent to Drupal • Using the OpenLayers library the 'relevant' activities are shown to the user within the CMS context 15 of 18 Maria Comanescu @ HarvestChoice
  11. Cartaro: Ultimate GeoCMS stack (2) Improvements - implemented • PostGIS

    storage vs MySQL • All data can be accessed by both Drupal and GeoServer • Openlayers receives data from Geoserver, data already cached and filtered for the area of interest Improvements - feasible • Drupal can forward to GeoServer any data access query using the CQL standard => spatial operations could be implemented 16 of 18 Maria Comanescu @ HarvestChoice
  12. Key Requirements Drupal + Openlayers Cartaro Data entry(attributes + geometry)

    Render all data on a map together with external layers SLOW for big data Filter/search categorize data - display result as table/list Filter/search by attributes - display result as map SLOW for big data Possible to implement Filter by geometry (user defined or selected) - display result as table/map/list Possible to implement Wrap-up and conclusion 17 of 18 Maria Comanescu @ HarvestChoice