Estoy creando un modelo que debe garantizar que todos los conjuntos de datos de entrada terminen en el mismo sistema de coordenadas (entre otras cosas). Originalmente iba a proyectar por lotes todos los conjuntos de datos, ya sea que necesiten ser proyectados o no, pero luego está el problema de asignar la transformación geográfica correcta. Luego recordé que todos los datos que se ingresan en un conjunto de datos de entidades deben ser el mismo sistema de coordenadas, así que decidí poner todos los datos en uno.
Mi pregunta es: cuando una clase de entidad se importa a un dataset de entidades que es de un sistema de coordenadas diferente, ¿proyecta automáticamente la ¿Qué sucede?
Probé esto yo mismo en datos de carreteras y parecía proyectar los datos, ya que se alineaban bien con mis otros datos. La cuestión es que no se necesitaba ninguna transformación (y un método de transformación era necesario si lo hubiera proyectado), por lo que parece sospechoso que los datos se proyecten automáticamente. ¿Quizás sea una mejor suposición?
Respuesta
De la ayuda de Acerca de la importación de clases de entidad :
Supongamos desea importar una clase de entidad que está en otro sistema de coordenadas. Por ejemplo, es posible que desee importar una clase de entidad que usa el sistema de coordenadas North American Datum (NAD) 1927 en un dataset de entidades que usa el sistema de coordenadas NAD 1983. Para importar la clase de entidad, use la herramienta Proyecto para importar simultáneamente los datos y convertirlos en el nuevo sistema de coordenadas.
Si la clase de entidad que está importando ya está en el sistema de coordenadas que desea que esté para la geodatabase, use las herramientas Clase de entidad a clase de entidad o Clase de entidad a geodatabase para importar los datos. La clase de entidad que cree con estas herramientas puede ser independiente o importar a un dataset de entidades existente.
Cuando cree una clase de entidad independiente, la nueva clase de entidad se crea con la misma referencia espacial que la clase de entidad que está importando.
Si » Al volver a crear una clase de entidad en un dataset de entidades existente, la nueva clase de entidad tomará automáticamente la misma referencia espacial que el dataset de entidades.
Esto sugiere que hace una " mejor suposición ". Recomiendo encarecidamente especificando el método de transformación de proyección manualmente si desea evitar errores de proyección. Consulta " Revenge of the Shift " para obtener una excelente descripción general de los errores introducidos por transformaciones de proyección incorrectas!
Respuesta
Cuando FeatureClass se importa a un FeatureDataset, se proyecta al sistema de coordenadas porque todas las FeatureClasses dentro de un FeatureDataset deben tener la misma referencia espacial.
Si tiene curiosidad por conocer el proceso exacto en términos de código, el proceso de importación toma el objeto ISpatialReference del FeatureDataset de destino y, mientras se repite a través de cada geometría en el FeatureClass de origen, llama a IGeometry :: Project y pasa ese objeto ISpatialReference como parámetro.