Un WMS de AQréseau

J'ai fait quelques essais avec la couche de données gratuite AQréseau. J'ai chargé les données dans Postgresql/PostGIS. Ce WMS (http://mapcoop.org/cgi-bin/aqreseau) diffusé avec Mapserver est disponible pour consultation dans votre SIG bureautique préféré. La cartographie du service n'est pas parfaite mais elle montre ce qu'il est possible de faire avec cette nouvelle couche de données. Je l'ai aussi placé dans une vue OpenLayers pour rendre la chose plus facile et la consulter rapidement. Le WMS AQréseau: http://mapcoop.org/cgi-bin/aqreseau Du point de vue purement cartographique, on pourra y faire quelques découvertes.  Entre autres la liste de données qu'il est possible de cartographier. Le nombre de segments "Pistes cyclables" (11) n'est pas très élevé pour l'instant. Même chose pour les "Sentiers piétonniers"(2). Espérons qu'on aura accès à cette information prochainement... J'ajoute quelques statistiques sur la classification des données pour cette première version. select clsrte,caractrte,count(gid) from aq_routes group by clsrte,caractrte order by clsrte,caractrte;
clsrtecaractrteNb de segments
Accès localités isolées178
Accès ressourcesBretelle3
Accès ressources694
ArtèreBretelle263
ArtèreTraverse530
Artère19485
AutorouteBretelle4772
AutorouteTraverse301
AutorouteVirage en U1325
AutorouteVoie de service528
Autoroute8179
Collectrice564
Collectrice de transitBretelle63
Collectrice de transitCarrefour giratoire6
Collectrice de transitTraverse28
Collectrice de transitVirage en U14
Collectrice de transit15176
Collectrice municipaleBretelle309
Collectrice municipaleCarrefour giratoire14
Collectrice municipaleConflit SDA4
Collectrice municipaleTraverse799
Collectrice municipaleVirage en U5
Collectrice municipale34485
LocaleBretelle585
LocaleCarrefour giratoire12
LocaleConflit SDA30
LocaleDivers 51
LocaleLiaison maritime42
LocaleTournebride1
LocaleTraverse3168
LocaleVirage en U55
LocaleVirtuel617
LocaleVoie de service4
Locale280914
NationaleBretelle675
NationaleCarrefour giratoire78
NationaleTournebride15
NationaleTraverse131
NationaleVirage en U157
NationaleVoie de service9
Nationale20170
Piste cyclable11
RégionaleBretelle172
RégionaleCarrefour giratoire29
RégionaleTournebride5
RégionaleTraverse70
RégionaleVirage en U23
Régionale13561
Rue piétonne14
Sentier piétonnier2
   

Requêtes WFS complexes

J'ai cherché un exemple de requête WFS complexe sur le Web sans vraiment de success.. J'ai donc construit et testé quelques exemples que je partage ici ... :-) NOTE: Pour tester rapidement la requête WFS, on peut simplement utiliser curl en ligne de commande: curl --output test-wfs.gml -H "Content-type: text/xml" -d "[MON_XML_WFS_QUERY]" http://test.domaine.ca/cgi-bin/wfs_extract_service? On peut aussi sauvegarder en format Shapefiles zipés avec Mapserver 6.0. On ajoute simplement dans le URL un outputformat et ça fonctionne: curl --output test-wfs.zip -H "Content-type: text/xml" -d "[MON_XML_WFS_QUERY]" http://test.domaine.ca/cgi-bin/wfs_extract_service?outputformat=SHAPEZIP Ce premier exemple va extraire des données sur trois classes d'entités simultanément. J'ai ajouté un filtre spatial sur la troisième classe et des filtres descriptifs sur les deux premières: <wfs:GetFeature xmlns:wfs="http://www.opengis.net/wfs"           service="WFS"           version="1.0.0"           outputFormat="text/xml; subtype=gml/3.1.1"           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <wfs:Query typeName="QASW_V_SDO">      <Filter>           <AND>                <PropertyIsEqualTo>                     <PropertyName>NO_NUM</PropertyName>                     <Literal>1234</Literal>                </PropertyIsEqualTo>                <PropertyIsEqualTo>                     <PropertyName>PDG</PropertyName>                     <Literal>3</Literal>                </PropertyIsEqualTo>                <PropertyIsEqualTo>                      <PropertyName>ANNEE</PropertyName>                      <Literal>2011</Literal>                </PropertyIsEqualTo>                <OR>                     <PropertyIsEqualTo>                          <PropertyName>STATUT</PropertyName>                          <Literal>ACT</Literal>                     </PropertyIsEqualTo>                     <PropertyIsEqualTo>                          <PropertyName>STATUT</PropertyName>                          <Literal>TER</Literal>                     </PropertyIsEqualTo>                </OR>           </AND>      </Filter> </wfs:Query> <wfs:Query typeName="CQWW_V_SDO">      <Filter>           <AND>                <PropertyIsEqualTo>                     <PropertyName>PDG</PropertyName>                     <Literal>12345</Literal>                </PropertyIsEqualTo>                <PropertyIsEqualTo>                     <PropertyName>NPD</PropertyName>                     <Literal>3</Literal>                </PropertyIsEqualTo>                <PropertyIsEqualTo>                      <PropertyName>ANNEE</PropertyName>                      <Literal>2011</Literal>                </PropertyIsEqualTo>                <OR>                     <PropertyIsEqualTo>                          <PropertyName>STATUT</PropertyName>                          <Literal>ACT</Literal>                     </PropertyIsEqualTo>                     <PropertyIsEqualTo>                          <PropertyName>STATUT</PropertyName>                          <Literal>TER</Literal>                     </PropertyIsEqualTo>                </OR>           </AND>      </Filter> </wfs:Query> <wfs:Query typeName="NTCQ_P_SDO">      <Filter>           <BBOX>                <PropertyName>GEOM</PropertyName>                     <BOX srsName="EPSG:4326">                          <coordinates>-68.5329,45.6624 -65.3673,46.1815</coordinates>                     </BOX>           </BBOX>      </Filter> </wfs:Query> </wfs:GetFeature> Bien que largement documenté, une requête WFS-T qui ajoute une géométrie et quelques attributs dans une classe d'entités: <wfs:Transaction xmlns:wfs="http://www.opengis.net/wfs"      service="WFS"      version="1.0.0"      xsi:schemaLocation="http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.0.0/WFS-transaction.xsd"      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <wfs:Insert>      <feature:WFST_TBL_S xmlns:feature="http://test.domaine.ca/wfs">           <feature:GEOM>                <gml:MultiPolygon xmlns:gml="http://www.opengis.net/gml" srsName="EPSG:4326">                     <gml:polygonMember>                          <gml:Polygon>                               <gml:outerBoundaryIs>                                    <gml:LinearRing>                                         <gml:coordinates decimal="." cs="," ts=" ">-72.271939548267,46.396721175948 -72.257519992603,46.402877012708 -72.240010532154,46.396484399126 -72.23795059563,46.388196563093 -72.248250278248,46.383696925045 -72.259236606373,46.384170588622 -72.266789706959,46.388196563093 -72.271939548267,46.396721175948                                         </gml:coordinates>                                    </gml:LinearRing>                               </gml:outerBoundaryIs>                          </gml:Polygon>                     </gml:polygonMember>                </gml:MultiPolygon>           </feature:GEOM>           <feature:TEXT>Ceci est un test</feature:TEXT>           <feature:TYPE>12</feature:TYPE>      </feature:WFST_TBL_S> </wfs:Insert> </wfs:Transaction>