Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Nouveau membre du Club
    requête wfs ign : liste des parcelles sans les parcelles contigües
    Bonsoir
    je fais la requête suivante avec le filtre Intersects et ça marche bien, trop bien parce que je voudrais exclure les parcelles contiguës de ce résultat.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <wfs:GetFeature service="WFS" version="2.0.0" outputFormat="application/json" resultType="results" xmlns:wfs="http://www.opengis.net/wfs/2.0" xmlns:fes="http://www.opengis.net/fes/2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:gml="http://www.opengis.net/gml/3.2" xsi:schemaLocation="http://www.opengis.net/wfs/2.0 http://schemas.opengis.net/wfs/2.0.0/wfs.xsd"><wfs:Query typeNames="CADASTRALPARCELS.PARCELLAIRE_EXPRESS:parcelle" srsName="EPSG:4326"><Filter xmlns="http://www.opengis.net/fes/2.0"><Intersects><ValueReference>the_geom</ValueReference><gml:MultiSurface srsName="EPSG:4326"><gml:surfaceMember><gml:Polygon srsName="EPSG:4326"><gml:exterior><gml:LinearRing srsName="EPSG:4326"><gml:posList srsDimension="2">3.1407066200000004 45.73578058000001 3.14065378 45.73603738 3.14088289 45.73607014000001 3.14121504 45.736117809999996 3.14123943 45.73604745 3.14126407 45.73597953000001 3.1412975600000004 45.73590050999999 3.14126567 45.73584903999998 3.1407066200000004 45.73578058000001</gml:posList></gml:LinearRing></gml:exterior></gml:Polygon></gml:surfaceMember></gml:MultiSurface></Intersects></Filter></wfs:Query></wfs:GetFeature>
    Alors parmi les opérateurs suivants de la couche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <fes:SpatialOperator name="Disjoint"/>
    <fes:SpatialOperator name="Equals"/>
    <fes:SpatialOperator name="DWithin"/>
    <fes:SpatialOperator name="Beyond"/>
    <fes:SpatialOperator name="Intersects"/>
    <fes:SpatialOperator name="Touches"/>
    <fes:SpatialOperator name="Crosses"/>
    <fes:SpatialOperator name="Within"/>
    <fes:SpatialOperator name="Contains"/>
    <fes:SpatialOperator name="Overlaps"/>
    <fes:SpatialOperator name="BBOX"/>
    j'ai essayé Overlaps et ça donne le même résultat, Touches ne donne rien, Crosses une erreur.
    Là le polygone correspond à une parcelle, mais parfois l'emprise empiète sur plusieurs parcelles, et le but est d'avoir automatiquement la liste des parcelles stricto sensu et pas les voisines contigües.
    Auriez vous svp une idée de comment ce faire dans la requête ?

    Je ne sais pas comment fonctionne intersects, mais une requête sur la géométrie de la parcelle 63272000BV0026 donne les parcelles 63272000BV0027,63272000BV0026,63272000BV0025, tandis qu'une requête sur la géométrie de la parcelle 63272000BV0027 donne les parcelles 63272000BV0028,63272000BV0027,63272000BV0025 et donc plus la 26.
    Il n'y a donc même pas de cohérence sur les adjacents.
    Bizarre.

  2. #2
    Nouveau membre du Club
    Alors si je parse les polygones du résultat avec la librairie turf.js et intersect, cela me permet effectivement de distinguer, parmi les résultats, les géométries de type "Polygon" pour celles qui empiètent et de type "LineString" ou "point" pour les adjacentes. A noter qu'avec turf.js la comparaison entre les parcelles 63272000BV0027 et 63272000BV0026, ne donne rien, ce qui indique que leurs géométries ne se superposent donc aucunement.
    Donc mission réussie à postériori, mais il serait pê plus efficace de trouver ce résultat par requête directement.
    Et les requêtes intersects avec les parcelles 63272000BV0027 et 63272000BV0026 montrent un résultat incohérent, la première n'intersectant pas la seconde, alors que la seconde intersecte la première. Du coup le résultat du filtre intersects est-il fiable ?

###raw>template_hook.ano_emploi###