Resumen
Proyecta datos espaciales de un sistema de coordenadas a otro.
Uso
Si el dataset o la clase de entidad de entrada tiene un sistema de coordenadas desconocido o no especificado, puede especificar el sistema de coordenadas del 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 (clases de entidad de geodatabase, clases de entidad de cobertura, clases de entidad SDC y shapefiles), 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. Utilice la herramienta Proyectar ráster para proyectar los datasets ráster.
Para proyectar una Cobertura, utilice la herramienta Proyectar de la caja de herramientas Cobertura.
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 sea necesaria una transformación, se generará una lista desplegable basada en los datums de entrada y salida y se seleccionará 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 desde 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.
- Para obtener una lista de transformaciones y su área de uso, consulte el siguiente artículo de la base de conocimiento: 21327 (Artículo de la base de conocimiento de Esri nº 21327).
El espacio de trabajo in_memory no se admite como ubicación para escribir el dataset de salida.
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: la topología debe volver a validarse.
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 participantes.
Según 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 cuando se proyectan. Las entidades que quedan completamente fuera del horizonte se escribirán en la salida con una forma Nula. Pueden eliminarse utilizando la herramienta Reparar geometría.
Las clases de entidad que participan en una red geométrica no se pueden proyectar independientemente, tiene que proyectarse todo el dataset de entidad que contiene la red.
Muchas herramientas de geoprocesamiento respetan el sistema de coordenadas de salida en la configuración del entorno, y en muchos flujos de trabajo puede utilizar esta configuración del entorno en vez de usar la herramienta Proyectar. Por ejemplo, la herramienta Combinación respeta la configuración del entorno del sistema de coordenadas de salida, lo que significa que puede combinar varias clases de entidad, que están en un sistema de coordenadas diferente y escribir la salida combinada en una clase de entidad de un sistema de coordenadas totalmente diferente.
Esta herramienta ignora la selección y la consulta de definición sobre capas: todas las entidades del dataset al que hace referencia la capa se proyectarán. Si desea proyectar únicamente las entidades seleccionadas, considere la opción de utilizar la herramienta Copiar entidades para crear un dataset temporal que solo contenga las entidades seleccionadas y use este dataset intermedio como entrada para la herramienta Proyectar.
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.
El parámetro Mantener forma, cuando está activado, crea entidades de salida que representan de forma precisa su verdadera ubicación proyectada. Mantener forma es particularmente útil en casos donde el límite de una línea o polígono está digitalizado como una línea larga y recta con pocos vértices. Si Mantener forma no está activado, los vértices existentes del límite de la línea o polígono de entrada se proyectan, y el resultado puede ser una entidad que no está ubicada correctamente en la nueva proyección. Cuando Mantener forma está activado (preserve_shape = "PRESERVE_SHAPE" en Python), se agregan vértices extra a la entidad antes de proyectarla. Estos vértices extra conservan la forma proyectada de la entidad. El parámetro Desviación máxima de desplazamiento controla cuántos vértices extra se agregan; su valor es la distancia máxima que la entidad proyectada puede desplazarse desde su ubicación proyectada exacta según el cálculo de la herramienta. Cuando el valor es pequeño, se agregan más vértices. Elija un valor que se ajuste a sus necesidades. Por ejemplo, si la salida proyectada es para una visualización cartográfica general a pequeña escala, puede ser aceptable una gran desviación. Si la salida proyectada se va a utilizar en el análisis de un área pequeña a gran escala, puede ser necesaria una desviación menor.
Para realizar una transformación vertical, active el parámetro opcional Vertical en el cuadro de diálogo. De forma predeterminada, el parámetro Vertical está deshabilitado y solo se habilita cuando los sistemas de coordenadas de entrada y de salida tienen un sistema de coordenadas verticales y las coordenadas de la clase de entidad de entrada tienen valores Z. Además, es necesario instalar en el sistema la configuración de datos adicionales (datos del sistema de coordenadas).
Cuando seleccione el sistema de coordenadas de salida, podrá elegir entre un sistema de coordenadas proyectadas o geográficas y un sistema de coordenadas verticales (VCS). Si los sistemas de coordenadas verticales de entrada y salida son diferentes, se utilizará una tabla de consulta hvtdefaults.json para localizar una transformación vertical adecuada y, si procede, una transformación geográfica (datum). En el caso de que deba aplicarse una transformación en la dirección opuesta a su definición, elija la entrada que tenga la virgulilla (~) frente al nombre.
Sintaxis
Project_management (in_dataset, out_dataset, out_coor_system, {transform_method}, {in_coor_system}, {preserve_shape}, {max_deviation}, {vertical})
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. | Feature Class; Feature Dataset |
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. | String |
in_coor_system (Opcional) | El sistema de coordenadas del dataset o clase de entidad de entrada. Cuando la entrada tiene un sistema de coordenadas desconocido o no especificado, esto le permite especificar el sistema de coordenadas de los datos sin tener que modificar los datos de entrada (lo que puede no ser posible si la entrada está en formato de solo de lectura). | Coordinate System |
preserve_shape (Opcional) | Agrega vértices a las líneas o polígonos de salida de modo que la forma proyectada es más precisa.
| Boolean |
max_deviation (Opcional) | Determina cuánto se puede desviar una línea o polígono proyectados de su ubicación proyectada exacta cuando está activado preserve_shape = "PRESERVE_SHAPE". El valor predeterminado es 100 veces la tolerancia XY de la referencia espacial del dataset de salida. | Linear unit |
vertical (Opcional) | Esta opción solo se aplica cuando los sistemas de coordenadas de entrada y de salida tienen un sistema de coordenadas verticales y las coordenadas de la clase de entidad de entrada tienen valores Z. Además, hay muchas transformaciones verticales que requieren archivos de datos adicionales que se deben instalar en el equipo utilizando el paquete de instalación de datos de los sistemas de coordenadas de ArcGIS. Esta opción no es compatible con el parámetro Conservar forma.
| Boolean |
Muestra de código
Ejemplo 1 de Proyectar (ventana de Python)
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 data is in NAD 1983 UTM Zone 11N coordinate system
input_features = r"C:/data/Redlands.shp"
# output data
output_feature_class = r"C:/data/Redlands_Project.shp"
# create a spatial reference object for the output coordinate system
out_coordinate_system = arcpy.SpatialReference('NAD 1983 StatePlane California V FIPS 0405 (US Feet)')
# run the tool
arcpy.Project_management(input_features, output_feature_class, out_coordinate_system)
Ejemplo 2 de Proyectar (secuencia de comandos independiente)
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])
Entornos
Información sobre licencias
- ArcGIS Desktop Basic: Sí
- ArcGIS Desktop Standard: Sí
- ArcGIS Desktop Advanced: Sí
Temas relacionados
- Vista general del conjunto de herramientas Proyecciones y transformaciones
- Acerca de las proyecciones cartográficas
- Lista de proyecciones de mapa compatibles
- Qué son los sistemas de coordenadas geográficas
- Qué son los sistemas de coordenadas proyectadas
- Fundamentos sobre las proyecciones para profesionales de SIG
- Referencia espacial y geoprocesamiento