\title{GeoSIPAM}
%\subtitle{Free and Open Source Software Applied to the Protection of the Brazilian Amazon}
\subtitle{Logiciel libre et Open Source appliqué à la protection de l'Amazonie brésilienne}
\author{Luis Fernando Bueno, Weberson Gabriel, Pablo Filetti Moreira, Artur Henrique Villa Real F. Ramos, Fabio Augusto das Dores Silva, Marcelo Campos Brito}
traduit par Sidonie Christophe

\maketitle

\textit{\textbf{Keywords:} Données spatiales, Amazonie brésilienne, SIPAM, Infrastructure, GeoSIPAM}


\section{Résumé}
\label{sec:resume}

%This paper presents the infrastructure implemented and maintained by the System of Protection of Amazon - SIPAM for storage and distribution of spatial data called GeoSIPAM. The use of free and open source applications for the storage and distribution of the spatial data was chosen.  The relational database PostgreSQL was chosen, with the PostGIS extension for spatial data storage and manipulation. Several applications (GeoServer, GeoNetwork and InterMap) have been customized for use by SIPAM. The implemented customizations involved procedure development which enhanced the tools used in daily tasks played by the collaborators. The application interface of the GeoNetwork and InterMap were altered aiming at making them accessible and adding features. Care was taken that the infrastructure was adjusted to spatial data storage, manipulation and distribution. The customizations allowed the applications to be merged into SIPAM\'s organizational environment. It was also verified that the use of OGC standards were complied with for interoperability on diverse systems. 

%Cet article présente l'infrastructure GeoSIPAM implémentée et maintenue par le Système de Protection de l'Amazonie - SIPAM pour le stockage et la diffusion de données spatiales. Des applications open source libres (FOSS) ont été utilisées pour le stockage et la diffusion des données spatiales. Le système de gestion de base de données relationnelle PostrGreSQL a été choisi, avec son extension PostGIS pour le stockage et la manipulation des données spatiales. Plusieurs applications (GeoServer, GeoNetwork, InterMap) ont été personnalisées par le SIPAM. Les personnalisations effectuées ont concerné des procédures de développement qui ont accru l'utilisation de ces outils utilisés quotidiennement par les collaborateurs. Les interfaces applicatives de GeoNetwork et d'InterMap ont été modifiées afin de les rendre accessible et d'y ajouter des éléments. Un soin particulier a été apporté pour que l'infrastructure soit adaptée au stockage, à la manipulation et à la diffusion des données spatiales. La personnalisation a permis l'intégration des applications à l'environnement organisationnel du SIPAM. Il a aussi été vérifié que l'utilisation des standards OGC était correcte afin que les systèmes soient interopérables.
Cet article présente l'infrastructure GeoSIPAM implémentée et maintenue par le Système de Protection de l'Amazonie - SIPAM pour le stockage et la diffusion de données spatiales. Des applications open source libres (FOSS) ont été utilisées pour le stockage et la diffusion des données spatiales. Le système de gestion de base de données relationnelle PostrGreSQL a été choisi, avec son extension PostGIS pour le stockage et la manipulation des données spatiales. Plusieurs applications (GeoServer, GeoNetwork, InterMap) ont été adaptées pour le SIPAM. Les adaptations effectuées ont concerné des procédures de développement améliorant ces outils utilisés quotidiennement par les collaborateurs. Les interfaces applicatives de GeoNetwork et d'InterMap ont été modifiées afin de les rendre accessibles et d'y ajouter des éléments. Un soin particulier a été apporté pour que l'infrastructure soit adaptée au stockage, à la manipulation et à la diffusion des données spatiales. La personnalisation a permis l'intégration des applications à l'environnement organisationnel du SIPAM. Il a aussi été vérifié que l'utilisation des standards OGC était correcte afin que les systèmes soient interopérables.


\section{Introduction}
\label{sec:intro}

%The database of the System of Protection of Amazon - SIPAM integrates information brought up to date on the Brazilian Legal Amazon. The use of these information in projects developed for the SIPAM and agency partners provides the generation of knowledge that assists the planning and coordination of global actions of government, aiming at the protection, social inclusion and sustainable development of the region. 

La base de données du Système de Protection de l'Amazonie - SIPAM intègre des informations de l'Amazonie Brésilienne Légale (BLA) à jour. L'utilisation de ces informations dans les projets développés par le SIPAM et par les agences partenaires fournit de la connaissance qui facilite la planification et la coordination des actions gouvernementales globales, visant à la protection, l'intégration sociale et le développement durable de la région. 


%This work presents the infrastructure implemented and maintained for SIPAM for storage and distribution of spatial data called GeoSIPAM. GeoSIPAM aims at providing integration and evaluation of data to aid the planning and the coordination of the actions of the developed public  politics in the Brazilian Legal Amazon. Specifically, the objectives of GeoSIPAM are: to display through Internet or Intranet the metadata referring to the projects carried through for SIPAM; to make available Internet maps, geocoded images and related literal information; to visualize maps, images and relevant information for other institutions, through the use of standard compliant Open Geospatial Consortium - OGC \cite{Bueno:2007} protocols 

Ce travail présente l'infrastructure GeoSIPAM implémentée et maintenue par le SIPAM pour le stockage et la diffusion des données spatiales. GeoSIPAM vise à offrir l'intégration et l'évaluation des données afin d'aider à la planification et à la coordination des actions des politiques publiques de développement en Amazonie Brésilienne Légale. En particulier, les objectifs de GeoSIPAM sont les suivants : afficher sur Internet ou Intranet les métadonnées des projets portés par le SIPAM ; mettre à disposition des cartes, des images géocodées et de l'information textuelle associée sur Internet ; visualiser des cartes, des images, et des informations pertinentes pour d'autres institutions, à travers l'utilisation des protocoles standards OGC \cite{Bueno:2007}. 


\section{Les FOSS dans GeoSIPAM}
\label{sec:FOSS}
%The development and use of free software for geoinformatics has made available an increasing number of software tools.  In the designing of GeoSIPAM it was opted to use free and open source software for the storage and distribution of the spatial data. The tools chosen include:

Le développement et l'utilisation de logiciels libres en géomatique ont mis à disposition un nombre croissant d'outils. Lors de la conception de GeoSIPAM, il a été décidé d'utiliser des logiciels open source libres (FOSS) pour le stockage et la diffusion des données spatiales. Les outils choisis sont les suivants :

\begin{itemize}
\item PostgreSQL\: Système de gestion de base de données relationnelle
\item PostGIS\: Extension spatiale pour PostgreSQL
\item GeoServer\: OpenGIS Web Feature Server Transactionnel
\item GeoNetwork\: Catalogue pour gérer les ressources géoréférencées sur le web
\item InterMap\: Map viewer, généralement configuré comme étant intégré à GeoNetwork
\end{itemize}

\section{Infrastructure pour l'Analyse Spatiale}
%The chosen software architecture was organized in layers involving 

L'architecture logicielle choisie est organisée en couches impliquant

\begin{itemize}
\item un système de gestion de base de données (SGBD) pour le stockage, la gestion et la manipulation des données
\item des cartes et des serveurs de catalogues pour la diffusion et l'information sur les données
\item autant que des interfaces pour l'accès aux données basé sur les standards établis par l'OGC.
\end{itemize}

%The PostgreSQL DBMS was chosen, with the PostGIS extension for storage and manipulation of spatial data. The GeoNetwork and InterMap applications interface had undergone alterations aiming to make them accessible and unique.

Le SGBD PostgreSQL a été choisi, ainsi que son extension PostGIS pour le stockage et la manipulation des données spatiales. Les interfaces des applications GeoNetwork et InterMap ont subi des modifications pour les rendre accessibles et uniques.

\begin{figure*}[htb]
  \centering
  \includegraphics[height=0.4\textheight]{proceedings/bueno/intermap.png}
  \caption{Visualisation de la carte interactive, utilisation de l'interface personnalisée d'InterMap}
  \label{fig:intermap}
\end{figure*}

%Figure ~\ref{fig:intermap} presents the visualization of an interactive map in the customized interface of InterMap software.

La figure ~\ref{fig:intermap} présente la visualisation de la carte interactive au sein de l'interface personnalisée d'InterMap.


%The GeoServer, GeoNetwork and InterMap, applications are tools developed in Java and implement the Web Map Services (WMS), Web Feature Services (WFS) and Catalogue Service Web (CSW) standards. These were customized for use at SIPAM.  The implemented customizations involved development of procedures  that enabled collaborators to carry out daily played tasks. Following are some customizations implemented by the GeoSIPAM team.

Les applications GeoServer, GeoNetwork et InterMap sont des outils développés en Java qui implémentent les standards Web Map Services (WMS), Web Feature Services (WFS) et Catalogue Service Web (CSW). Elles ont aussi été personnalisées pour une utilisation au SIPAM. Les personnalisations effectuées ont concerné des procédures de développement qui ont permis aux collaborateurs de réaliser leurs tâches quotidiennes. Quelques personnalisations réalisées par l'équipe GeoSIPAM sont présentées par la suite.

%Originally InterMap Open Source used to attend the requirements of the standard WMS / OGC, but did not attend to the standard WFS / OGC, both offered by GeoServer. In InterMap Open Source a service was created to carry through WFS service solicitations to GeoServer, making it possible to download raster files.  In this way, an option for the WFS GetFeature service call was developed, in the SHAPE - ZIP format and the service services.map.DownloadService was implemented. Also a corresponding button in the layer toolbar was created, as demonstrated in figure ~\ref{fig:download}.  This functionality was implemented by source code changes, involving JavaScript, XSL and Java programming. 

Initialement, InterMap répondait aux exigences du standard WMS, mais pas au standard WFS, les deux étant proposés par GeoServer. Dans InterMap un service a été créé pour transporter des demandes vers GeoServer à travers un service WFS, rendant ainsi possible le téléchargement de fichiers raster. Ainsi une option pour l'appel du service GetFeature de WFS a été développée dans le format SHAPE - ZIP et le service services.map.DownloadService a été implémenté. Un bouton correspondant a été ajouté dans la barre d'outils de la couche, ainsi que la figure ~\ref{fig:download} le montre. Cette fonctionnalité a été implémentée par des modifications du code source, impliquant de la programmation en JavaScript, en XSL et en Java.

\begin{footnotesize}
\begin{smallverbatim}
public Element exec(Element params, 
      ServiceContext context) throws Exception
{
// Get request parameters
int id = Integer.parseInt(
    params.getChildText(
        Constants.MAP_SERVICE_ID
    ));
	
// Get the MapMerger object from the user session
	MapMerger mm = MapUtil.getMapMerger(context);

// Get the layer name 
	String nome = mm.getService(id).getName();
// Get the WMS server url 
	String serverUrl = mm.getService(id).getServerURL();

// Declare and set the WFS server url
	int pos = serverUrl.indexOf("/wms")+1;
	String WfsFeatureInfoUrl = serverUrl.substring(0, pos) +       "wfs?request=GetFeature&service=WFS&version=1.0.0&outputformat=SHAPE-ZIP&typename=" + nome; 
	Element el = WmsGetCapClient.getCapabilities(serverUrl);

// Return the necessary information for 
// the service execution
	return new Element("response")
	.addContent(WmsGetCapClient.getCapabilities(serverUrl))
	.addContent(new Element("serviceName").setText(nome))
	.addContent(
  new Element(
    Constants.URL).setText(
      WfsFeatureInfoUrl));
}
\end{smallverbatim}
\end{footnotesize}


\begin{figure}[htb]
   \centering
   \includegraphics[width=1\textwidth]{proceedings/bueno/download.png}
   \caption{Interface InterMap Personnalisée pour le téléchargement de couches}
   \label{fig:download}
\end{figure}

%The option to offer the layer for download is configured through service WFS. The WFS GetFeature service allows download indiscriminately all the available layers in the server. The option was created to allow/deny the layer download in the cadastre screen of the FeatureType in the GeoServer. This information is also sent to WMS customer through the service getCapabilities. The Download button will be shown in the InterMap whenever the corresponding option is qualified in the GeoServer, as demonstrated in figure ~\ref{fig:customized}.  The functionality was implemented through changes in the GeoServer source code, which is written in Java.

L'option qui permet de proposer une couche à télécharger est réalisée par un service WFS. Le GetFeature de WFS permet de télécharger indifféremment toutes les couches disponibles sur le serveur.
L'option a été créée pour permettre/empêcher le téléchargement dans l'écran du FeatureType de GeoServer. Cette information est aussi envoyée au demandeur WMS par le service getCapabilities. Le bouton Téléchargement sera montré dans InterMap dès que l'option correspondante sera qualifiée dans GeoServer, comme présenté à la figure ~\ref{fig:customized}. La fonctionnalité a été implémentée grâce à des modifications du code source de GeoServer écrit en Java. 

\begin{figure*}[htb]
   \centering
   \includegraphics[width=0.7\textwidth]{proceedings/bueno/customized.png}
   \caption{Interface de Geoserver personnalisée permettant le téléchargement}
   \label{fig:customized}
\end{figure*}

%Another implemented functionality allows the visualization of the data together with images provided by Google Earth API. An inserted button in the InterMap toolbar sets in motion a floating window that shows the spatial data, synchronizing the GeoServer\'s raster data with the Google\'s API images. The position and zoom are kept synchronized even after changes in the Google API window or InterMap maps` window.  The InterMap layers are displayed in the  Google\'s API window in transparent shades, allowing simultaneous viewing of Google\'s images. Figure ~\ref{fig:google} presents the Google API window implemented in InterMap.This functionality was implemented by the inclusion of JavaScript code in the file im\_main.xsl.  The code line below shows the reference to the Google API, in the file im\_main.xsl:

Une autre fonctionnalité implémentée permet la visualisation de données en même temps que d\'images fournies par l'API Google Earth. Un bouton inséré dans la barre d'outils d'InterMap créé une fenêtre flottante en mouvement qui montre les données spatiales, synchronisant les données raster de GeoServer avec les images de l'API de Google. La position et le zoom sont conservés même après des modifications dans la visualisation de l'API Google des images Google. La figure ~\ref{fig:google} présente la fenêtre Google API implémentée dans InterMap. Cette fonctionnalité a été implémentée grâce à l'inclusion de code Javascript dans le fichier im\_main.xsl. La ligne de code ci-dessous montre la référence à l'API Google, dans le fichier im\_main.xsl.

\begin{footnotesize}
\begin{smallverbatim}
<script 
 src="http://maps.google.com/maps? \
    file=api&v=2&key=GOOGLE_API_KEY" 
 type="text/javascript">
</script>
\end{smallverbatim}
\end{footnotesize}


%The term GOOGLE\_API\_KEY should be replaced by the key obtained on the Google API site\footnote{Google API site:  \url{http://www.google.com/apis/maps/}}. To obtain the key you should access the site and  provide the server URL where InterMap is installed. The key is sent to the email address of the applicant, who must have a GMail account. The functions ``addWMS'' and ``montaMapa'' were coded and added to the file im\_main.xsl. The function ``addWMS'' is used to rebuild the  list of layers to show the Google API, always when a new layer is added in InterMap. The function ``montaMapa'', is used to construct the Google map. Below is shown the source code of the functions ``addWMS'' and ``montaMapa''. 

L\'expression GOOGLE\_API\_KEY doit être remplacée par la clé obtenue sur le site de l\'API Google\footnote{Google API site:  \url{http://www.google.com/apis/maps/}}. Pour obtenir la clé, vous devez accéder au site et fournir l\'URL du serveur sur lequel InterMap est installé. La clé est envoyée sur l'adresse email du demandeur, qui doit avoir un compte GMail. Les fonctions ''addWMS'' et ''montaMapa'' ont été codées et ajoutées au fichier im\_main.xsl. La fonction ''addWMS'' est utilisée pour reconstruire la liste des couches à montrer à l\'API Google, à chaque fois qu'une nouvelle couche est ajoutée dans InterMap. La fonction ''montaMapa'' est utilisée pour construire la carte Google. Le code source des fonctions ''addWMS'' et ''montaMapa'' est présenté ci-dessous. 

\begin{footnotesize}
\begin{smallverbatim}
// Add WMS servers and layers types
function addWMS(servidor, camada){
 achou = false;
//Check if the server exists. 
// If it does, add a new layer. 
// If it does not register a new
// server and layer
for (contador = 0; wmsurl.length>contador; contador++){
	if( wmsurl[contador] == servidor) {
// server found.. add layer 
	layersG[contador] = layersG[contador] + ',' + camada
	achou = true;
	}
}
if(!achou) {	
// server not found, register in the vector
	pos = wmsurl.length;
	wmsurl[pos] = servidor;
	layersG[pos] = camada;
	}
	listalayers = listalayers + camada
}

// Set up the google map on the screen
function montaMapa() {
	var camadaWMS = new Array();
	if( visivelG ) {
		mapG = new GMap2(document.getElementById("mapaG"));

// A handler is called when a 
// map movement break event is called
		GEvent.addListener(mapG, "moveend", function() {
// If the movement was done at the Google map, 
// the Intermap map changes too
	if( actOrigem == '' ){
		var center = mapG.getCenter();
		// Obtain the center 
		main.map.zMapCenLat = center.lat();
		// in LatLong
		main.map.zMapCenLng = center.lng();		
		main.map.moveIntermap();
		// moves the Intermap map	
	}
	actOrigem = '';
	if(navm){setTimeout("pngfix()",1000); }
		});
// Handler is called 
// when a drag action event is called
	GEvent.addListener(mapG, "dragstart", function() {
		actOrigem=''
		});

// Handler is called 
// when a zoom event is called
	GEvent.addListener(mapG, "zoomend",  \
	    function(zoomant, zoomatu) {
	if( actOrigem == '') {
		var bbox = mapG.getBounds();
		// Obtain the center
		main.map.zmapminlat = bbox.getSouthWest().lat();
		// em latitude e longitude
		main.map.zmapminlng = bbox.getSouthWest().lng();
		// e move o mapa
		main.map.zmapmaxlat = bbox.getNorthEast().lat();
		main.map.zmapmaxlng = bbox.getNorthEast().lng();
		main.map.zoomIntermap(zoomant, zoomatu);
		// no intermap	
	}
	if (actOrigem != 'X'){actOrigem = '';}
		});
	
// Handler is called 
// when a drag action event is called
		
	var layer1=[G_SATELLITE_MAP.getTileLayers()[0], \ 
	    G_HYBRID_MAP.getTileLayers()[1]];
	var custommap1 = new GMapType(layer1, \ 
	    G_SATELLITE_MAP.getProjection(), \ 
	    "Google", G_SATELLITE_MAP);

	var layer3=[G_SATELLITE_MAP.getTileLayers()[0], \ 
	    G_HYBRID_MAP.getTileLayers()[1]];
			for( contador=0; wmsurl.length > contador; \ 
			contador++){
	// create tile layers
	camadaWMS[contador]= new GTileLayer( \ 
	    new GCopyrightCollection(""),1,17);
	if( wmsurl[contador] != '' ) 
	{ if( layersG[contador] != '') {
		camadaWMS[contador].myLayers=layersG[contador]; 
		camadaWMS[contador].myBaseURL=wmsurl[contador];
		camadaWMS[contador].getTileUrl=CustomGetTileUrl;
		if(navm) {camadaWMS[contador].myFormat='image/png'}
	} }
	layer3[contador+2] = camadaWMS[contador];
	}
	
	var custommap3 = new GMapType(layer3, \ 
	    G_SATELLITE_MAP.getProjection(), \
	    "Intermap", G_SATELLITE_MAP);
		
	mapG.getMapTypes().length = 0;
	mapG.addMapType(custommap3);
	mapG.addMapType(custommap1);
	SWLatLng = new GLatLng(SWLat, SWLng)
	NELatLng = new GLatLng(NELat, NELng)
	bbox     = new GLatLngBounds(SWLatLng, NELatLng)
	zoom     = mapG.getBoundsZoomLevel(bbox)
	gmapt = mapG.getMapTypes()
	zoomMax = \
	    gmapt[1].getMaximumResolution(mapG.getCenter())
	if( zoom > zoomMax) {zoom = zoomMax;}
		actOrigem = 'X'
		mapG.setCenter(bbox.getCenter(),zoom);
		mapG.addControl(new GLargeMapControl());
		mapG.addControl(new GMapTypeControl());
		with(document.getElementById( \ 
		    "google").style){top = "113px";left = "239px";} 
			actOrigem = '' } }
\end{smallverbatim}
\end{footnotesize}


\begin{figure}[htb]
   \centering
   \includegraphics[width=1\textwidth]{proceedings/bueno/googleapi.png}
   \caption{Interface InterMap personnalisée avec l\'API Google}
   \label{fig:google} 
\end{figure}

%Because of the great number of layers available in WMS servers, the list layers visualization, when shown as a  flat list, becomes inadequate. The display of layers was modified to be loaded in tree form with options of ``collapse'' and ``expand''.   The functionality was implemented by the inclusion of JavaScript code in the file im\_get\_services.xsl. It employed the dTree API, a free JavaScript tree menu. dTree JavaScript can be obtained online.\footnote{dTree JavaScript API: \url{http://www.destroydrop.com/javascripts/tree/}}. In this case, the strategy adopted was entering the WMS server layers in an array. Thus, the layers tree is mounted by dTree from this array. Figure ~\ref{fig:layers}  demonstrates the layers visualization organized in tree form.

A cause du grand nombre de couches disponibles sur les serveurs WMS, la visualisation de la liste des couches sous forme d'une liste déroulante devient inadéquate.  L'affichage des couches a été modifié afin d'être chargé sous forme d'un arbre avec les options ''refermer'' et ''explorer''. La fonctionnalité a été implémentée par l'ajout de code Javascript dans le fichier im\_get\_services.xsl. L'API dTree, un arbre Javascript libre, a été utilisée. dTree peut être récupéré en ligne.\footnote{dTree JavaScript API: \url{http://www.destroydrop.com/javascripts/tree/}}. Dans ce cas, la stratégie adoptée a été de mettre les couches des serveurs WMS dans un tableau. dTree créé ensuite l'arbre des couches à partir de ce tableau. Figure ~\ref{fig:layers} présente la visualisation des couches sous forme d'un arbre. 

\begin{figure*}[htb]
   \centering
   \includegraphics[width=0.8\textwidth]{proceedings/bueno/layers.png}
   \caption{Interface InterMap personnalisée avec la visualisation de la liste des couches}
   \label{fig:layers} 
\end{figure*}

\section{Résultats}
\label{sec:résultats}

%An infrastructure was chosen and implemented that insured the capabilities for spatial data storage, manipulation and distribution.  The database was populated with spatial data regarding the Legal Brazilian Amazonia, including topics such as hydrography, geology, use and occupation of land, mineral resources, administrative boundaries, roads, soil, etc. Spatial data from SIPAM\'s other partners, such as the National Agency of Water (ANA) and Brazilian Geological Service (CPRM), Brazilian Institute of Geography and Statistics, IBGE was also stored in GeoSIPAM. The volume of data stored grows every day. Local customizations to available FOSS GIS packages allowed implementing some features into SIPAM which were particular to organizational environment.It was also verified that the use of OGC standards ensures interoperability with diverse systems. The spatial data and products elaborated for the operational team of the SIPAM are being registered in a cadastre and stored in the GeoSIPAM system.

%This information is being distributed in the internal net and also for the public in general, through the SIPAM\'s web portal over the Internet. Among the main partners which constantly access the site are the Environment Secretaries of the State Governments of Amazonia, the Environmental Police, regional universities and others. Implemented statistics controls have logged more than 100,000 hits to GeoSIPAM.

Une infrastructure ayant les capacités de stockage, de manipulation et de diffusion des données spatiales a été choisie et implémentée. La base de données a été remplie avec des données spatiales concernant l'Amazonie Brésilienne Légale, incluant des sujets tels que l'hydrographie, la géologie, l'utilisation et l'occupation du sol, les ressources minérales, les limites administratives, les routes, les sols, etc. Des données spatiales venant des autres partenaires du SIPAM, comme  l'Agence Nationale de l'Eau (ANA), le Service Géologique Brésilien (CPRM), l'Institut Brésilien de Géographie et de Statistiques, IBGE ont aussi été intégrées dans GeoSIPAM. Le volume des données stockées grandit chaque jour. Les personnalisations locales des packages SIG FOSS disponibles ont permis d'implémenter des éléments du SIPAM qui sont spécifiques à l'environnement organisationnel. Il a aussi été vérifié que l'utilisation des normes OGC respecte l'interopérabilité des divers systèmes. Les données spatiales et les produits élaborés pour l'équipe opérationnelle du SIPAM ont été enregistrées dans le cadastre et stockées dans le système GeoSIPAM. 
Cette information est en cours de diffusion sur le réseau interne mais aussi de façon public en général, à travers le portail web du SIPAM sur Internet. En plus des principaux partenaires qui accèdent constamment au site, on peut trouver les Secrétariats à l'Environnement des Gouvernements d'Etat de l'Amazonie, la Police Environnementale, des universités régionales et d'autres encore. Des contrôles statistiques ont montré plus de 100,000 connexions à GeoSIPAM. 


\begin{footnotesize}
\begin{thebibliography}{99}

\bibitem{Bueno:2007} Bueno, L.F., P.G. Zuza e W. Gabriel. GeoSIPAM: Manual do Usu\'{a}rio. Presid\^{e}ncia da Rep\'{u}blica, CENSIPAM, CTO/Pv, 2007, 52 p\'{a}ginas.
\bibitem{Camara:2001} C\^{a}mara G.; C. Davis, e A.M.V. Monteiro. 
\newblock Introdu\c{c}\~{a}o \`{a} Ci\^{e}ncia da Geoinforma\c{c}\~{a}o.  (online). 2001. \url{http://www.dpi.inpe.br/gilberto/livro/introd/}. 14 April 2007
\bibitem{Garnett:2007a} Garnett, J. e C. Holmes. 
\newblock What is Geoserver. (online). 2007. \url{http://docs.codehaus.org/display/GEOS/Home} 10 May 2007.
\bibitem{Geonetwork:2007a} GeoNetwork opensource Community website. (online). 2007. \url{http://geonetwork-opensource.org/} 19 March 2007.
\bibitem{Lamdro:2003} Landr\"{o}, Geir. dTree. (online). 2003. \url{http://www.destroydrop.com/javascripts/tree/} 05 Setembro 2007
\bibitem{Postgresqla} PostgreSQL Global Development Group. 
\newblock PostgreSQL 8.1.0 Documentation. (online). 2005. \url{http://www.postgresql.org/docs/manuals/} 05 May 2007
\bibitem{PostGISa} Refractions Research. PostGIS Manual. (online). 2005. \url{http://postgis.refractions.net/documentation/} 27 March 2007
\bibitem{Wheeler:2007} Wheeler, D.A. 
\newblock Why Open Source Software/Free Software (OSS/FS, FLOSS, or FOSS)? Look at the Numbers! (on line) 
\newblock \url{http://www.dwheeler.com/oss\_fs\_why.html} 03 June 2007


\end{thebibliography}
\end{footnotesize}


\address{Luis Fernando Bueno\\
  System of Protection of Amazon - SIPAM\\
  SPO \'{A}rea 05, Quadra 03, Bloco "K" Bras\'{i}lia - DF\\
  CEP 70610 - 200\\
  \email{luis.bueno AT sipam.gov.br}}

\address{Weberson Gabriel\\
\email{weberson.gabriel AT sipam.gov.br}}

\address{Pablo Filetti Moreira\\
\email{pablo.moreira AT sipam.gov.br}}

\address{Artur Henrique Villa Real F. Ramos\\
\email{artur.ramos AT sipam.gov.br}}

\address{Fabio Augusto das Dores Silva\\
\email{fabio.silva AT sipam.gov.br}}

\address{Marcelo Campos Brito\\
\email{marcelo.brito AT sipam.gov.br}}
