Suite

Requête WFS avec projection CQL_Filter


J'ai une couche dans Geoserver appelée bln_blocks. La couche est enEPSG : 3857.

Je fais la requête WFS suivante avec un filtre CQL :

var geoserverURL = geoserverURL + '/ows?'; var service = 'service=WFS&'; var version = 'version=1.1.0&'; var request = 'request=GetFeature&'; var typeName = 'typeName=' + layerName ; var special = "&outputFormat=text/javascript&format_options=callback:getJson"; Filtre var = '& CQL_FILTER =% DANS 28geom% 2C + POLYGON% 28% 281.489.248,8973085624165833 + 6895049,90960700158029795% 2C1489248.8973085624165833 + 6895577,80283359717577696% 2C1489945.19086309685371816 + 6.895.577,80283359717577696% 2C1489945.19086309685371816 + 6.895.049,90960700158029795% 2C1489248.8973085624165833 + 6.895.049,90960700158029795% 29% 29% 29' ; var urlWFS = geoserverURL + service + version + requête + typeName + filtre + spécial ;

Le polygone dans mon CQL_Filter est également enEPSG : 3857. Est-il possible que je spécifie mon polygone dansEPSG : 4326?


Pour autant que je sache, ce n'est pas pris en charge. Demandez d'abord à la liste de diffusion geoserver-users et faites une demande de fonctionnalité à Geoserver jira car cela semble être un ajout utile. En attendant, vous pouvez utiliser le filtre OGC standard à la place

  le_geom  -74.817265,40.5296504

UtilisantFILTREdans les requêtes HTTP GET est un peu délicat et laid. Vous devez tout encoder en URL après le&FILTRE=et vous devez probablement aussi ajouter quelques définitions d'espace de noms, mais en étudiant l'exemple suivant, cela devrait être faisable.

http://localhost:8080/geoserver/wfs?request=GetFeature&version=1.0.0&typeName=topp:states&outputFormat=GML2&FILTER=%3CFilter%20xmlns=%22http://www.opengis.net/ogc%22%20xmlns:gml= %22http://www.opengis.net/gml%22%3E%3CIntersects%3E%3CPropertyName%3Ethe_geom%3C/PropertyName%3E%3Cgml:Point%20srsName=%22EPSG:4326%22%3E%3Cgml:coordinates% 3E-74.817265,40.5296504%3C/gml:coordonnées%3E%3C/gml:Point%3E%3C/Intersects%3E%3C/Filtre%3E

Openlayers 3 - WFS ne se met pas à jour sur le panoramique de la carte

J'utilisais un filtre CQL pour renvoyer mes points en fonction d'un certain type. J'ai ensuite ajouté une BBOX au filtre pour limiter les résultats uniquement à l'étendue actuelle de la carte. Tout cela fonctionnait correctement. Le seul problème est que si je fais un panoramique de la carte, l'appel WFS ne se recharge pas. Donc, si je zoome sur un point, le wfs filtre correctement, si je me déplace ensuite vers une zone où je sais qu'il y a un point, il n'y aura rien à moins que je modifie le niveau de zoom. Cela mettra à jour le WFS.

Dans mon paramètre de chargeur ServerVector, j'appelle une fonction updateWFSURL(extent). J'utilise ceci pour créer l'url WFS en fonction des critères de filtre à transmettre au CQL_FILTER. Je n'ai actuellement aucune stratégie de chargement, j'ai essayé d'utiliser createTile et bbox mais aucun ne m'a donné le bon résultat.

Voici le code que j'utilise pour ajouter la BBOX à mon CQL_FILTER. D'autres filtres sont ajoutés après et ce filtre est ajouté à l'url WFS.

La solution de contournement que j'ai trouvée consistait à capturer l'événement map moveend et à appeler la updateWFSURL (extent) à partir de là. Cela se mettra à jour correctement sur un panoramique, mais l'URL updateWFSURL sera appelée deux fois sur le zoom car elle est déclenchée par le chargeur WFS et l'événement moveend.

La solution que je recherche est d'avoir ma mise à jour WFS correctement sur le panoramique ou de déterminer la différence entre un panoramique/zoom afin que je ne puisse pas appeler la fonction dans moveend s'il s'agissait d'un zoom.

Ajout de plus de code ci-dessous. Suppression de l'URL du géoserveur et du nom de la couche que j'utilise et suppression d'une partie du filtre CQL qui ne faisait que filtrer sur un ID. Ce wfs ne met pas à jour la carte sur le panoramique sans mon travail.


La requête OpenLayers WFS lors d'un clic de souris vers GeoServer ne charge pas les entités dans la couche vectorielle

J'apprécierais des conseils pour obtenir une demande OpenLayers WFS à GeoServer fonctionnant dans OL3.2 ou une version ultérieure, déclenchée par un simple clic de souris.

À titre d'information, cela fonctionne bien depuis un an sur http://maps.nls.uk/geo/find/ en utilisant OL 3.1. Cependant, la version 43.0 de Firefox enregistre l'événement de clic de souris dans le coin supérieur gauche du canevas de la carte, et non sur l'emplacement réel des pixels cliqués - les versions antérieures de Firefox, Chrome et IE enregistrent l'emplacement correct des pixels sur le canevas. D'après mes tests de base, les versions ultérieures d'OL après 3.1 enregistrent l'emplacement correct des pixels à l'aide de Firefox 43.0, j'aimerais donc passer à une version plus récente d'OL.

Mon code d'origine en OL3.1 est le suivant :

J'ai essayé d'adapter ceci en suivant l'exemple sur http://openlayers.org/en/v3.6.0/examples/vector-wfs.html et OL 3.6 avec le code ci-dessous :

Cependant, j'essaie les choses, il ne parvient pas à récupérer les fonctionnalités de GeoServer dans vectorSource et j'apprécierais tous les pointeurs ou suggestions.


Requête WFS avec projection CQL_Filter - Systèmes d'Information Géographique

Consortium géospatial ouvert

Date de publication : 2016-06-10

Veuillez vous référer aux errata de ce document,
qui peut inclure quelques corrections normatives.

Formats supplémentaires (informatifs) :

Version précédente (informative) : html

Numéro de référence interne de ce document OGC ® : 12-176r7

Catégorie : Norme de mise en œuvre OGC ®

Editeurs : Doug Nebert , Uwe Voges , Panagiotis Vretanos , Lorenzo Bigagli , Bruce Westcott

Spécification OGC® Catalog Services 3.0 - Liaison de protocole HTTP

L'OGC Catalog Service 3.0 SWG souhaite dédier ce travail à la mémoire de Douglas D. Nebert. Doug était l'organisateur et le président du groupe qui a coordonné l'édition de cette spécification. Il a longtemps plaidé pour le développement d'une norme de catalogue au sein de l'OGC et était en effet un fervent défenseur de l'OGC et de ses idéaux. Il restera dans les mémoires et manquera.
Vous pouvez en savoir plus sur Doug sur notre site Web.

Copyright

Copyright © 2016 Consortium Géospatial Ouvert
Pour obtenir des droits d'utilisation supplémentaires, visitez http://www.opengeospatial.org/legal/.

Ce document est une norme internationale approuvée par les membres de l'OGC. Ce document est disponible sur une base libre de droits et non discriminatoire. Les destinataires de ce document sont invités à soumettre, avec leurs commentaires, une notification de tout droit de brevet pertinent dont ils ont connaissance et à fournir des pièces justificatives.

Type de document: Norme OGC
Sous-type de document : Partie de la norme de mise en œuvre
Étape du document : Approuvé comme norme officielle OGC
Langue du document : Anglais

L'Open Geospatial Consortium ("Concédant de licence") accorde par la présente l'autorisation, gratuitement et sous réserve des conditions énoncées ci-dessous, à toute personne obtenant une copie de cette propriété intellectuelle et de toute documentation associée, de traiter la propriété intellectuelle sans restriction (sauf comme indiqué ci-dessous), y compris, sans limitation, les droits de mise en œuvre, d'utilisation, de copie, de modification, de fusion, de publication, de distribution et/ou de sous-licence de copies de la propriété intellectuelle, et d'autoriser les personnes à qui la propriété intellectuelle est fournie pour ce faire, à condition que tous les avis de droit d'auteur sur la propriété intellectuelle soient conservés intacts et que chaque personne à qui la propriété intellectuelle est fournie accepte les termes du présent accord.

Si vous modifiez la propriété intellectuelle, toutes les copies de la propriété intellectuelle modifiée doivent inclure, en plus de l'avis de droit d'auteur ci-dessus, un avis indiquant que la propriété intellectuelle comprend des modifications qui n'ont pas été approuvées ou adoptées par le CONCÉDANT.

CETTE LICENCE EST UNIQUEMENT UNE LICENCE DE COPYRIGHT ET NE CONVIENT AUCUN DROIT AU TITRE DE BREVETS QUI PEUVENT ÊTRE EN VIGUEUR PARTOUT DANS LE MONDE.

LA PROPRIÉTÉ INTELLECTUELLE EST FOURNIE « EN L'ÉTAT », SANS GARANTIE D'AUCUNE SORTE, EXPRESSE OU IMPLICITE, Y COMPRIS, MAIS SANS S'Y LIMITER, LES GARANTIES DE QUALITÉ MARCHANDE, D'ADAPTATION À UN USAGE PARTICULIER ET D'ABSENCE DE VIOLATION DES DROITS DE TIERS. LE OU LES TITULAIRES DU DROIT D'AUTEUR INCLUS DANS CET AVIS NE GARANTISSENT PAS QUE LES FONCTIONS CONTENUES DANS LA PROPRIÉTÉ INTELLECTUELLE RÉPONDRONT À VOS EXIGENCES OU QUE LE FONCTIONNEMENT DE LA PROPRIÉTÉ INTELLECTUELLE SERA ININTERROMPU OU SANS ERREUR. TOUTE UTILISATION DE LA PROPRIÉTÉ INTELLECTUELLE SE FERA ENTIÈREMENT AUX PROPRES RISQUES DE L'UTILISATEUR. EN AUCUN CAS LE TITULAIRE DU DROIT D'AUTEUR OU TOUT CONTRIBUTEUR DE DROITS DE PROPRIÉTÉ INTELLECTUELLE SUR LA PROPRIÉTÉ INTELLECTUELLE NE POURRA ÊTRE TENU RESPONSABLE DE TOUTE RÉCLAMATION OU DE TOUT DOMMAGE DIRECT, SPÉCIAL, INDIRECT OU CONSÉCUTIF, OU DE TOUT DOMMAGE RÉSULTANT DE TOUTE INFRACTION ALLÉGUÉE OU DE TOUTE UTILISATION DONNÉES OU BÉNÉFICES, QUE CE SOIT DANS UNE ACTION DE CONTRAT, DE NÉGLIGENCE OU EN VERTU DE TOUTE AUTRE THÉORIE JURIDIQUE, DÉCOULANT DE OU EN RELATION AVEC LA MISE EN OEUVRE, L'UTILISATION, LA COMMERCIALISATION OU LA PERFORMANCE DE CETTE PROPRIÉTÉ INTELLECTUELLE.

Cette licence est effective jusqu'à sa résiliation. Vous pouvez y mettre fin à tout moment en détruisant la propriété intellectuelle ainsi que toutes les copies sous quelque forme que ce soit. La licence sera également résiliée si vous ne vous conformez pas à l'une ou l'autre des conditions du présent Contrat. Sauf dans les cas prévus dans la phrase suivante, aucune résiliation de cette licence ne nécessitera la résiliation d'une sous-licence d'utilisateur final tiers à la propriété intellectuelle qui est en vigueur à la date de notification de cette résiliation. En outre, si la propriété intellectuelle, ou l'exploitation de la propriété intellectuelle, enfreint ou, selon le seul avis du CONCÉDANT, est susceptible de violer un brevet, un droit d'auteur, une marque de commerce ou tout autre droit d'un tiers, vous acceptez que le CONCÉDANT, à sa seule discrétion, peut résilier cette licence sans aucune compensation ni responsabilité envers vous, vos titulaires de licence ou toute autre partie. Vous acceptez en cas de résiliation de quelque nature que ce soit de détruire ou de faire détruire la propriété intellectuelle ainsi que toutes les copies sous quelque forme que ce soit, qu'elles soient détenues par vous ou par un tiers.

Sauf indication contraire dans le présent avis, le nom du CONCÉDANT ou de tout autre titulaire d'un droit d'auteur sur tout ou partie de la propriété intellectuelle ne doit pas être utilisé dans la publicité ou autrement pour promouvoir la vente, l'utilisation ou d'autres transactions dans cette propriété intellectuelle sans l'autorisation écrite du CONCÉDANT ou du titulaire du droit d'auteur. LE CONCÉDANT est et sera à tout moment la seule entité qui peut vous autoriser ou tout tiers à utiliser des marques de certification, des marques commerciales ou d'autres désignations spéciales pour indiquer la conformité avec les normes ou spécifications du CONCÉDANT. Cet accord est régi par les lois du Commonwealth du Massachusetts. L'application au présent Accord de la Convention des Nations Unies sur les contrats de vente internationale de marchandises est expressément exclue. Dans le cas où une disposition du présent Accord serait jugée inapplicable, nulle ou invalide, cette disposition sera modifiée de manière à la rendre valide et exécutoire, et tel que modifié, l'intégralité de l'Accord restera en vigueur et de plein effet. Aucune décision, action ou inaction du CONCÉDANT ne doit être interprétée comme une renonciation à tout droit ou recours dont il dispose.

Ce document spécifie le profil HTTP de la partie CSW General Model (voir OGC 12-168r6). Le modèle général spécifie les interfaces abstraites entre les clients et les services de catalogue. Cette norme spécifie le mappage de l'interface de modèle abstrait de catalogue dans la liaison de protocole HTTP.

Dans cette liaison de protocole HTTP, les demandes d'opération et les réponses sont envoyées entre les clients et les serveurs à l'aide des méthodes HTTP GET et/ou HTTP POST. Deux codages de requête équivalents sont définis dans cette norme. Le premier utilisant des paires mot-clé-valeur (KVP) qui convient à une utilisation avec la méthode HTTP GET. La seconde utilisant XML qui convient à une utilisation avec la méthode HTTP POST.

Cette norme définit les opérations qui permettent à un client d'obtenir un document de description de service pour les opérations de catalogue (c'est-à-dire GetCapabilities) qui permettent à un client, au moment de l'exécution, d'interroger le service sur les types de données disponibles (c'est-à-dire les opérations GetDomain) qui permettent à un client de extraire les enregistrements du catalogue (c'est-à-dire GetRecordById et GetRecords) opérations qui permettent à un client d'ajouter, de modifier et de supprimer des enregistrements du service de catalogue (c'est-à-dire Transaction, Harvest, UnHarvest).

Les mots-clés suivants doivent être utilisés par les moteurs de recherche et les catalogues de documents.

ogcdoc, document OGC,asynchrone, ATOM, catalogue, CQL, client, CSW, csw:Record, distribué, Dublin Core, fédéré, filtre, GetCapabilities, GetDomain, GetRecords, GetRecordById, Harvest, http, https, KVP, métadonnées, périodique, enregistrement, demande, ressource, réponse, recherche, serveur, schéma, spatial, temporel, Transaction, UnHarvest, XML, XML-Schema

Ce document fait partie de la norme de mise en œuvre des services de catalogue. Contrairement aux versions précédentes de cette norme, le catalogue 3.0 est maintenant divisé en deux parties : un modèle général et la spécification de la liaison du protocole HTTP, en s'appuyant sur le modèle général (voir OGC 12-168r6).

Ce document, à travers ses profils d'implémentation, fait référence à plusieurs normes et spécifications externes en tant que dépendances. Ces documents sont énumérés à l'article 3, Références normatives.

L'annexe A fait référence au document OGC 14-014r3 – HTTP Protocol Binding – Abstract Test Suite. Cette suite de tests de conformité abstraite est normative par rapport à cette norme et doit être mise en œuvre lorsque la liaison de protocole HTTP des services de catalogue est mise en œuvre. L'annexe C est également normative. Toutes les autres annexes sont informatives.

L'attention est attirée sur la possibilité que certains éléments de ce document puissent faire l'objet de droits de brevet. L'Open Geospatial Consortium ne sera pas tenu responsable de l'identification de tout ou partie de ces droits de brevet.

Les destinataires de ce document sont priés de soumettre, avec leurs commentaires, une notification de toute revendication de brevet pertinente ou d'autres droits de propriété intellectuelle dont ils pourraient avoir connaissance et qui pourraient être violés par toute mise en œuvre de la norme énoncée dans ce document, et de fournir des pièces justificatives Documentation.

iv. Termes et définitions du document

Le présent document utilise les termes de spécification définis au paragraphe 5.3 de l'OGC 06-121r9, qui est basé sur les Directives ISO/CEI, Partie 2. Règles pour la structure et la rédaction des Normes internationales. En particulier, le mot « doit » (et non « doit ») est la forme verbale utilisée pour indiquer une exigence à suivre strictement pour se conformer à cette spécification.

iv. Organisations soumettantes

Les organisations qui ont soumis le document de services de catalogue à l'Open Geospatial Consortium sont répertoriées dans la clause iv du modèle général (OGC 12-168).

Toutes les questions concernant cette soumission doivent être adressées à l'éditeur ou aux auteurs.


Voir la vidéo: WFS Filter Encoding (Octobre 2021).