Sélection de la résolution et du domaine d'une référence spatiale à faible précision
Cette rubrique s'applique uniquement à la création de nouveaux jeux de données avec des références spatiales à faible précision dans la version ArcGIS 9.2 ou ultérieure. Avant de lire cette rubrique, vous devez être familiarisé avec les différences entre les références spatiales à faible précision et les références spatiales à haute précision. Pour plus d'informations sur les différences, reportez-vous à la rubrique Migration vers la haute précision.
La capacité de stockage de coordonnées en références spatiales à haute précision était un nouvel aspect introduit par ArcGIS 9.2. Comparé à la faible précision, la haute précision vous permet de stocker des coordonnées plus rapprochées tout en développant les domaines (zone de stockage) x, y, z et m du jeu de données. Pour tirer parti de ces avantages, la conversion de données en haute précision est recommandée dans la plupart des cas. Toutefois, les données avec les références spatiales à faible précision continueront de fonctionner dans ArcGIS comme elles l'ont toujours fait. Si vous devez fournir des données à des clients qui n'ont pas effectué la mise à niveau ou si la situation existante vous convient, vous pouvez choisir de continuer à utiliser des références spatiales à faible précision pour le moment.
Dans les versions ArcGIS 9.2 et ultérieures, vous pouvez continuer à créer des jeux de données à faible précision en utilisant une géodatabase antérieure à la version 9.2 n'ayant pas subi de mise à niveau. Si vous créez une classe d'entités ou un jeu de classes d'entités avec cette géodatabase ou que vous importez des données dans cette dernière, les nouvelles données auront une référence spatiale à faible précision. Si vous avez mis à niveau une géodatabase antérieure à la version 9.2, les jeux de classes d'entités existants continuent d'être à faible précision tant que vous n'avez pas mis les références spatiales à niveau. Pour cette raison, vous pouvez créer une nouvelle classe d'entités à faible précision dans un jeu de classes d'entités à faible précision existant. Vous ne pouvez pas créer de classes d'entités autonomes ni de jeux de classes d'entités à faible précision dans une nouvelle géodatabase créée avec les versions ArcGIS 9.2 ou ultérieures ou dans toute géodatabase que vous avez mise à niveau vers les versions 9.2 ou ultérieures.
Si vous avez des doutes quant à la version d'une géodatabase, cliquez avec le bouton droit de la souris sur la géodatabase dans l'arborescence du Catalogue et cliquez sur Propriétés. La section Etat de la mise à niveau affiche la version.
Lorsque vous spécifiez une référence spatiale à faible précision, vous devez définir la résolution et le domaine x,y. Un domaine important est possible uniquement avec une valeur de résolution élevée. Les valeurs reflétant une faible résolution exigent donc des domaines réduits qui peuvent s'avérer trop petits pour de nombreux systèmes de coordonnées projetées comme Universal Transverse Mercator (UTM) ou plan d'état. Par conséquent, lorsque vous utilisez des références spatiales à faible précision, vous devez veiller à trouver un compromis pour les valeurs de domaine et de résolution.
Cette rubrique vous indique comment définir la résolution et le domaine x,y d'une référence spatiale à faible précision. La première section aborde les notions élémentaires de la résolution. La deuxième section propose différentes approches de calcul des valeurs de résolution appropriées pour vos données.
A propos de la résolution et du domaine x,y
Une géodatabase à faible précision stocke les coordonnées en tant que nombres entiers positifs de 4 octets qui ont une valeur maximale de 2 147 483 647. Il peut sembler que les nombres entiers ne permettent de stocker que des précisions de 1 pied ou de 1 mètre, mais ce n'est pas le cas ; vous décidez de ce que vos unités d'entier à 4 octets représentent. Si vous devez stocker une précision dont la valeur est le mètre, vous disposez alors, pour travailler, de 2,14 milliards de mètres (soit environ 53 fois la circonférence de la Terre). Ou vous pouvez choisir de stocker des centimètres ; dans ce cas, vous disposez pour travailler de 2,14 milliards de centimètres (soit environ la moitié de la circonférence de la Terre). Les valeurs de résolution représentent la séparation minimale autorisée entre deux valeurs de coordonnées. Les valeurs de résolution sont utilisées pour convertir les valeurs décimales dans les nombres entiers stockés dans la géodatabase. La géodatabase les convertit à la volée, ce qui vous permet d'utiliser exclusivement des nombres décimaux, même si vous utilisez le niveau le plus bas de l'API d'ArcObjects
Le tableau suivant montre des exemples de la séparation minimale entre des coordonnées, les unités de système de coordonnées et les valeurs de résolution équivalentes.
Séparation minimale entre des coordonnées |
Résolution |
Unités de système de coordonnées |
---|---|---|
1 centimètre |
0,01 |
Mètres |
1 millimètre |
0,001 |
Mètres |
2 centimètres |
0,02 |
Mètres |
25,40 mm |
0,083333 |
Pieds |
En réalité, la géodatabase fait plus que d'assurer la conversion des valeurs décimales en nombres entiers. Les valeurs de coordonnées basées sur des décimales sont également déplacées pendant la conversion. Vous ne devez vous occuper de ce changement que si vous calculer manuellement votre résolution et votre domaine.
La relation entre la résolution et le domaine x,y est directement proportionnelle. Comme vous disposez de 2,14 milliards de nombres entiers, le domaine spatial présente un contour extérieur. Au fur et à mesure que vos valeurs de résolution diminuent, l'étendue de votre domaine spatial se réduit. Lorsque vous tentez d'ajouter des entités non comprises dans le domaine, vous obtenez l'erreur suivante : "Les coordonnées ou les mesures ne sont pas comprises dans la plage autorisée." Il est important que vos valeurs de résolution ne soient pas trop petites afin de vous permettre d'ajouter des entités au sein de votre zone d'analyse. Toutefois, avec une base de travail d'environ 2,14 milliards de nombres entiers, vous pouvez, dans la plupart des cas, éviter ce problème en adoptant simplement des valeurs de résolution adéquates. Par exemple, vous pouvez stocker le monde entier avec une résolution de 1 m mais la moitié du globe avec une valeur de 1 cm. En utilisant un système de coordonnées géographique exploitant les degrés décimaux, comme NAD83, vous pouvez utiliser une résolution de 1,9 cm pour inclure le monde entier dans une classe d'entités unique.
Procédure de définition de la résolution et du domaine x,y
Avant de spécifier la résolution et le domaine x,y, vous devez vous poser trois questions :
- La résolution conserve-t-elle la précision de votre ensemble de données ?
- Le domaine couvre-t-il l'intégralité de l'étendue de votre zone d'analyse ?
- Pour les géodatabases ArcSDE, la résolution est-elle assez élevée pour réduire le stockage et optimiser les performances ?
Vous ne devez pas vous toujours vous poser ces questions. La plupart du temps, vous pouvez laisser les paramètres par défaut généré par le logiciel gérer ces questions pour vous. Vous trouverez ci-dessous trois approches différentes. Choisissez celle qui est la plus appropriée à votre application.
A. Utilisation des paramètres par défaut lors de l'importation des données.
B. Définition du domaine et utilisation de la résolution par défaut.
C. Spécification de la résolution et du domaine.
Approche A : Utilisation des paramètres par défaut lors de l'importation des données
C'est l'approche est la plus facile car vous utilisez simplement la résolution et le domaine par défaut générés pour vous lorsque vous importez des données. Préférez cette approche si vous
- disposez d'au moins un jeu de données vectorielles ou d'un groupe de jeux de données tuilées qui couvre toute l'étendue de votre zone d'étude,
- voulez conférer à votre zone d'étude la résolution la plus faible possible.
Si vous avez un jeu de données qui couvre l'ensemble de votre zone d'analyse, importez d'abord le jeu de données et acceptez les valeurs par défaut pour la résolution et le domaine. Ces valeurs par défaut créent un domaine qui englobe toutes les entités qui disposent de peu d'espace pour s'agrandir. Si vous avez des jeux de données tuilées qui ensemble couvrent l'intégralité de votre zone d'analyse, calculez un domaine qui englobe tous les jeux de données en utilisant l'outil Créer une référence spatiale. Ensuite, créez une classe d'entités vide avec ce domaine et chargez les données tuilées en son sein.
A l'aide de cette méthode, la valeur de résolution sera réduite dans le domaine par défaut. Puisque la résolution ainsi obtenue peut se révéler très faible, il ne s'agit pas de la meilleure approche si vous voulez obtenir des performances optimales à partir d'une géodatabase ArcSDE. Cette approche vous permet toutefois d'insérer l'ensemble de vos données dans un domaine tout en adoptant la résolution la plus faible pour vos données.
Lorsque vous créez ou importez des jeux de données ultérieurs dans la géodatabase, utilisez la référence spatiale calculée à partir de cette classe d'entités d'origine. Pour ce faire, importez la référence spatiale à partir de cette classe d'entités chaque fois que vous créez de nouvelles classes d'entités ou jeux de classes d'entités. Vous pouvez également définir vos paramètres de géotraitement de manière à utiliser la référence spatiale à partir de cette classe d'entités en procédant comme suit :
- Dans ArcCatalog ou ArcMap, cliquez sur le menu Géotraitement, puis sur Environnements.
- Développez Coordonnées en sortie.
- Au niveau de Coordonnées en sortie, cliquez sur Comme spécifié ci-dessous.
- En regard de la zone de texte suivante, cliquez sur l'icône dossier.
- Dans l'onglet Système de coordonnées XY, cliquez sur Importer.
- Recherchez et sélectionnez la première classe d'entités que vous avez importée dans la géodatabase.
- Cliquez sur Ajouter.
- Cliquez sur OK dans toutes les boîtes de dialogue ouvertes.
Une fois que vous avez terminé ces étapes, toutes les opérations de géotraitement ultérieures, y compris toute importation de nouvelles données, exécutées par l'utilisateur en cours sur cette machine, utiliseront cette référence spatiale.
Approche B : Définition du domaine et utilisation de la résolution par défaut
Cette approche vous permet de déterminer le domaine pour votre zone d'analyse tout en minimisant la résolution à l'intérieur de celle-ci. Préférez cette approche si vous
- ne disposez pas d'au moins un jeu de données vectorielles qui couvre l'étendue de votre zone d'étude mais que vous pouvez définir votre zone d'étude sur une carte,
- voulez conférer à votre zone d'étude la résolution la plus faible possible.
Les résultats que vous obtiendrez au terme de cette approche sont parfaitement identiques à ceux de l'approche A ; par conséquent cette approche présente les mêmes avantages et inconvénients que la première. Avant de commencer, vous devez connaître le système de coordonnées que vous envisagez d'utiliser. Pour plus d'informations sur la manière de choisir un système de coordonnées, reportez-vous à la rubrique "Projections cartographiques" dans l'Aide d'ArcGIS. Si vous envisagez d'utiliser les systèmes de coordonnées plan d'état ou UTM, vous pouvez trouver des données définissant l'emplacement des zones sous <Emplacement de l'installation d'ArcGIS>\ArcGIS\Reference Systems dans les fichiers de formes utm et usstpln83.
Déterminez d'abord le domaine pour votre zone d'étude :
- Lancez ArcMap et ajoutez les données de référence liées au monde ou à la zone qui vous intéresse. Cherchez les données de références dans les emplacements suivants :
- CD-ROM Cartes et données ESRI (fourni avec ArcGIS)
- <Emplacement de l'installation d'ArcGIS>\ArcGIS\Metadata\Data
- Geography Network
- Définissez le système de coordonnées du bloc de données à partir de celui que vous voulez utiliser pour les nouveaux jeux de données.
a. Ouvrez les propriétés du bloc de données.
b. Cliquez sur l'onglet Système de coordonnées.
c. Ouvrez le dossier Prédéfini et recherchez le système de coordonnées que vous voulez utiliser.
d. Cliquez sur OK.
- Procédez à un zoom avant sur la partie du monde que vous souhaitez utiliser comme zone d'analyse.
- Utilisez l'outil Nouveau rectangle dans la barre d'outils Dessiner pour dessiner sur la carte un rectangle définissant votre nouvelle zone d'analyse.
- Cliquez avec le bouton droit sur ce nouveau rectangle, puis sélectionnez Propriétés.
- Cliquez sur l'onglet Taille et position.
- Sous Position au niveau de Point d'ancrage, cliquez sur la case gauche inférieure.
- Copiez et collez les coordonnées se trouvant dans les zones de texte X et Y dans un fichier texte. Supprimez l'unité de mesure à la fin des coordonnées. Ces coordonnées se trouvent dans le coin gauche inférieur de votre zone d'analyse.
- Sous Position au niveau de Point d'ancrage, cliquez sur la case droite supérieure.
- Copiez et collez les coordonnées se trouvant dans les zones de texte X et Y dans un fichier texte. Supprimez impérativement l'unité de mesure à la fin des coordonnées. Ces coordonnées se trouvent dans le coin droit supérieur de votre zone d'analyse.
Appliquez maintenant ce domaine lors de la création d'une classe d'entités :
- Dans l'arborescence du Catalogue, accédez à votre géodatabase de version 9.2 ou ultérieure, cliquez avec le bouton droit de la souris, pointez sur Nouveau, puis sur Classe d'entités.
- Saisissez un nom approprié, tel que StudyArea.
- Sélectionnez le type d'entités et choisissez si les valeurs z ou m sont prises en charge.
- Sélectionnez ou importez votre système de coordonnées.
- Cliquez sur Suivant.
- Copiez et collez vos coordonnées du fichier de texte dans les zones de texte appropriées. Remarquez que la résolution s'ajuste lorsque vous modifiez le domaine.
- Cliquez sur Suivant.
- Ajoutez tous les champs à la classe d'entités.
- Cliquez sur Terminer dans l'Assistant Nouvelle classe d'entités.
Vous pouvez, à présent, importer la référence spatiale depuis la classe d'entités StudyArea pour toutes les autres données que vous créez dans cette zone d'analyse. Vous pouvez également définir votre environnement de géotraitement de manière à ce que toutes les nouvelles données créées à partir des opérations de géotraitement utilisent cette référence spatiale. Reportez-vous à l'approche A si vous souhaitez définir un environnement de géotraitement de manière à ce qu'il utilise une référence spatiale à partir d'une classe d'entités.
Approche C : Spécification de la résolution et du domaine
Avec cette approche, vous devez calculer manuellement les paramètres de résolution et de domaine. Utilisez cette approche si vous souhaitez optimiser les performances des données à faible précision dans une géodatabase ArcSDE.
Etape 1 : Calcul de la résolution.
D'abord, vous devez calculer une résolution appropriée. Définissez vos valeurs de résolution de manière à ce qu'elles soient dix fois plus petites que la meilleure précision de votre collection de données. Vous êtes ainsi parfaitement sûr que la précision de votre collection de données sera conservée dans la géodatabase quelle que soit la manière dont vous manipulez les données avec ArcGIS (géotraitement, tolérance d'agrégat de la topologie, opérations de géométrie, etc.). Prenons les exemples suivants :
Méthode de collecte des données |
Unités de système de coordonnées |
Précision des équipements |
Résolution recommandée |
---|---|---|---|
Carte numérisée à l'échelle 1 : 250 000 |
Pieds |
+/- 416 pieds |
30,48 cm |
GPS professionnel |
Mètres |
+/-0,5 mètres |
0,05 mètres |
Etude à l'aide d'un théodolite |
Mètres |
+/-5 millimètres |
0,0005 mètres |
Calculer la résolution à partir de données exploitant un système de coordonnées géographiques est un peu plus difficile parce que les unités angulaires (les degrés) ne constituent pas des unités de mesure cohérentes sur toute la planète. Comme la latitude change, chaque degré de longitude représente une largeur différente au sol. Si vous voulez calculer la résolution en utilisant une unité linéaire avec des données dans un système de coordonnées géographiques, vous devez d'abord faire quelques calculs. Si vous calculez une résolution appropriée lorsque vos unités angulaires revêtent leur plus grande valeur, vous conserverez une précision encore plus grande dans les zones où les unités angulaires sont plus petites. Par exemple, si vous adoptez une précision de 1 mètre, alors que 1 degré équivaut à 100 miles au sol, votre géodatabase conservera une précision de 1 cm si un degré équivaut à un mile au sol. Dans un système de coordonnées géographiques, les unités angulaires revêtent la plus grande valeur au niveau de l'équateur. La résolution sera l'inverse de la longueur linéaire dans 1 degré à l'équateur. Comme nous l'avons déjà expliqué, cette valeur de résolution doit être divisée par 10 pour prendre en compte toute opération de traitement d'ArcGIS. Vous pouvez utiliser l'équation suivante :
Resolution = 360 / GCS equatorial circumference / 10
Par exemple, GCS_WGS_1984 présente une circonférence de 40 075 016,7 mètres. Donc
Precision = 360 * 40075016.7 / 10 = 8.9831528 x 10-7
Une autre possibilité consiste à multiplier le demi-grand axe du système de coordonnées géographiques par le nombre de radians par unité angulaire équivalent à :
Resolution = 1 / (Semimajor axis * 2π/ 360 * 10)
Vous pouvez accéder aux informations techniques relatives à votre système de coordonnées géographiques en ouvrant ses propriétés dans l'arborescence du Catalogue. Si vous ne voyez pas le dossier Systèmes de coordonnées dans l'arborescence ArcCatalog, vous pouvez rendre les systèmes de coordonnées visibles dans l'onglet Général de la boîte de dialogue Options ArcCatalog dans ArcCatalog.
Etape 2 : Vérification de la résolution dans le cadre de votre zone d'étude.
Afin de vérifier que votre résolution est parfaitement adaptée à votre zone d'analyse, divisez la valeur la plus grande entre la largeur et la hauteur (plage) de votre zone d'analyse par la résolution. Si vous obtenez une valeur inférieure à 2 147 483 647, vos données peuvent être insérées dans un domaine avec la résolution que vous avez choisie.
Cependant, bien que vos données puissent s'insérer dans un domaine, il se peut que vos coordonnées se trouvent en dehors des limites du système de coordonnées. Considérons par exemple les jeux de données fictifs suivants en utilisant comme unité de carte le mètre :
Par exemple, une plage de 800 000 (la largeur) divisée par une résolution de 0,0001 est égale à 800 000 000, soit une valeur inférieure à 2,14 milliards. Par conséquent, les données peuvent être insérées sans problème. Cependant, le coin droit supérieur de la zone d'analyse sera de 1 000 000 000x et de 4 060 000 000y dans le domaine (c'est-à-dire [1 000 000x] / 0,0001 and [4 060 000y] / 0,0001). Remarquez que la valeur y se situe en dehors de la plage de 2,14 milliards d'environ 1,9 milliards d'unités. Dès lors, pour stocker ces coordonnées au sein de la géodatabase, vous devez déplacer le domaine afin d'inclure les données.
Etape 3 : Calcul d'une valeur minimale x,y appropriée.
Avant de pouvoir déplacer le domaine afin d'insérer vos données, vous devez spécifier le centre de votre domaine en unités de la carte. L'objectif est de placer vos données au centre du domaine afin que celles-ci puissent se développer le cas échéant dans toutes les directions possibles. Tous les calculs visant à déplacer le système de coordonnées se basent sur des unités de systèmes de coordonnées.
Trouvez d'abord le centre du domaine :
2,147,483,647 / 2 = 1,073,741,823
Ensuite, convertissez le centre en unités de système de coordonnées en multipliant par la résolution. Cet exemple exploite une résolution de 0,001 :
1,073,741,823 * 0.001 = 1,073,741.823
Maintenant que vous connaissez le centre du domaine en unités de système de coordonnées, vous devez calculer de nouvelles valeurs de coordonnées x et y minimales de votre domaine. La formule pour calculer les valeurs de coordonnées x et y minimales de votre domaine est la suivante :
Min X = ([DataMinX + DataMaxX] / 2)—Domain center in coordinate system units Min Y = ([DataMinY + DataMaxY] / 2)—Domain center in coordinate system units
Cette équation permet de trouver les coordonnées minimales de votre domaine afin de localiser le centre de vos données au niveau du centre du domaine. Rappelez-vous que tous ces calculs doivent être réalisés à partir d'unités de système de coordonnées. Examinez cette équation pour la dimension x à partir des données de l'exemple.
Trouvez d'abord le centre de vos données :
(DataMinX + DataMaxX) / 2 (200,000 + 1,000,000) / 2 = 600,000
Ensuite, calculez la différence existant entre le centre de vos données et le centre de l'espace de la géodatabase :
Min X = 600,000 - 1,073,741.824 = -473,741.824
Comme il s'agit d'un nombre négatif, le domaine sera déplacé vers la gauche. N'oubliez pas que le déplacement s'applique au domaine, pas aux données. Le déplacement est calculé pour les deux axes, ainsi vous ne devez pas répéter cette procédure pour la coordonnée y. Si vous essayez d'optimiser les performances dans une géodatabase ArcSDE, ne centrez pas le domaine. Définissez plutôt les valeurs de domaine minimales pour qu'elles soient aussi proches que possible des données.
Etape 4 : Création du jeu de données.
Une fois que vous avez calculé les valeurs de résolution x et y minimales, vous êtes prêt à créer un jeu de classes d'entités ou une classe d'entités autonome. La première fois que vous créez l'un de ces éléments à l'aide de l'assistant Nouvelle classe d'entités ou Nouveau jeu de classes d'entités, désactivez la case à cocher Accepter la résolution et l'étendue par défaut et entrez les valeurs de résolution x et y minimales que vous avez calculées. Les valeurs maximales des coordonnées x et y sont calculées automatiquement. Pour toutes les données ultérieures que vous importez ou créez, il vous suffit d'importer cette référence spatiale. Vous pouvez également définir votre environnement de géotraitement de manière à ce que toutes les nouvelles données créées à partir des opérations de géotraitement utilisent cette référence spatiale. Reportez-vous à l'approche A si vous souhaitez définir un environnement de géotraitement de manière à ce qu'il utilise une référence spatiale à partir d'une classe d'entités.
Spécification de la résolution et du domaine z et m
Il est plus facile de calculer les domaines z et m que le domaine x,y. Examinez vos données et saisissez le nombre le plus faible afin de définir la valeur minimale ainsi que la résolution pour prendre en charge sa précision. Vous pouvez calculer la résolution z et m de la même manière que vous avez calculé la précision des coordonnées x,y. Vous disposez, comme dans le cas des coordonnées x et y, de 2 147 483 648 nombres entiers pour travailler. En général, il n'est pas nécessaire de centrer les domaines z et m au niveau des données puisque vous définissez une valeur minimale absolue sur la base de vos données.
Lorsque vous calculez la valeur minimale pour un domaine z, vous pouvez utiliser le point le plus bas sur terre (-11 033 mètres, fosse des Mariannes). En général, les coordonnées de mesure sont des nombres positifs. Par conséquent, une valeur minimale égale à 0 est parfaitement appropriée. Vous pouvez également décider que le domaine m minimal présente un léger décalage négatif afin de prendre en compte les valeurs négatives pouvant être générées par l'extrapolation de mesures au cours d'opérations telles que le calibrage. Vous pouvez corriger ces valeurs négatives plus tard au lieu de les rejeter au cours de l'extrapolation.