La possibilité de stocker les coordonnées dans des références spatiales haute précision est un nouvel aspect introduit dans ArcGIS 9.2. Par rapport au stockage faible précision, le stockage haute précision vous permet de stocker les coordonnées de manière plus proche tout en développant les domaines x,y,z,m (zone de stockage) du jeu de données. Pour bénéficier 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 des références spatiales faible précision continuent de fonctionner dans ArcGIS comme toujours. Si vous devez distribuer des données à des clients qui n'ont pas mis leur version à niveau ou que vous êtes satisfait de votre situation actuelle, vous pouvez continuer d'utiliser des références spatiales faible précision pour le moment.
Dans ArcGIS 9.2 et les versions ultérieures, vous pouvez continuer de créer des jeux de données faible précision en utilisant une géodatabase de version antérieure à la version 9.2 qui n'a pas encore été mise à niveau. Si vous créez une classe d'entités ou un jeu de données d'entité avec cette géodatabase ou que vous y importez des données, les nouvelles données possèdent une référence spatiale faible précision. Si vous avez mis à niveau une géodatabase de version antérieure à la version 9.2, les jeux de données d'entité existants restent en faible précision jusqu'à ce que vous mettiez à niveau les références spatiales. Vous pouvez donc créer une classe d’entités faible précision dans un jeu de données d'entité faible précision existant. Vous ne pouvez pas créer de classe d'entités autonome ou de jeu de données d'entité dans une géodatabase que vous créez avec ArcGIS version 9.2 ou une version ultérieure ou dans toute géodatabase que vous avez mise à niveau vers la version 9.2 ou une version ultérieure.
Lorsque vous spécifiez une référence spatiale faible précision, vous devez définir le domaine et la résolution x,y. Un vaste domaine n'est possible qu'avec une valeur de résolution élevée. Les valeurs reflétant une petite résolution exigent donc des domaines plus petits qui risquent d'être trop petits pour un grand nombre de systèmes de coordonnées projetés, tels qu'UTM (Universal Transverse Mercator) ou le plan d'état. Par conséquent, lorsque vous utilisez des références spatiales de faible précision, vous devez équilibrer avec précaution les compromis entre les valeurs de domaine et de résolution.
Cette rubrique montre comment définir la résolution x,y et le domaine d'une référence spatiale faible précision. La première section aborde les bases de la résolution. La deuxième section présente différentes approches du calcul des valeurs de résolution appropriées pour vos données.
À propos de la résolution x,y et du domaine
Une géodatabase faible précision stocke les coordonnées sous forme d'entiers positifs de quatre octets dont la valeur maximale est de 2 147 483 647. Vous pouvez avoir l'impression d'être limité à un stockage d'une précision d'un pied ou d'un mètre avec un entier, mais ce n'est pas le cas ; vous décidez de ce que vos unités entières sur quatre octets représentent. Si vous devez stocker une précision de l'ordre du mètre, vous pouvez utiliser 2,14 milliards de mètres (environ 53 fois la circonférence de la Terre). Vous pouvez également stocker en centimètres, auquel cas vous pouvez utiliser 2,14 milliards de centimètres (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 permettent de convertir des valeurs décimales en entiers stockés dans la géodatabase. La géodatabase les convertit à la volée, ce qui vous permet de n'utiliser que des nombres décimaux, même si vous utilisez l'API ArcObjects de niveau le plus faible.
Le tableau ci-après illustre des exemples de séparation minimale entre les coordonnées, les unités du système de coordonnées et les valeurs de résolution équivalentes.
Séparation minimale entre les coordonnées | Résolution | Unités du 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 |
1 pouce | 0,083333 | Pieds |
En fait, la géodatabase ne se contente pas de convertir les valeurs décimales en entiers. Les valeurs des coordonnées au format décimal sont également décalées lors de la conversion. Vous ne devez vous préoccuper de ce décalage que si vous calculez manuellement votre résolution et votre domaine.
La relation entre la résolution et le domaine x,y est directement proportionnelle. Comme il existe 2,14 milliards d'entiers, le domaine possède une limite externe. À mesure que vos valeurs de résolution deviennent plus petites, l'étendue de votre domaine diminue également. Lorsque vous tentez d'ajouter des entités en dehors du domaine, vous obtenez l'erreur suivante : "The coordinates or measures are out of bounds (Les coordonnées ou les mesures ne sont pas comprises dans la plage autorisée)." Il est important de ne pas choisir des valeurs de résolution si petites que vous ne pourrez pas ajouter d'entités pour l'intégralité de votre zone d'étude. Toutefois, avec environ 2,14 milliards d'entiers disponibles, dans la plupart des cas, vous pouvez éviter ce problème en définissant simplement les valeurs de résolution de manière appropriée. Par exemple, vous pouvez stocker le monde entier avec une résolution d'un mètre, mais seulement une moitié du monde avec une résolution d'un centimètre. À l'aide d'un système de coordonnées géographiques en degrés décimaux, tel que NAD83, vous pouvez utiliser une résolution de 1,9 centimètres pour le monde entier dans une même classe d'entités.
Procédure de définition de la résolution x,y et du domaine
Avant de spécifier la résolution x,y et le domaine, vous devez vous poser les trois questions suivantes :
- La résolution conservera-t-elle la précision de votre collection de données ?
- Le domaine couvrira-t-il toute l’étendue de votre zone d’étude ?
- Pour les géodatabases d'entreprise, la résolution est-elle assez grande pour minimiser le stockage et maximiser les performances ?
Vous n'avez pas toujours besoin de vous préoccuper de ces problèmes. La plupart du temps, vous pouvez laisser les paramètres par défaut générés par le logiciel les traiter automatiquement. Vous trouverez ci-après trois approches différentes. Choisissez celle qui convient le mieux à votre application.
A. Utilisez les valeurs par défaut lors de l'importation de données.
B. Spécifiez le domaine et acceptez la valeur par défaut de la résolution.
C. Spécifiez la résolution et le domaine.
Approche A : utiliser les valeurs par défaut lors de l'importation de données
Il s'agit de l'approche la plus facile car vous utilisez simplement le domaine et la résolution par défaut générés automatiquement lorsque vous importez des données. Utilisez cette approche si vous
- Disposez d'un jeu de données vectoriel ou d'un groupe de jeux de données tuilés qui couvre l'intégralité de votre zone d'étude
- Souhaitez la plus petite résolution possible dans votre zone d'étude
Si votre jeu de données couvre l'intégralité de la zone d'étude, importez-le au préalable et acceptez les valeurs par défaut de la résolution et du domaine. Les valeurs par défaut créent un domaine qui englobe toutes les entités, avec un peu d’espace pour se développer. Si vos jeux de données tuilés couvrent ensemble l'intégralité de la zone d'étude, calculez un domaine qui englobe tous les jeux de données, à l'aide de l'outil Create Spatial Reference (Créer une référence spatiale). Créez ensuite une classe d'entités vide avec ce domaine et chargez-y les données tuilées.
Avec cette méthode, la valeur de résolution est minimisée dans le domaine par défaut. La résolution résultante pouvant être petite, ce n'est pas l'approche recommandée si vous tentez d'obtenir les performances optimales d'une géodatabase d'entreprise. Toutefois, cette approche garantit que toutes vos données tiendront dans le domaine et que vous utilisez la plus petite résolution possible pour vos données.
Lorsque vous créez ou importez des jeux de données suivants dans la géodatabase, utilisez la référence spatiale calculée à partir de sa classe d'entités d'origine. Pour cela, vous pouvez importer la référence spatiale depuis sa classe d'entités chaque fois que vous créez des classes d'entités ou des jeux de données d'entités. Vous pouvez également définir vos paramètres de géotraitement pour utiliser la référence spatiale de cette classe d'entités de la manière suivante :
- Dans ArcCatalog ou ArcMap, cliquez sur le menu Geoprocessing (Géotraitement), puis sur Environments (Environnements).
- Développez Coordonnées en sortie.
- Pour Output Coordinates (Coordonnées en sortie), cliquez sur As Specified Below (Comme spécifié ci-dessous).
- Ensuite, dans la zone de texte suivante, cliquez sur l'icône de dossier.
- Dans l'onglet XY Coordinate System (Système de coordonnées XY), cliquez sur Import (Importer).
- Accédez à la première classe d'entités que vous avez importée dans la géodatabase et sélectionnez-la.
- Cliquez sur Add (Ajouter).
- Cliquez sur OK (OK) dans toutes les boîtes de dialogue ouvertes.
Une fois que vous avez terminé cette procédure, toutes les opérations de géotraitement ultérieures, notamment l'importation de nouvelles données, effectuées par l'utilisateur actuel sur cette machine utilisent cette référence spatiale.
Approche B : spécifier le domaine et accepter la valeur par défaut de la résolution
Cette approche permet de déterminer le domaine de votre zone d'étude, puis minimise la résolution dans cette zone d'étude. Utilisez cette approche si vous
- Ne disposez pas d'un jeu de données vectoriel qui couvre l'étendue de votre zone d'étude, mais que vous pouvez définir votre zone d'étude sur une carte
- Souhaitez la plus petite résolution possible dans votre zone d'étude
Le résultat de cette approche étant identique à celui de l'approche A, cette approche possède les mêmes forces et faiblesses. Avant de commencer, vous devez connaître le système de coordonnées que vous prévoyez d'utiliser. Pour plus d'informations sur le choix d'un système de coordonnées, reportez-vous à la rubrique "Projections cartographiques" de l'aide ArcGIS Desktop. Si vous prévoyez d'utiliser le plan d'état ou des systèmes de coordonnées UTM, vous pouvez rechercher les données qui définissent les emplacements des zones dans <emplacement d'installation ArcGIS>\ArcGIS\Reference Systems dans les shapefiles usstpln83 et utm.
Déterminez le domaine de votre zone d'étude :
- lancez ArcMap et ajoutez les données de référence pour le monde entier ou pour votre zone d'intérêt. Recherchez les données de référence dans les emplacements suivants :
- CD-ROM des cartes et données ESRI (inclus avec ArcGIS)
- <emplacement d'installation d'ArcGIS>\ArcGIS\Metadata\Data
- Geography Network
- Définissez le système de coordonnées du bloc de données sur celui à utiliser pour le nouveau jeu de données.
a. Ouvrez les propriétés du bloc de données.
b. Cliquez sur l’onglet Coordinate System (Système de coordonnées).
c. Ouvrez le dossier prédéfini et accédez au système de coordonnées que vous prévoyez d'utiliser.
d. Cliquez sur OK (OK).
- Zoomez sur la partie du monde que vous prévoyez d'utiliser comme zone d'étude.
- Utilisez l'outil New Rectangle (Nouveau rectangle) de la barre d'outils Draw (Dessiner) pour dessiner un rectangle définissant votre zone d'étude sur la carte.
- Cliquez avec le bouton droit sur ce nouveau rectangle, puis cliquez sur Properties (Propriétés).
- Cliquez sur l’onglet Size and Position (Taille et position).
- Sous Position (Position), pour Anchor Point (Point d’ancrage), cochez la case en bas à gauche.
- Copiez et collez les coordonnées des zones de texte X et Y dans un fichier texte. Supprimez la mesure d'unité à la fin des coordonnées. Ces coordonnées correspondent au coin inférieur gauche de votre zone d'étude.
- Sous Position (Position), pour Anchor Point (Point d’ancrage), cochez la case en haut à droite.
- Copiez et collez les coordonnées des zones de texte X et Y dans un fichier texte. Veillez à supprimer la mesure d'unité à la fin des coordonnées. Ces coordonnées correspondent au coin supérieur droit de votre zone d'étude.
Appliquez maintenant ce domaine lorsque vous créez une classe d'entités :
- Dans l'arborescence du Catalogue, accédez à votre géodatabase version 9.2 ou ultérieure, cliquez dessus avec le bouton droit, pointez sur New (Nouveau), puis cliquez sur Feature Class (Classe d'entités).
- Entrez un nom approprié, tel que StudyArea.
- Choisissez le type d'entité et indiquez si les valeurs z ou m sont prises en charge.
- Sélectionnez ou importez votre système de coordonnées.
- Cliquez sur Next (Suivant).
- Copiez et collez vos coordonnées du fichier texte dans les zones de texte appropriées. Notez que la résolution s'ajuste lorsque vous changez de domaine.
- Cliquez sur Next (Suivant).
- Ajoutez les éventuels champs à la classe d'entités.
- Cliquez sur Finish (Terminer) dans l'assistant New Feature Class (Nouvelle classe d'entités).
Vous pouvez à présent importer la référence spatiale de la classe d'entités StudyArea pour toutes les autres données que vous créez dans cette zone d'étude. Vous pouvez également définir votre environnement de géotraitement de sorte que toutes les nouvelles opérations de géotraitement créées à partir des opérations de géotraitement utilisent cette référence spatiale. Pour savoir comment définir l'environnement de géotraitement afin d'utiliser une référence spatiale d'une classe d'entités, reportez-vous à l'approche A.
Approche C : spécifier la résolution et le domaine
Avec cette approche, vous calculez manuellement la résolution et le domaine. Utilisez cette approche pour maximiser les performances des données de faible précision dans une géodatabase d'entreprise.
Étape 1 : calculez la résolution.
Tout d'abord, vous devez calculer une résolution appropriée. Définissez vos valeurs de résolution de sorte qu'elles soient 10 fois plus petites que la meilleure précision de votre collection de données. De la sorte, la précision de votre collection de données est conservée dans la géodatabase quelle que soit la manière dont vous manipulez les données avec ArcGIS (géotraitement, tolérance de grappe d'une topologie, opérations de géométrie, etc.) Consultez les exemples suivants :
Méthode de collecte des données | Unités du système de coordonnées | Précision de l'équipement | Résolution recommandée |
---|---|---|---|
Numériser une carte au 1:250 000 | Pieds | +/-416 pieds | 1 pied |
GPS professionnels | Mètres | +/-0,5 mètre | 0,05 mètre |
Enquête avec théodolite | Mètres | +/-5 millimètres | 0,0005 mètre |
Le calcul de la résolution en fonction de données qui utilisent un système de coordonnées géographiques (GCS) est légèrement plus difficile car les unités angulaires (degrés) ne sont pas cohérentes en tout endroit de la planète. À mesure que la latitude change, chaque degré de longitude représente une longueur différente au sol. Si vous souhaitez calculer la résolution à l'aide d'une unité linéaire avec des données dans un système de coordonnées géographiques (GCS), vous devez effectuer certains calculs. Si vous calculez une résolution appropriée alors que vos unités angulaires ont la valeur la plus élevée possible, vous conservez encore davantage de précision dans les zones où les unités angulaires sont plus petites. Par exemple, si vous conservez une précision d'un mètre là où un degré est égal à 100 miles au sol, votre géodatabase conserve une précision d'un centimètre là où un degré est égal à 1 mile au sol. Dans un système de coordonnées géographiques, les unités angulaires sont les plus élevées à l'équateur. La résolution est l'inverse de la longueur linéaire d'un degré à l'équateur. Comme mentionné précédemment, la valeur de résolution doit être divisée par 10 pour tenir compte des opérations de traitement ArcGIS. Vous pouvez utiliser l'équation suivante :
Résolution = 360/Circonférence équatorielle du système de coordonnées géographiques/10
Par exemple, GCS_WGS_1984 possède une circonférence de 40075016,7 mètres. Par conséquent
Précision = 360 * 40075016,7/10 = 8,9831528 x 10-7
Une autre option consiste à multiplier le demi-grand axe du système de coordonnées géographiques par le nombre de radians et l'unité angulaire, soit :
Résolution = 1/(Demi-grand axe * 2 π/360 * 10)
Vous trouverez ces informations techniques sur votre système de coordonnées géographiques en ouvrant sa boîte de dialogue de propriétés dans l'arborescence du Catalogue. Si vous ne voyez pas le dossier Coordinate Systems dans l'arborescence ArcCatalog, vous pouvez rendre visibles les systèmes de coordonnées à partir de l'onglet General (Général) de la boîte de dialogue ArcCatalog Options (Options ArcCatalog) dans ArcCatalog.
Étape 2 : vérifiez la résolution par rapport à votre zone d'étude.
Pour vérifier que votre résolution fonctionne pour votre zone d'étude, divisez la valeur la plus élevée entre la largeur et la hauteur (plage) de votre zone d'étude par la résolution. Si le résultat est inférieur à 2 147 483 647, vos données peuvent tenir dans un domaine avec la résolution de votre choix.
Toutefois, vos coordonnées peuvent se trouver en dehors des limites du système de coordonnées. Soit le jeu de données fictif suivant avec le mètre comme unité cartographique :
Une plage de 800 000 (largeur) divisée par une résolution de 0,0001 est égal à 800 000 000, soit moins de 2,14 milliards ; par conséquent les données y sont incluses. Cependant, le coin supérieur droit de la zone d'étude a pour coordonnées 1 000 000000 x, 4 060000000 y (à savoir, [1 000 000 x]/0,0001 et [4 060 000 y]/0,0001). Notez que la valeur y se trouve en dehors de la plage comprise entre 0 et 2,14 milliards, d'environ 1,9 milliards d'unités. Pour stocker ces coordonnées dans la géodatabase, vous devez décaler le domaine autour des données.
Étape 3 : calculez une valeur x,y minimale appropriée.
Pour pouvoir décaler le domaine afin qu'il entoure vos données, vous devez identifier le centre de votre domaine en unités cartographiques. L'objectif consiste à placer vos données au centre du domaine afin qu'elles puissent s'étendre dans toutes les directions si nécessaire. Tous les calculs permettant de décaler le système de coordonnées utilisent les unités de ce dernier.
Tout d'abord, recherchez le centre du domaine dans l'espace des entiers :
2 147 483 647/2 = 1 073 741 823
Convertissez ensuite le centre en unités du système de coordonnées en multipliant le résultat par la résolution. Cet exemple utilise une résolution de 0,001 :
1 073 741 823 * 0,001 = 1 073 741,823
Maintenant que vous avez trouvé le centre du domaine en unités du système de coordonnées, vous devez calculer les nouvelles valeurs x et y minimales de votre domaine. La formule permettant de calculer les valeurs x et y minimales de votre domaine est la suivante :
X min = ([DataMinX + DataMaxX]/2) — Centre du domaine en unités du système de coordonnées. Y min = ([DataMinY + DataMaxY]/2) — Centre du domaine en unités du système de coordonnées
Cette équation recherche les coordonnées minimales de votre domaine pour localiser le centre de vos données au centre du domaine. N'oubliez pas que ces calculs sont exprimés dans les unités du système de coordonnées. Examinez cette équation pour la dimension x, avec les exemples de données fournis.
Commencez par rechercher le centre de vos données :
(DataMinX + DataMaxX)/2 (200 000 + 1 000 000)/2 = 600 000
Recherchez ensuite la différence entre le centre de vos données et le centre de l'espace de la géodatabase :
X min = 600 000-1 073 741,824=-473 741,824
Ce nombre étant négatif, le domaine est décalé vers la gauche. N'oubliez pas que le décalage est appliqué au domaine et non aux données. Le décalage étant calculé pour les deux dimensions, vous devez répéter cette procédure pour les coordonnées y. Si vous tentez de maximiser les performances dans une géodatabase d'entreprise, ne centrez pas le domaine. Au lieu de cela, définissez les valeurs minimales du domaine de sorte qu'elles soient aussi proches des données que possible.
Étape 4: créez le jeu de données.
Une fois que vous avez calculté la résolution et les valeurs x et y minimales, vous pouvez créer un jeu de classes d'entités ou une classe d'entités autonome. La première fois que vous créez un jeu ou une classe à l'aide de l'assistant New Feature Class (Nouvelle classe d'entités) ou New Feature Dataset (Nouveau jeu de classes d’entités), décochez la case Accept default resolution and domain extent (Accepter la résolution et l’étendue de domaine par défaut), puis entrez la résolution et les valeurs x et y minimales que vous avez calculées. Les valeurs x et y minimales sont calculées automatiquement. Pour toutes les données ultérieures que vous importez ou créez, vous pouvez simplement importer cette référence spatiale. Vous pouvez également définir votre environnement de géotraitement de sorte que toutes les nouvelles opérations de géotraitement créées à partir des opérations de géotraitement utilisent cette référence spatiale. Pour savoir comment définir l'environnement de géotraitement afin d'utiliser une référence spatiale d'une classe d'entités, reportez-vous à l'approche A.
Spécification de la résolution et du domaine z et m
Les domaines z et m sont plus faciles à calculer que le domaine x,y. Examinez vos données et entrez le nombre le plus faible pour la valeur minimale et la résolution à des fins de précision. Vous pouvez calculer les résolutions z-et m de la même manière que vous avez calculé la précision des coordonnées x,y. Tout comme pour les coordonnées x,y, vous pouvez utiliser 2 147 483 647 entiers. Généralement, il n'est pas nécessaire de centrer les domaines z et m sur les données car vous pouvez définir un minimum absolu en fonction de vos données.
Lorsque vous calculez le minimum d'un domaine z, vous pouvez utiliser le point le plus bas sur la Terre (Fosse des Mariannes, à 11 033 mètres). En général, les coordonnées des mesures étant des nombres positifs, une valeur minimum de 0 peut convenir. Vous pouvez également définir le domaine m minimum de sorte qu'il ait un léger décalage négatif pour tenir compte des valeurs négatives qui pourraient être générées par l'extrapolation des mesures lors d'opérations telles que le calibrage. Vous pourriez alors corriger ces valeurs négatives ultérieurement au lieu de les réinjecter lors de l'extrapolation.