HowToWFSpangeoGeoserver » Historique » Version 30

« Précédent - Version 30/39 (diff) - Suivant » - Version actuelle
Agnes Tellez Arenas, 13/03/2017 11:39


Pour mémoire tant que le server est up, ancienne version avec eXows (et ancienne version de la data spec)
http://pangeo.brgm-rec.fr/exowsPangeoFR/?SERVICE=WFS&VERSION=1.0.0&REQUEST=getFeature&typename=PANGEO_ENG_london_ground_stability&MAXFEATURES=1

remarque: install plug-in XMLTools pour nodepad++, qui permet la validation (attention, ne placer qu'un seul xsd dans le xsj:schemaLocation).

Urls et servers

  • BD : server EPOS [voir keepass]

Install geoserver pour INSPIRE et WFS app-schema

mapping des données

On choisit (? à valider par thématicien?) de partir sur "ObservedEvent": Discrete spatial objects representing natural phenomenon relevant to the study of natural hazards which occurred, or is currently occuring, and which has been observed.
  • On aurait pu utiliser dans la table Pangeo la colonne "determine" qui peut être : "3_ObservedGeologyFieldCampaigns", "1_ObservedPSI", "4_PotentialInstability", "2_ObservedOtherDefMeasurement". MAIS lorsque c'est "potential" on a tout de même une date de début et de fin de l'event. donc... on reste sur de l'event observé.
  • la colonne "determine" n'est donc pas utilisé (on va le mettre dans le name histoire de conserver qlq chose)
  • On utilise le tag specificHazardType pour coller les valeurs (venues de la table pangeo) des hazardcategory et hazardtype. En effet, pas de correspondance entre l'ancien hazardcategory et le hazardcategory INSPIRE (http://inspire.ec.europa.eu/codeList/NaturalHazardCategoryValue).
  • en hazardcategory INSPIRE on utilise (voir http://www.pangeoproject.eu/eng/what_are_geohazards pour les valeurs anciennes):
    • pour les anciennes valeurs de haztype
      • "1_1Earthquake" >> "earthquake"
      • "1_4VolcanicInflationDeflation" >> "landslide"
      • tous les "4*" qui correspondent à "4_AnthropogenicGroundInstability" >> "other geological / hydrological hazard"
      • le reste >> "geological / hydrological"

CREATE TABLE pangeo.inspireobservedevent
(
  gmlid  serial NOT NULL,
  beginlifespanversion date, --20140101 : c'est la fin du projet.
  inspireid character varying(50), -- le namespace est en dur: GBPangeoHazard
  nameofevent character varying(50), -- on y met determine
  hazardCategory character varying(100),
  specifichazardtype character varying(200), -- on concat les anciens hazcat et haztype (les labels)
  validfrom date, -- obsstart
  validto date, -- obsend
  geom geometry(MultiPolygon,4326),
  hazcat character varying(50),
  haztype character varying(50),
  CONSTRAINT inspireobservedevent_pkey PRIMARY KEY (gmlid)
)

insert into pangeo.inspireobservedevent (
    select gid, '2014-1-1'::date, inspireid, 
        (select codetranslation from pangeo.pangeovocabs where code=determine and vocab='determin'),
        '', --hazardCategory
        (select codetranslation from pangeo.pangeovocabs where code=hazcat and vocab='hazcat') || ': '||(select codetranslation from pangeo.pangeovocabs where code=haztype and vocab='haztype'), --specifichazardtype
        obsstart, --validfrom
        obsend, --validto
        geom , 
        hazcat, haztype
        from pangeo.pangeogsl
);

update pangeo.inspireobservedevent set hazardCategory='http://inspire.ec.europa.eu/codelist/NaturalHazardCategoryValue/geologicalHydrological';
update pangeo.inspireobservedevent set hazardCategory='http://inspire.ec.europa.eu/codelist/NaturalHazardCategoryValue/otherGeologicalHydrological' where hazcat='4_AnthropogenicGroundInstability';
update pangeo.inspireobservedevent set hazardCategory='http://inspire.ec.europa.eu/codelist/NaturalHazardCategoryValue/landslide' where haztype='1_4VolcanicInflationDeflation';
update pangeo.inspireobservedevent set hazardCategory='http://inspire.ec.europa.eu/codelist/NaturalHazardCategoryValue/earthquake' where haztype='1_1Earthquake';

alter table pangeo.inspireobservedevent drop column hazcat;
alter table pangeo.inspireobservedevent drop column haztype;

Exemple de XML qui valide

   <nz-core:ObservedEvent  gml:id="PGGH_London_009" 
             xmlns:gml="http://www.opengis.net/gml/3.2" 
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
             xsi:schemaLocation="http://inspire.ec.europa.eu/schemas/nz-core/4.0/NaturalRiskZonesCore.xsd" 
             xmlns:nz-core="http://inspire.ec.europa.eu/schemas/nz-core/4.0" 
             xmlns:xlink="http://www.w3.org/1999/xlink" 
             xmlns:wfs="http://www.opengis.net/wfs/2.0" 
             xmlns:base="http://inspire.ec.europa.eu/schemas/base/3.3"    
        >
    <!-- Discrete spatial objects representing natural phenomenon relevant to the study of natural hazards which occurred, or is currently occuring, and which has been observed.. -->

        <nz-core:beginLifeSpanVersion xsi:nil="true"/>
            <!--  Date and time at which this version of the spatial object was inserted or changed in the spatial data set.-->
        <nz-core:endLifeSpanVersion xsi:nil="true"/><!-- no value in our database -->
      <nz-core:inspireId>
        <base:Identifier >
          <base:localId>PGGH_London_009</base:localId>
          <base:namespace>GBPangeoHazard</base:namespace>
        </base:Identifier>
      </nz-core:inspireId>            
      <nz-core:nameOfEvent>XXX</nz-core:nameOfEvent>
      <nz-core:typeOfHazard>
        <!-- A generic classification and a specific classification of the type of natural hazard. -->
        <nz-core:NaturalHazardClassification>
             <nz-core:hazardCategory xlink:href="4_AnthropogenicGroundInstability"/> <!-- http://inspire.ec.europa.eu/codeList/NaturalHazardCategoryValue -->
            <nz-core:specificHazardType xlink:href="4_5UndergroundConstruction"/> <!-- 
                                                                Additional classification of the natural hazard that further specifies the hazard 
                                                                type according to a nomenclature that is specific to this dataset. -->
        </nz-core:NaturalHazardClassification>
    </nz-core:typeOfHazard>
    <nz-core:validFrom>1992-06-19T00:00:00</nz-core:validFrom><!-- The time when the observed event started to exist in the real world.-->
    <nz-core:validTo>2010-09-17T00:00:00</nz-core:validTo>

      <nz-core:geometry></nz-core:geometry>

    <nz-core:magnitudeOrIntensity xsi:nil="true"/>
        <!-- An expression of the magnitude or the intensity of a phenomenon.
            It may address a value within the Richter scale, or a description of the european macro-seismic scale, or a flood flow, etc... -->

    </nz-core:ObservedEvent>

Configuration geoserver pour WFS app-schema

Voir aussi: https://forge.brgm.fr/projects/standardisation/wiki/REX_implementations_BRGM
Voir aussi: http://www.onegeology.org/docs/technical/OneGeologyWFSCookbook_v1.0.pdf
Voir aussi: http://docs.geoserver.org/stable/en/user/data/app-schema/index.html

Recharger par la console d'admin GEOSERVER quand modif des fichiers XML (il suffit de sauver la configuration globale).

Par l'interface admin geoserver:

  • Désormais la couche existe (aller voir dans la liste des couches): la publier (ajouter l'emprise).
    • on constate la création d'un folder "ObservedEvent" (du nom du typeName)

http://127.0.0.1:8080/geoserver/ows?SERVICE=WFS&VERSION=2.0.0&REQUEST=getFeature&typename=nz-core:ObservedEvent&count=1