Suite

GeoSever PointStacker rend une position incorrecte

GeoSever PointStacker rend une position incorrecte


J'ai essayé les transformations de rendu GeoServer - Point Stacker. Selon cette documentation, il existe une optiontaillecelluleparamètre de réglage du "Taille des cellules dans lesquelles agréger les points, en pixels, par défaut = 1".

J'ai fait le SLD basé sur l'exemple SLD dans les documents OpenGeo ci-dessus.

j'en ai essayé 2taillecellule(30 et 150). Voici les résultats:

Figure 1. Cluster GeoServer (utilisant Point Stacker) : il y a déplacement

Les carrés bleus sont des points (exacts, non regroupés). Les cercles oranges sont des grappes. Les deux couches (carrés bleus et cercles oranges) sont WMS.

Il y a 41 points dans l'île.

Les cercles graphiques (définis dans SLD comme) semble être mal positionné. Les images ci-dessus montrent que le déplacement augmente avectaillecelluleparamètre.

Pourquoi cela arrive-t-il?

J'ai vu PointStacker - Emplacements aléatoires à différents niveaux de zoom poser des questions sur la position aléatoire de Point Stacker, mais aucune réponse solide jusqu'à présent.


L'image ci-dessous montre les mêmes points (d'une autre zone). Encore une fois, les carrés bleus sont des points (exacts, non regroupés) et les cercles oranges sont des clusters.

Figure 2. Cluster GeoServer (utilisant Point Stacker) : il y a déplacement

Maintenant que le niveau de zoom est très élevé (plus de zoom que sur l'image précédente), les 4 points ne sont pas regroupés. Idéalement, les points orange devraient être rendus dans la position exacte du calque de points bleus. Mais apparemment, GeoServer rend les points oranges avec un certain déplacement. Ceci est également demandé dans cette question.

Cette image montre également que le déplacement augmente avectaillecelluleparamètre. Assez intéressant pour que les déplacements semblent être aléatoires.


Voyons maintenant le cluster OpenLayers. Contrairement au cluster GeoServer Point Stacker (illustré à la figure 1 ci-dessus), le cluster OpenLayers ne semble pas avoir de déplacement. C'est ici:

Figure 3. Cluster OpenLayers : pas de déplacement

Dans la figure ci-dessus, OpenLayers regroupe les points vectoriels GeoJSON provenant de GeoServer WFS. La colonne de droite est exactement la même que celle de gauche, ne désactivant que le carré bleu pour augmenter la visibilité de l'étiquette numérique dans les clusters OpenLayers.

Dans la couche OpenLayers Cluster, il y a un cercle avec l'étiquette "1" qui est rendu à la position exacte du point carré bleu, ce qui, à mon avis, est très logique. Pour moi, le cluster OpenLayers n'est pas parfait, mais bien meilleur que le cluster GeoServer Point Stacker (WMS).

Ai-je fait quelque chose de mal dans mon cluster GeoServer Point Stacker (WMS) ?

  • La raison pour laquelle je poursuis le cluster GeoServer Point Stacker (WMS) sur OpenLayers Cluster (WFS) est que je ne me sens pas en sécurité avec WFS. Servir ma carte en tant que WFS signifie que je la distribue au format brut (texte) qui peut facilement être stocké et reconstruit en carte vectorielle par un utilisateur (intelligent).

J'utilise:

  • GeoServer 2.7.0 sur Apache Tomcat 7.0.61 sur Windows Server 2008 R2 Datacenter 64 bits sur VMWare
  • JVM : Oracle Corporation : 1.7.0_80 (VM serveur Java HotSpot(TM) 64 bits)
  • OpenLayers 2.12
  • PostGIS - PostgreSQL 9.4.1 (sur Windows Server 2008 R2 Datacenter 64 bits sur VMWare)