PrimaGIS (0.5.1)
- See demo of PrimaGIS: http://www.primagis.fi/demo
- PrimaGIS download link: http://www.primagis.fi/download
- Homepage of PrimaGIS: http://www.primagis.fi/
- Description source: http://www.primagis.fi/features
Overview
PrimaGIS is a mapping solution meant primarily as a spatial extension for
Archetypes based objects. The idea is to allow existing Archetypes based
objects to be presented on predefined maps and allow users to easily access
this spatial information in relation to the primary information of the
objects. It is possible to have non-AT objects as data items also. PrimaGIS
is not a standalone application, but builds on top of Mapserver, Python Cartographic Library (PCL)
and Cartographic Objects for
Zope (ZCO).
Setting up a PrimaGIS instance, including acquiring the initial spatial data
and setting up the underlying ZCO hierarchy, requires some domain specific
knowledge about Mapserver/ZCO, but afterwards using and updating the map and
spatial data is done 100% through-the-web using the Plone interface and
should require no special skills in addition to knowing normal Plone content
administration.
Spatial extensions to new and existing Archetypes objects are added
either explicitly by implementing an interface (IGeoAware) or
implicitly by using geo-aware proxy objects, in the latter case no changes are needed to
existing objects and products. Each proxy object represent a location on a
map and may refer to arbitrary number of Archetypes objects. In addition, an
Archetype object may have spatial references to arbitrary number of maps and
locations, when using the proxy approach.
Usage model
System administrators
System administrators are responsible for setting up the initial
cartographic data, which may be in any format usable by the Mapserver, (e.g.
ShapeFile, raster images, WMS layers, etc.). In addition, the ZCO hierarchy
must be initialized through ZMI and all the layers, styles and symbolizers
have to be configured. System administrators are required to have some
knowledge about ZCO and Mapserver.
Site administrators
Site administrators, meaning anyone with write permission in the site, may
add spatial extensions to available Archetypes objects by creating proxy
objects for them. The administrator doesn't need to know any technical
details about the underlying map and proxy objects can be added by simple
clicking on the desired location on a map and selecting the AT objects that
are represented by the location.
Developers
Developers using Archetypes (or not) may make their objects natively
geo-aware by implementing the IGeoAware interface. There is also a mixin
class and schema for AT developers to easily make their objects natively
geo-aware. If the type of object you're developing doesn't have a natural
spatial dimension (such as reports, graphs, video clips) then opting for the
proxy approach may suit you better.
Site visitors
Site visitors most likely find their way to the map with the help of the context-sensitive portlet. When a visitor views a page that has spatial representation on a map (there may be multiple maps and/or multiple locations) the portlet activates and informs the visitor about the available maps and provides links to them. Clicking on the link takes the visitor to the map and centers it around the object in question.
Features in version 0.5.1
- Geo-aware proxy objects for spatially enabling any ArcheTypes based content object, that allows them to be used as data for the map without need for modify the original objects.
- IGeoAware interface for making custom objects work as spatial
data for PrimaGIS maps.
- AJAX
style background communication for efficient map rendering. All AJAX
(and DOM) operations are done using the excellent MochiKit library.
- Info-on-map using JavaScript popups with the overlib-library. Moving on location on the map will popup a small window showing information for the referred object(s).
- Extension classes for ArcheTypes developers for creating natively
geo-aware objects usable as-is with PrimaGIS. See the Making existing AT objects
IGeoAWare article for a simple example or take a look at the GeoAwareObjects
product.
- Zooming, drag panning, previous view, session-based default view.
- Named views for creating easy access to points of interest on the maps.
The views (PrimaGISView objects) also implement the IGeoAware interface, so
you can just put them in a PrimaGISDataLayer to visualize them on the map in
addition to using them for navigation. This is demonstrated in the demo
map's "Areas of interest" layer.
- Export of PrimaGISDataLayers to Geography Markup Language (GML). See http://www.primagis.fi/demo/index_html/capitals/data.gml for a GML dump of the "European capitals" layer for an example. Using a tool, such as ogr2ogr, you can easily convert the GML file to other vector formats, e.g. shapefile.
- Export of PrimaGISDataLayers to Keyhole Markup Language (KML) for use with Google Earth. You can try out the feature by adding a new Network Link to your Google Earth client using http://www.primagis.fi/demo/index_html/capitals/data.kml as the URL.
- Works with both Plone 2.0 and 2.1 series and Zope 2.7 and 2.8 series. Tested with Zope 2.7.8/Plone 2.0.5 and Zope 2.8.4/Plone 2.1.1.