About
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.