Proyectar (Administración de datos)
Resumen
Proyecta datos espaciales de un sistema de coordenadas a otro.
Uso
Si la clase de entidad de entrada o dataset tiene un sistema de coordenadas desconocido o no especificado, puede especificar el sistema de coordenadas de dataset de entrada con el parámetro Sistema de coordenadas de entrada. Esto le permite especificar el sistema de coordenadas de datos sin tener que modificar los datos de entrada (lo que puede no ser posible si la entrada es un formato solo de lectura). También puede usar la herramienta Definir proyección para asignarle de manera permanente un sistema de coordenadas al dataset.
-
Todos los tipos de clases de entidad (clase de entidad de geodatabase, clase de entidad de cobertura, clase de entidad SDC y shapefile), datasets de entidad en una geodatabase y capas de entidades en aplicaciones ArcGIS (ArcMap, ArcScene y ArcGlobe), son entradas válidas.
-
Las coberturas, coberturas VPF, datasets ráster y catálogos de ráster no son compatibles como entrada con esta herramienta. Para proyectar una cobertura, utilice la herramienta Proyectar en la caja de herramientas Cobertura. Utilice la herramienta Proyectar ráster para proyectar los datasets ráster.
El parámetro Transformación geográfica es opcional. Cuando no es necesaria la transformación de datum o geográfica, no aparecerá ninguna lista desplegable en el parámetro y se deja en blanco. Cuando es necesaria una transformación, una lista desplegable se generará con base en los datums de entrada y salida y se seleccionara una transformación predeterminada.
- Por ejemplo, no se requiere una transformación geográfica cuando se proyecta de GCS_North_American_1983 a NAD_1983_UTM_Zone_12N porque los sistemas de coordenadas de entrada y de salida tienen un datum NAD_1983. Sin embargo, proyectar de GCS_North_American_1983 a WGS_1984_UTM_Zone_12N requiere una transformación geográfica porque el sistema de coordenadas de entrada utiliza el datum NAD_1983, mientras que el sistema de coordenadas de salida utiliza el datum WGS_1984.Sugerencia:
Las transformaciones son bidireccionales. Por ejemplo, si se convierten datos de WGS 1984 a NAD 1927, puede elegir una transformación denominada NAD_1927_to_WGS_1984_3 y la herramienta la aplicará correctamente.
- Para obtener una lista de transformaciones y su área de uso, consulte el siguiente artículo de base de conocimiento: 21327 (http://resources.arcgis.com/content/kbase?fa=articleShow&d=21327 )
- Por ejemplo, no se requiere una transformación geográfica cuando se proyecta de GCS_North_American_1983 a NAD_1983_UTM_Zone_12N porque los sistemas de coordenadas de entrada y de salida tienen un datum NAD_1983. Sin embargo, proyectar de GCS_North_American_1983 a WGS_1984_UTM_Zone_12N requiere una transformación geográfica porque el sistema de coordenadas de entrada utiliza el datum NAD_1983, mientras que el sistema de coordenadas de salida utiliza el datum WGS_1984.
-
in_memory no es un espacio de trabajo válido para el dataset de salida. La salida se debe escribir en una clase de entidad en el disco.
-
Al proyectar los tipos de datos complejos enumerados a continuación, es necesario realizar ciertas operaciones en lo datos resultantes:
- Dataset de entidad que contiene un dataset de red: el dataset de red que se debe construir.
- Dataset de entidad que contiene una topología: revalida toda la extensión de la topología.
-
Si la entrada participa en clases de relación (como con la anotación vinculada a entidad), la clase de relación será transferida a la salida. La excepción a esta regla se relaciona con las tablas individuales.
-
Depende de las coordenadas de la entidad de entrada y el horizonte (extensión válida) del sistema de coordenadas de salida, es posible que los multipuntos, la línea y el polígono estén recortados o divididos en más de una parte comparte de su proyección.
Las clases de entidad que participan en una red geométrica no se pueden proyectar independientemente, todo el dataset de entidad que contiene la red debe proyectarse.
Muchas herramientas de geoprocesamiento distinguen el sistema de coordenadas de salida en la configuración del entorno, y en muchos flujos de trabajo pueden utilizar esta configuración del entorno mediante la herramienta Proyectar. Por ejemplo, la herramienta Combinar distingue la configuración del entorno del sistema de coordenadas de salida, lo que significa que puede combinar varias clases de entidad, las cuales están en un sistema de coordenadas diferente y escriben la salida de la unión a una clase de entidad en un sistema completo de coordenadas diferente.
La selección y definición de preguntas sobre capas no son compatibles con esta herramienta: todas las entidades en el dataset al que hace referencia la capa se proyectarán. Si solo desea proyectar las entidades seleccionadas, considere utilizar la herramienta Copiar entidades. Copiar entidades solo copia las entidades seleccionadas y respeta el entorno de geoprocesamiento del sistema de coordenadas de salida.
Cuando una clase de entidad dentro de un dataset de entidades se utiliza como entrada, la salida no se puede escribir en el mismo dataset de entidades. Esto es porque las clases de entidad dentro de un dataset de entidades deben tener el mismo sistema de coordenadas. En este caso, la clase de entidad de salida se escribirá en la geodatabase que contiene el dataset de entidades.
Sintaxis
Parámetro | Explicación | Tipo de datos |
in_dataset |
La clase de entidad, capa de entidad o dataset de entidad que se proyectará. | Feature Layer; Feature Dataset |
out_dataset |
El dataset de salida en el que se escribirán los resultados. | Geodataset |
out_coor_system | Los valores válidos son un objeto de Referencia espacial, un archivo con extensión .prj o una representación de una cadena de caracteres de un sistema de coordenadas. | Coordinate System |
transform_method (Opcional) | Este método se puede utilizar para convertir datos entre dos datums o sistemas de coordenadas geográficas. Este parámetro opcional, puede ser necesario si los sistemas de coordenadas de entrada y salida tienen un datum distinto. Sugerencia: Las transformaciones son bidireccionales. Por ejemplo, si se convierten datos de WGS 1984 a NAD 1927, puede elegir una transformación denominada NAD_1927_to_WGS_1984_3 y la herramienta la aplicará correctamente. | String |
in_coor_system (Opcional) |
El sistema de coordenadas del dataset o clase de entidad de entrada. Este parámetro se habilita cuando la entrada tiene un sistema de coordenadas desconocido o no especificado. Esto le permite especificar el sistema de coordenadas de datos sin tener que modificar los datos de entrada (lo que puede no ser posible si la entrada está en formato solo de lectura). | Coordinate System |
Ejemplo de código
La siguiente secuencia de comandos de la ventana de Python demuestra cómo utilizar la función Proyectar en el modo inmediato.
import arcpy
input_features = "C:/data/input/projections.gdb/wells"
output_features_class = "C:/data/output/wells_UTM11N.shp"
install_dir = arcpy.GetInstallInfo()['InstallDir']
out_coordinate_system = os.path.join(install_dir, r"Coordinate Systems/Projected Coordinate Systems/UTM/NAD 1983/NAD 1983 UTM Zone 11N.prj")
arcpy.Project_management(input_features, output_features_class, out_coordinate_system)
La siguiente secuencia de comandos independiente demuestra cómo utilizar Proyectar en una secuencia de comandos independiente.
# Name: Project_Example2.py
# Description: Project all feature classes in a geodatabase
# Requirements: os module
# Import system modules
import arcpy
import os
# Set environment settings
arcpy.env.workspace = "C:/data/Redlands.gdb"
arcpy.env.overwriteOutput = True
# Set local variables
outWorkspace = "C:/data/Redlands_utm11.gdb"
try:
# Use ListFeatureClasses to generate a list of inputs
for infc in arcpy.ListFeatureClasses():
# Determine if the input has a defined coordinate system, can't project it if it does not
dsc = arcpy.Describe(infc)
if dsc.spatialReference.Name == "Unknown":
print ('skipped this fc due to undefined coordinate system: ' + infc)
else:
# Determine the new output feature class path and name
outfc = os.path.join(outWorkspace, infc)
# Set output coordinate system
outCS = arcpy.SpatialReference('NAD 1983 UTM Zone 11N')
# run project tool
arcpy.Project_management(infc, outfc, outCS)
# check messages
print(arcpy.GetMessages())
except arcpy.ExecuteError:
print(arcpy.GetMessages(2))
except Exception as ex:
print(ex.args[0])