georchestra / cadastrapp

Cadastre application for geOrchestra
GNU General Public License v3.0
10 stars 19 forks source link

support du WMS 1.3.0 pour les fonds de plan #737

Closed landryb closed 7 months ago

landryb commented 8 months ago

https://geoservices.ign.fr/bascule-vers-la-geoplateforme -> la geoplateforme ne supporte que WMS 1.3.0

https://github.com/georchestra/cadastrapp/blob/master/cadastrapp/src/main/java/org/georchestra/cadastrapp/service/ImageParcelleController.java#L83 hardcode WMS 1.1.1.

avec cette configuration pour les fonds de plan:

$egrep 'aseMap.*(wms.url|layer.name)' cadastrapp/cadastrapp.properties
pdf.baseMap.0.wms.url=https://data.geopf.fr/wms-r/wms
pdf.baseMap.0.layer.name=HR.ORTHOIMAGERY.ORTHOPHOTOS
pdf.baseMap.1.wms.url=https://data.geopf.fr/wms-r/wms
pdf.baseMap.1.layer.name=GEOGRAPHICALGRIDSYSTEMS.PLANIGNV2

on prend un code 400 sur https://data.geopf.fr/wms-r/wms?REQUEST=GetCapabilities&VERSION=1.1.1&SERVICE=WMS

@pierrejego une idée de pourquoi uniquement WMS 1.1.1 ? je vais tester d'upgrader ca en WMS 1.3.0, car sinon il faudra proxyfier..

landryb commented 8 months ago

cf 8d75eb210 ou j'avais switché par défaut la config sur les fonds de plan de la geoplateforme..

landryb commented 8 months ago

dans mes vagues souvenirs lointains, on forcait WMS 1.1.1 pour la requete faite au geoserver pour l'application du SLD v1.0, mais ce n'est peut-etre pas necessaire pour la basemap.

landryb commented 8 months ago

avec ce diff:

--- a/cadastrapp/src/main/java/org/georchestra/cadastrapp/service/ImageParcelleController.java
+++ b/cadastrapp/src/main/java/org/georchestra/cadastrapp/service/ImageParcelleController.java
@@ -80,7 +80,7 @@ public class ImageParcelleController extends CadController {
        static final Logger logger = LoggerFactory.getLogger(ImageParcelleController.class);

        private final String URL_GET_CAPABILITIES = "?REQUEST=GetCapabilities&version=1.0.0";
-       private final String URL_GET_CAPABILITIES_WMS = "?VERSION=1.1.1&Request=GetCapabilities&Service=WMS";
+       private final String URL_GET_CAPABILITIES_WMS = "?Request=GetCapabilities&Service=WMS";

        // buffer ratio
        final private double MAX_PERIMETER = 2000;

j'ai bien des BP avec le fond de plan venant de la geoplateforme, avec le fond de plan orthophoto ou plan ign. J'ai aussi la parcelle en surbrillance venant de l'appel WMS a geoserver avec SLD_BODY, ainsi que la couche cadastrale (qui chez moi vient de mapproxy)

a priori geotools ajoute tout seul VERSION=1.3.0 s'il n'est pas spécifié, j'ai eu un code 400 sur lepremier appel, mais charger l'url dans le navigateur a reussi, et la 2e generation de BP avec le meme fond de plan au meme endroit a aussi fonctionné, donc je mettrais le code 400 sur le dos de la geoplateforme.

java.io.IOException: Server returned HTTP response code: 400 for URL: https://data.geopf.fr/wms-r/wms?REQUEST=GetMap&FORMAT=image%2Fpng&CRS=EPSG:3857&BBOX=379135.78760345787,5727839.306541526,379747.78760345787,5728451.306541526&VERSION=1.3.0&STYLES=&SERVICE=WMS&WIDTH=755&HEIGHT=755&TRANSPARENT=TRUE&LAYERS=GEOGRAPHICALGRIDSYSTEMS.PLANIGNV2