38
Senegalese land register modernization through OpenSource softwares. The PAMOCA Project Gérald Fenoy [email protected] GeoLabs SARL FOSS4G - 2008

Foss4 G Slides V3

  • Upload
    djayzen

  • View
    552

  • Download
    1

Embed Size (px)

DESCRIPTION

Presentation which took place in 2008 FOSS4G

Citation preview

Page 1: Foss4 G Slides V3

Senegalese land register modernization through OpenSource softwares.

The PAMOCA Project

Gérald [email protected]

GeoLabs SARL

FOSS4G - 2008

Page 2: Foss4 G Slides V3

Senegalese land register modernization through OpenSource softwares.

The PAMOCA Project

What does the P.A.MO.CA means ?Goals of this project what they get and what we provide

A brief history and overview of actors involved in this projectA brief presentation of the GeoLive VS platform used to implement the whole solutionThe way we use to achieve those goals : mixing OOCMS + MapJax

An overview of the OOCMS solution (an easy way to list, edit and output complexe documents)

Tables and listing of its content :An overview of the templating system using Smarty + XML

Tuples creation, edition, supression and their references :An overview of the process specifying how to edit fields through XML and using the OpenOffice templating system to create customized HTML forms

Tuples output as document :An overview of the XML + OpenOffice templating system involved to output complex documents

Page 3: Foss4 G Slides V3

An overview of the MapJax solution to easily manage and display your GIS data :

The concept of « project »Creating a new project (one way to speed up the configuration of a new project)Creating and using the OpenOffice templating system from MapJaxAn automated way to deploy OGC webservices through MapServerProducing a tiles cache using TileCache and automated creation of an embeded win32 HTML Application (HTA) to dispay and query layers

Conclusion and perspectives

Senegalese land register modernization through OpenSource softwares.

The PAMOCA Project

Page 4: Foss4 G Slides V3

Senegalese land register modernization through OpenSource softwares.

The PAMOCA ProjectWhat does the P.A.MO.CA means ?

The P.A.MO.CA stand for (in french) : Projet d'Appuis à la MOdernisation du Cadastre

Which could be translated by :

Support Project to Cadastre Modernization

Page 5: Foss4 G Slides V3

The P.A.MO.CA project was started the year 2006 by the DGID (which means Direction Général des Impôts et des Domaines = Executive Office of taxes and fields).

The project funding was made by both :

the ADB (African Development Bank)

+

the European Community

Senegalese land register modernization through OpenSource softwares.

The PAMOCA ProjectA brief history and overview of actors involved in this project

Page 6: Foss4 G Slides V3

a special group of DGID's experts was created to manage and pass contracts with non gouvernemental companies specialized in the real estate field. The director of this group was and still be : Mame Ounta FALL.

they chose the real estate experts agency called cabinet SADY & THIAM, a company created in 1984, to handle and manage the first part of the gouvernemental project which was called : the monograph of the references buildings.

finally this part of the project started by the end of the year 2006.

by the end of the year 2007, the GeoLabs SARL was contracted by this agency to implement a web-based solution of this monograph.

Senegalese land register modernization through OpenSource softwares.

The PAMOCA ProjectA brief history and overview of actors involved in this project

Page 7: Foss4 G Slides V3

Since 2006 there was a lot of investigations made by the members of the real estate experts agency to locate and investigate the most representative houses and builldings in the whole Senegal country.

The investigations was made by 15 different senegalease specialists which was first formed by Cherif THIAM during a couple of months.

Senegalese land register modernization through OpenSource softwares.

The PAMOCA ProjectA brief history and overview of actors involved in this project

Page 8: Foss4 G Slides V3

The material provided to make the investigations was pretty simple :

a 5 meter wire to take mesures,an A3 printed paper with complexe arrays containing so many fields. Some have to be filed during the investigation with relevant informations like for exemple number of : parts, living room, rooms with area larger than 9 m2 and so on, but some don't have to be filled,a pen to fill the paper,a printed map representing the location of the parcel,a digital camera to take a picture of the frontage of the house or the building.

Senegalese land register modernization through OpenSource softwares.

The PAMOCA ProjectThe goals of this project (What they get and what we provide)

Senegalese land register modernization through OpenSource softwares.

The PAMOCA ProjectThe goals of this project (What they get and what we provide)

Senegalese land register modernization through OpenSource softwares.

The PAMOCA ProjectThe goals of this project (What they get and what we provide)

Page 9: Foss4 G Slides V3

The result of the investigations made was :

a partially filled investigation file,a printed map of the parcel's location colored by hand,a hand-made plan which was digitized using AutoCad™ by some other specialists of the SADY & THIAM cabinet, 30 persons was contracted to manage this task,a picture of the frontage.

So at the begining we get at least 2 files usable “as-is” into the informations system : the AutoCad™ plan and the picture !!

Senegalese land register modernization through OpenSource softwares.

The PAMOCA ProjectThe goals of this project (What they get and what we provide)

Page 10: Foss4 G Slides V3

What we finally provide to manage data resulting of the investigations :

A GNU/Linux system we've called GeoLive VS 1.0, runing on two IBM X Series servers to host the solution,An ECM system called OOCMS to manage the results of the investigations made and also for the futur onesA Web-GIS solution called MapJax to manage GIS data and locating investigations.

Both of this projects got a specific Trac system to handle source code, share ideas and bug report available on :

http://geolive.cartography.sthttp://oocms.cartography.sthttp://www.mapjax.org/mapjax/

Senegalese land register modernization through OpenSource softwares.

The PAMOCA ProjectThe goals of this project (What they get and what we provide)

Page 11: Foss4 G Slides V3

Senegalese land register modernization through OpenSource softwares.

The PAMOCA ProjectA brief presentation of the GeoLive VS platform used to implement the whole solution

At the beginning the GeoLive environment was a simple « chrootable » system which was based on the Gentoo™ Linux distribution and which could be embeded into every kind of already existing GNU/Linux system. It let us deployed our solutions efficiently in the past for lot of our clients. It contains everything we have to be installed for our applications to run. The idea of a chrootable system provided its relevance so we keep this in place and make it evolve over the versions of the main free softwares we used.

For another project, we had to provide the same kind of solution but including also the host system, so we decided to use the Gentoo™ VirtualServer solution.

Then on this first base (installed on two IBM X Series servers) we've created our solution that we called GeoLive VS 1.0 which run since some time and prove its stability.

Page 12: Foss4 G Slides V3

Senegalese land register modernization through OpenSource softwares.

The PAMOCA ProjectA brief presentation of the GeoLive VS platform used to implement the whole solution

As we already get a system and an architecture on which it ran well since some time we decided with the PAMOCA direction and the SADY & THIAM cabinet to buy two IBM X Series servers, one for the development phase and the agency activity and another one for the integration into the DGID network.

This way to deploy our solution and OS softwares required we only have to synchronize the new servers from the development server to the new one.

Page 13: Foss4 G Slides V3

Senegalese land register modernization through OpenSource softwares.

The PAMOCA ProjectThe way we use to achieve those goals : coupling OOCMS + MapJax

In the past GeoLabs based lot of their solutions on two products which are :

OOCMS : used when we have to create informations systems to manage documents production or flow of data where some different people could interact each other in the edition process

and

MapJax : used as a base solution to easily create our own specific GIS applications.

Both of this softwares use the MetaJS library which is available on GoogleCode.

Page 14: Foss4 G Slides V3

Senegalese land register modernization through OpenSource softwares.

The PAMOCA ProjectAn overview of the OOCMS solution (an easy way to list, edit and output complexe documents)

OOCMS is a web application, implemented in PHP, which let you manage and produce complex documents on the fly through an OpenOffice server. The web application communicate with this server using the U.N.O API (Universal Network Object) and more precisely its Python implementation.

Data was stored in a PostgreSQL/MySQL database.

As the “GIS data awareness” of OOCMS is brand new, it was only implemented for PostGIS currently (so to manage both your GIS data and standard ones you have to use a PostgreSQL database).

Page 15: Foss4 G Slides V3

Senegalese land register modernization through OpenSource softwares.

The PAMOCA ProjectTables and listing of its content

PostgreSQL tables could be made available to any group of users of an OOCMS application. This way users, depending on their rights affected to their group, could made creation, modifications, suppression and production of documents.

To make a table available to the application's users, you have to create a directory with the same name as the table into the docs/local/tables/ path of the OOCMS intallation, create an XML files to configure what informations the system have to display to the users from the data stored in the table. Here you are able to use any kind of SQL statement or php code you need.

Then you have to write or use the default Smarty template which let you tell the system how the « listing view » have to be displayed.

Page 16: Foss4 G Slides V3

Senegalese land register modernization through OpenSource softwares.

The PAMOCA ProjectAn overview of the templating system using Smarty + XML

The Resulting « Listing View » in action

An XML file to set what to display+

A Smarty template to set how to display(XHTML+PHP)

+ a table to display

Page 17: Foss4 G Slides V3

Senegalese land register modernization through OpenSource softwares.

The PAMOCA ProjectTuples creation, edition and their references

When you want to grant the write access to a specific group of users you have to create a workflow.xml file. In this file you tell the system who could edit what and when. So there is an XML block for each step containing the group and each field which could be filed.

After creating this XML file you have to create an OpenOffice template which will be used to display the HTML form to the end user. We provide an administration interface to integrate such templates into the system. So, in the workflow.xml file you have to set for each step :

What have to be edited and what kind of field it is.Which group have the rights to edit.Which OpenOffice template to use to display the HTML form to the end user.

Page 18: Foss4 G Slides V3

Senegalese land register modernization through OpenSource softwares.

The PAMOCA ProjectTuples creation, edition and their references

The workflow.xml file

Page 19: Foss4 G Slides V3

Senegalese land register modernization through OpenSource softwares.

The PAMOCA ProjectTuples creation, edition and their references

The OpenOffice template

Page 20: Foss4 G Slides V3

Senegalese land register modernization through OpenSource softwares.

The PAMOCA ProjectTuples creation, edition and their references

The HTML form produced

Page 21: Foss4 G Slides V3

Senegalese land register modernization through OpenSource softwares.

The PAMOCA ProjectTuples creation, edition and the same for their references

The workflow.xml file with onlythe step 6 block displayed

Page 22: Foss4 G Slides V3

Senegalese land register modernization through OpenSource softwares.

The PAMOCA ProjectTuples creation, edition and the same for their references

The workflow.xml file with onlythe step 6 block displayed

OpenOffice template used to produce the HTML form on step 6

Page 23: Foss4 G Slides V3

Senegalese land register modernization through OpenSource softwares.

The PAMOCA ProjectTuples creation, edition and the same for their references

The workflow.xml file with onlythe step 6 block displayed

OpenOffice templateused to produce the HTML form

on step 6The resulting edition HTML form

produced by the OOCMS application

Page 24: Foss4 G Slides V3

The workflow.xml file with onlythe step 6 block displayed

OpenOffice templatefor step 1

...

The resulting edition HTML form produced by the OOCMS application

Senegalese land register modernization through OpenSource softwares.

The PAMOCA ProjectTuples creation, edition and their references

OpenOffice templatefor step 6

...

Page 25: Foss4 G Slides V3

Senegalese land register modernization through OpenSource softwares.

The PAMOCA ProjectTuples output as documents

Everytime you update an entry in a table, there is a trigger which inform the system that it have to produce a new document. So in some sens we maintain a cache of produced document.

As before, to be able to output a full filled document you only have to create an XML file and its associated OpenOffice template to specify what you want to display in your restitution document.

Page 26: Foss4 G Slides V3

Senegalese land register modernization through OpenSource softwares.

The PAMOCA ProjectTuples output as documents

The output.xml file

Page 27: Foss4 G Slides V3

Senegalese land register modernization through OpenSource softwares.

The PAMOCA ProjectTuples output as documents

The OpenOffice Template

Page 28: Foss4 G Slides V3

Senegalese land register modernization through OpenSource softwares.

The PAMOCA ProjectTuples output as documents

The produced document

Page 29: Foss4 G Slides V3

Senegalese land register modernization through OpenSource softwares.

The PAMOCA ProjectAn overview of the MapJax solution to easily manage and display your GIS data

MapJax is a Web-GIS solution easy to deploy. It provides lot of functionalities : integrating your data in a PostGIS database, metadata edition, deploying WMS/WFS webservices on demand (through MapServer), create/edit/delete layers, create different cache of tiles (using tilecache) to use in an automaticaly produced HTA application, upload your own OpenOffice template to output map in PDF or other formats supported by OpenOffice and more ...

Page 30: Foss4 G Slides V3

Senegalese land register modernization through OpenSource softwares.

The PAMOCA ProjectThe concept of « project »

A MapJax project is an instance of the web interface. It contains the layers definition, datasources, symbols, fonts, legend, list of users able to access the application, its own OpenOffice templates, keymap, spatial queries definitions the web application have to provide and so on ...

From a PostgreSQL point of view a project is also a schema (namepace).

For the PAMOCA project, data provided by the DGID was in ShapeFile format. For each cities where investigations took place, the data were structured like this :

BuildingsParcelsCadastral sectionsRoads

Page 31: Foss4 G Slides V3

Senegalese land register modernization through OpenSource softwares.

The PAMOCA ProjectCreating a new project (one way to speed up the configuration of a new projects)

We decided to create a project for each investigated cities...

As I told you, data was allready structured by cities and we get the same kind of data for each ones. We had to find a way to easily create a new project based on an already existing one.

That what we called the « project cloning » system which let you keep the same layers definitions, keymap, metadata, legend, templates, activated webservices as an other project.

So you create a new project telling that you want to use another one as the source for the creation and you will only have to load your data in the project directory, load them in the PostGIS database, correct some metadata (at least the city name) and your new project is ready to use.

Thanks to this way to create project for the 20 main cities investigated we spent only one day.

Page 32: Foss4 G Slides V3

Senegalese land register modernization through OpenSource softwares.

The PAMOCA ProjectCreating and using the OpenOffice templating system from MapJax

Using the same idea as in OOCMS itself you could also use the same kind of templating system.

To be able to produce an output document which contains the map, the legend, the keymap and scalebar you only have to as anybody make a document with the well named pictures in. Their names should be :

[_mainmap_] for the main map picture,[_keymap_],[_legend_],[_scalebar_].

This way everybody is able to create its own output document, with its own style.

This sounds really more efficient than using some libs like for exemple fpdf or pdflib ....

Page 33: Foss4 G Slides V3

Senegalese land register modernization through OpenSource softwares.

The PAMOCA ProjectAn automated way to deploy OGC webservices through MapServer

To deploy WMS and WFS webservices you only have to check a box in the layer properties edition dialog from the administration interface to tell MapJax that you want to share this layers through the specified webservice (WMS or WFS currently).

Then when you update the project, relevant mapfiles are created for you with the layers you've specified and webservices are available through the web to share your data in a standard way.

Page 34: Foss4 G Slides V3

Senegalese land register modernization through OpenSource softwares.

The PAMOCA ProjectProducing a cache of tiles using TileCache and automated creation of an embeded win32 HTML Application (HTA) to

dispay and query layers

The last innovative thing is that MapJax could produce an HTA.

From a MapJax project you could produce a cache of tiles to use in GoogleMap. MapJax simply use TileCache to do that.

When the creation of the cache is over, MapJax make you able to easily produce a zip file which contains the produced cache and an HTML Application based on the GoogleMap™ API which will use this cache to display your data stored localy.

You only have to unzip the package and click on the HTA file to be able to view your data without having to put the data on the web.

Recently we also add the capability to query one layer using the Python Mapscript API. The only limitation at this level is that you have to include the ShapeFile containing your data to query into

Page 35: Foss4 G Slides V3

Senegalese land register modernization through OpenSource softwares.

The PAMOCA Project

So MapJax was used in this project to integrate the provided GIS data.

At the final step of the edition process people granted could then link a parcel to an investigation and update the GIS data inserting a foreign key to an investigation.

This way, the DGID is able to know where is the parcel from the OOCMS « liting view » or query from MapJax to get more informations on the parcel or even download the investigation document.

Page 36: Foss4 G Slides V3

Senegalese land register modernization through OpenSource softwares.

The PAMOCA ProjectConclusion and perspectives

First of all, the investigations made should let us simplify a bit more the investigation and the edition process. To achieve this, more investigations has allready been started and will continue in the next months to get more and more data in the database. Using some datamining methods we will try to extract relevant informations from the references buildings to make the next investigations easier.

Formations had took and will take place in Senegal and at the GeoLabs office to learn the Senegaleases administrators of the application how they could maintain this application and how they could easily deploy such applications for other kind of needs.

GeoLabs collaborates with the Senegalease GIS national association called ASIGEO to provide them a web platform to share their knowledge and make e-learning formations available through the same platform. The first formation which will be available was about PostGIS.

Page 37: Foss4 G Slides V3

Senegalese land register modernization through OpenSource softwares.

The PAMOCA ProjectConclusion and perspectives

The main people involved in this project (Gérald Fenoy et Chérif Thiam) have created a new society in august 2008 which was called :

GMC Intenational Consulting.

This society give us the opportunity to export, with the help of the ADB and the European community, the same kind of solution which was made for the Senegalease contry to the others african ones.

Page 38: Foss4 G Slides V3

Senegalese land register modernization through OpenSource softwares.

The PAMOCA Project

Any questions ?