Open WPS Platform

Windows

Authors:Nicolas Bozon, Gérald Fenoy, Jeff McKenna
Last Updated:$Date: 2011-12-07 14:44:57 +0100 (Wed, 07 Dec 2011) $

Utiliser OSGeo4W

Installer OSGeo4W

Téléchargez l’installateur OSGeo4W depuis http://trac.osgeo.org/osgeo4w/, et l’installer avec toutes les dépendances nécessaires à vos services (GDAL/OGR par exemple). Les bibliothèques suivantes sont requises: FastCGI, libxml, Python, cURL.

Installer les autres outils et bibliothèques

Après l’installation de OSGeo4W sur votre plate-forme, vous aurez besoin de plus d’outils et bibliothèques GNU. Ce paquet contient toutes les dépendances requises pour compiler sur les plates-formes WIN32 et celui-ci contient toutes les dépendances pour l’exécution à placer dans votre c:OSGeo4Wbin.

Télécharger et installer le Kernel ZOO

Téléchargez la version binaire du Kernel ZOO pour WIN32 ensuite placez-la dans le répertoire C:\OSGeo4W\bin. N’oubliez pas de placer un fichier main.cfg dans le même répertoire, vous pouvez utiliser une copie modifiée de ce fichier.

Déployer les fournisseurs de services ZOO

Vous pouvez utiliser la version binaire du fournisseur de services OGR disponible depuis ici. Ensuite, placez les deux bibliothèques avec leurs fichiers .zcfg respectifs dans votre répertoire C:\OSGeo4W\bin local.

Tester

Maintenant, vous devriez être capable de faire une requête vers votre Kernel ZOO local.

Compiler en utilisant vos propres bibliothèques

Note

vous devez être sûr d’avoir effectué les étapes de prérequis avant la compilation du Kernel ZOO.

Les étapes suivantes sont pour être utiliser avec le compilateur Visual Studio de Microsoft (et testé avec MSVC 2008).

  1. Assurez-vous que les outils gnuwin32 bison.exe et flex.exe sont trouvés dans le chemin. Vous pouvez télécharger les outils GNUwin32 ici.

  2. Modifiez le fichier zoo-project\zoo-kernel\nmake.opt to point to your local libraries. You can find a modified nmake.opt that points to local libs here. You can also find a modified zoo-project\zoo-kernel\makefile.vc file here.

  3. Exécutez:

    nmake /f makefile.vc
  4. Un fichier zoo_loader.cgi devrait être créé. Notez que si un autre fichier nommé zoo_loader.cgi.manifest est aussi créé, vous aurez à lancer une autre commande:

    nmake /f makefile.vc embed-manifest
  5. Copiez les fichiers zoo_loader.cgi et main.cfg dans votre répertoire cgi-bin.

  6. En utilisant l’invite de commande, testez le zoo-kernel en exécutant la commande suivante:

    D:\ms4w\Apache\cgi-bin> zoo_loader.cgi

    qui devrait afficher un message tel que:

    Content-Type: text/xml; charset=utf-8
    Status: 200 OK
    
    <?xml version="1.0" encoding="utf-8"?>
    <ows:ExceptionReport xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/ows/1.1 http://schemas.opengis.net/ows/1.1.0/owsExceptionReport.xsd" xml:lang="en-US" version="1.1.0">
      <ows:Exception exceptionCode="MissingParameterValue">
        <ows:ExceptionText>Parameter &lt;request&gt; was not specified</ows:ExceptionText>
      </ows:Exception>
    </ows:ExceptionReport>
  7. Editez le fichier cgi-bin/main.cfg afin qu’il contienne les valeurs décrivant votre service WPS. Un exemple d’un fichier tel que cela fonctionnant sur Windows est:

    [main]
    encoding = utf-8
    version = 1.0.0
    serverAddress = http://localhost/
    lang = en-CA
    tmpPath=/ms4w/tmp/ms_tmp/
    tmpUrl = /ms_tmp/
    
    [identification]
    title = The Zoo WPS Development Server
    abstract = Development version of ZooWPS. See http://www.zoo-project.org
    fees = None
    accessConstraints = none
    keywords = WPS,GIS,buffer
    
    [provider]
    providerName=Gateway Geomatics
    providerSite=http://www.gatewaygeomatics.com
    individualName=Jeff McKenna
    positionName=Director
    role=Dev
    adressDeliveryPoint=1101 Blue Rocks Road
    addressCity=Lunenburg
    addressAdministrativeArea=False
    addressPostalCode=B0J 2C0
    addressCountry=ca
    addressElectronicMailAddress=info@gatewaygeomatics.com
    phoneVoice=False
    phoneFacsimile=False
  8. Ouvrez une fenêtre de navigateur web, et exécutez une requête GetCapababilites sur votre service WPS: http://localhost/cgi-bin/zoo_loader.cgi?request=GetCapabilities&service=WPS

    La réponse devrait être affichée dans votre navigateur, comme:

    <wps:Capabilities xsi:schemaLocation="http://www.opengis.net/wps/1.0.0 http://schemas.opengis.net/wps/1.0.0/wpsGetCapabilities_response.xsd" service="WPS" xml:lang="en-US" version="1.0.0">
    <ows:ServiceIdentification>
      <ows:Title>The Zoo WPS Development Server</ows:Title>
      <ows:Abstract>
        Development version of ZooWPS. See http://www.zoo-project.org
      </ows:Abstract>
      <ows:Keywords>
        <ows:Keyword>WPS</ows:Keyword>
        <ows:Keyword>GIS</ows:Keyword>
        <ows:Keyword>buffer</ows:Keyword>
      </ows:Keywords>
      <ows:ServiceType>WPS</ows:ServiceType>
      <ows:ServiceTypeVersion>1.0.0</ows:ServiceTypeVersion>
      ...

Compiler optionnellement les services de manière individuelle

Un exemple pourrait être le fournisseur OGR base-vect-ops dans le répertoire zoo-project\zoo-services\ogr\base-vect-ops.

  1. Editez le makefile.vc situé dans ce répertoire, et exécutez:

    nmake /f makefile.vc

    A l’intérieur du même répertoire, le fichier cgi-env\ogr_service.zo devrait être créé.

  2. Copiez tous les fichiers dedans zoo-services\ogr\base-vect-ops\cgi-env dans votre répertoire cgi-bin

  3. Testez ce fournisseur de service via l’URL suivante:

    http://localhost/cgi-bin/zoo_loader.cgi?request=Execute&service=WPS&version=1.0.0&Identifier=Buffer&DataInputs=BufferDistance=1@datatype=interger;InputPolygon=Reference@xlink:href=http%3A%2F%2Fwww.zoo-project.org%3A8082%2Fgeoserver%2Fows%3FSERVICE%3DWFS%26REQUEST%3DGetFeature%26VERSION%3D1.0.0%26typename%3Dtopp%3Astates%26SRS%3DEPSG%3A4326%26FeatureID%3Dstates.15

    La réponse affichée dans votre navigateur doit contenir:

    <wps:ProcessSucceeded>Service "Buffer" run successfully.</wps:ProcessSucceeded>