Skip To Content

Définit une projection personnalisée pour un service WMS

Un identifiant connu EPSG, comme EPSG:4326, est toujours nécessaire dans les services WMS. Cet identifiant annonce les systèmes de référence spatiale pris en charge dans les fichiers de fonctions WMS et est utilisé pour demander des cartes dans des projections spécifiques. Toutefois, de nombreux systèmes de référence spatiale personnalisés ne sont associés à aucun ID EPSG officiel.

Les services WMS ArcGIS Server vous permettent de définir une projection personnalisée ou la représentation textuelle connue d’une projection dans un service WMS. Ceci est particulièrement utile si vos systèmes de référence spatiale personnalisés ne sont pas associés à un ID EPSG officiel. Par exemple, les éditeurs et utilisateurs de services WMS peuvent effectuer les opérations suivantes :

  • attribuer des identifiants aux projections personnalisées et les annoncer via le fichier de fonctionnalités WMS ;
  • remplacer une projection existante par une chaîne WKT ;
  • demander une carte dans une projection en particulier en spécifiant directement la représentation textuelle connue.

Définir une projection personnalisée à l’aide de la propriété listCustomCRS

Pour définir et annoncer des systèmes de référence spatiale personnalisés, vous devez ajouter la propriété listCustomCRS à votre service WMS. Dans la version 10.7, cette propriété peut être configurée à l’aide de Manager.

Avant la version 10.7, cette propriété ne pouvait être configurée qu’à l’aide du répertoire administrateur ArcGIS Server. Pour configurer la propriété, procédez de la manière suivante :

  1. Ouvrez le répertoire d’administrateur dans un navigateur et connectez-vous. Généralement, l’URL du répertoire est https://gisserver.domain.com:6443/arcgis/admin/.
  2. Cliquez sur Services.
  3. Sur la page Folder (Dossier) - /, cliquez sur le nom du service de carte WMS à mettre à jour. Si votre service n’apparaît pas dans la liste, recherchez-le dans un sous-dossier du dossier racine.
  4. Sur la page Service - <nom du service> (MapServer), faites défiler vers le bas et cliquez sur edit (modifier)
  5. Dans la boîte de dialogue Service Properties (Propriétés du service), recherchez la section "typeName": "WMSServer".
  6. Dans la section "properties": {, ajoutez la propriété listCustomCRS et définissez la projection personnalisée ou la représentation textuelle connue d’une projection.

Vous pouvez alors définir un identifiant EPSG par défaut pour la projection personnalisée ou affecter un ID EPSG spécifique à une chaîne WKT.

Définir une projection personnalisée par défaut

Pour définir une projection personnalisée par défaut pour votre service WMS, vous pouvez attribuer un ID EPSG comme ID connu de votre projection personnalisée en ajoutant "EPSG:<ID>=DEFAULT" à la propriété listCustomCRS, par exemple :

"properties": {
    "listCustomCRS": "EPSG:200001=DEFAULT",
    ...

Dans cet exemple, EPSG:200001 a été attribué comme ID EPSG connu pour la projection personnalisée.

Définir une projection personnalisée avec WKT

Pour définir une projection personnalisée pour votre service WMS, vous pouvez attribuer un ID EPSG à une chaîne textuelle WKT de votre projection personnalisée en ajoutant "EPSG:<ID>=<custom projection WKT>" à la propriété listCustomCRS. EPSG:<ID> sera annoncé via le fichier de fonctions du service WMS. Vous pouvez également utiliser cette approche pour remplacer la définition d'une projection existante.

Dans l’exemple suivant, EPSG:200002 a été attribué à une projection personnalisée représentée par une chaîne WKT et remplace également la définition de EPSG:3857 à l’aide d’une autre chaîne WKT :

"properties": {
    "listCustomCRS":"EPSG:3857=PROJCS[\"International_1924_UTM_Zone_30N\",GEOGCS    [\"GCS_International_1924\",DATUM[\"D_International_1924\",SPHEROID    [\"International_1924\",6378388.0,297.0]],PRIMEM[\"Greenwich\",0.0],UNIT    [\"Degree\",0.0174532925199433]],PROJECTION[\"Transverse_Mercator\"],PARAMETER    [\"False_Easting\",500000.0],PARAMETER[\"False_Northing\",0.0],PARAMETER    [\"Central_Meridian\",-3.0],PARAMETER[\"Scale_Factor\",0.9996],PARAMETER    [\"Latitude_Of_Origin\",0.0],UNIT[\"Meter\",1.0]];EPSG:200002=GEOGCS    [\"GCS_WGS_1984\",DATUM[\"D_WGS_1984\",SPHEROID[\"WGS_1984\",6378137.0,298.257223563]],PRIMEM    [\"Greenwich\",0.0],UNIT[\"Degree\",0.0174532925199433],METADATA    [\"World\",-180.0,-90.0,180.0,90.0,0.0,0.0174532925199433,0.0,1262]]"
    ...

Demander une projection spécifique avec WKT

L'exemple suivant montre comment demander une carte à partir d'un service WMS dans une projection spécifique en définissant la représentation WKT de la projection dans une requête GetMap.

Exemple de requête GetMap

http://gisserver.domain.com:6080/arcgis/services/service/MapServer/WmsServer?VERSION=1.3.0&REQUEST=GetMap&CRS=PROJCS["International_1924_UTM_Zone_30N",GEOGCS["GCS_International_1924",DATUM["D_International_1924",SPHEROID["International_1924",6378388.0,297.0]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-3.0],PARAMETER["Scale_Factor",0.9996],PARAMETER["Latitude_Of_Origin",0.0],UNIT["Meter",1.0]]&BBOX=-116627.343234,3913652.137231,1206619.240498,4885411.347159&WIDTH=1024&HEIGHT=752&LAYERS=Color,Trama,Contactos&STYLES=,,&EXCEPTIONS=xml&FORMAT=image/png&BGCOLOR=0xFEFFFF&TRANSPARENT=TRUE