Je crée un modèle qui doit garantir que tous les jeux de données dentrée se retrouvent dans le même système de coordonnées (entre autres). Jallais à lorigine projeter par lots tous les jeux de données, quils aient besoin dêtre projetés ou non, mais il y a ensuite le problème de lattribution de la transformation géographique correcte. Ensuite, je me suis souvenu que toutes les données entrées dans un jeu de données dentité doivent être le même système de coordonnées, jai donc décidé de mettre toutes les données en un seul.
Ma question est la suivante: lorsquune classe dentités est importée dans un jeu de données dentité qui est dun système de coordonnées différent, est-ce quelle projette automatiquement le des données? Que se passe-t-il?
Jai testé cela moi-même sur les données des routes et cela semblait projeter les données, car elles salignaient bien avec mes autres données. Le fait est quaucune transformation nétait nécessaire (et une méthode de transformation était nécessaire si je lavais projeté), il semble donc louche que les données soient simplement projetées automatiquement. Peut-être que cela fait une meilleure estimation?
Réponse
De laide sur À propos de limportation de classes dentités :
Supposons vous souhaitez importer une classe dentités qui se trouve dans un autre système de coordonnées. Par exemple, vous souhaiterez peut-être importer une classe dentités qui utilise le système de coordonnées North American Datum (NAD) 1927 dans un jeu de données dentité qui utilise le système de coordonnées NAD 1983. Pour importer la classe dentités, utilisez loutil Projet pour importer simultanément les données et les convertir dans le nouveau système de coordonnées.
Si la classe dentités que vous importez est déjà dans le système de coordonnées que vous voulez quelle soit pour la géodatabase, utilisez les outils Classe dentités vers classe dentités ou Classe dentités vers géodatabase pour importer les données. La classe dentités que vous créez avec ces outils peut être autonome ou importer dans un jeu de données dentités existant.
Lorsque vous créer une classe dentités autonome, la nouvelle classe dentités est créée avec la même référence spatiale que la classe dentités que vous « réimportez.
Si vous » lors de la création dune classe dentités dans un jeu de données dentités existant, la nouvelle classe dentités prendra automatiquement la même référence spatiale que le jeu de données dentités.
Cela suggère donc quil fait une " meilleure estimation ". Je recommande fortement en spécifiant manuellement la méthode de transformation de projection si vous souhaitez éviter les erreurs de projection. Voir " Revenge of the Shift " pour un excellent aperçu de les erreurs introduites par des transformations de projection incorrectes!
Réponse
Lorsque la FeatureClass est importée dans un FeatureDataset, elle est projetée sur le système de coordonnées car toutes les FeatureClasses à lintérieur dun FeatureDataset doivent avoir la même référence spatiale.
Si vous êtes curieux de connaître le processus exact en termes de code, le processus dimportation saisit lobjet ISpatialReference du FeatureDataset de destination et, pendant quil boucle à travers chaque géométrie de la FeatureClass source, il appelle IGeometry :: Project dessus et transmet cet objet ISpatialReference comme paramètre.