registrar una tabla que contiene una columna ST_Geometry con ArcSDE

Puede usar el comando sdelayer –o register de administración de ArcSDE para registrar manualmente una tabla espacial con ArcSDE. Una vez que se registra con ArcSDE, la tabla espacial se denomina capa.

NotaNota:

Esri recomienda crear una clase de entidad en ArcGIS. Al crear clases de entidad en ArcGIS, se asegura que estén creadas en forma adecuada. Esri comprende, sin embargo, que algunos usuarios y desarrolladores de aplicaciones de SQL desean contar con otra opción cuando trabajan con referencias espaciales. Por consiguiente, Esri es compatible con el registro de tablas espaciales externas creadas con SQL o una aplicación de terceros.

Tenga en cuenta que para que una tabla se registre con ArcSDE, debe cumplir con al menos los siguientes criterios:

NotaNota:

si la tabla no contiene ningún dato y se registra la tabla en ArcSDE pero no se especifica un SRID válido, se usa el SRID predeterminado. Para las tablas PostgreSQL y Oracle con columnas ST_Geometry, el valor predeterminado es 0. El SRID 0 está presente principalmente a los fines de prueba; no asigna realmente una referencia espacial. Si luego intenta agregar entidades que tienen un SRID válido que no sea 0, se producirá un error porque los SRID no son iguales. Una vez que se asigna un SRID a una tabla, no puede cambiarse; tiene que eliminar la capa y volver a crearla con el SRID correcto.

Para obtener información adicional sobre el uso del comando sdelayer, consulte la Referencia de comandos de administración de ArcSDE suministrada con el componente ArcSDE de ArcGIS Server Enterprise.

Pasos:
  1. En SQL, cree una tabla, comm_bldgs, a partir de la clase de entidad de edificios existentes en Flujo de trabajo: Utilizar SQL con clases de entidades existentes. Esto crea la tabla comm_bldgs con la misma definición (como las mismas columnas y los mismos tipos de datos) que la clase de entidad de edificios.
    CREATE TABLE comm_bldgs  AS SELECT * FROM buildings WHERE subtype = 'COM';
  2. Cuando registre la clase de entidad comm_bldgs con ArcSDE, usará el mismo SRID que fue usado para la clase de entidad de edificios. Para saber qué es ese SRID, utilice sdelayer –o describe_long.
    SugerenciaSugerencia:

    también podría consultar la tabla ST_GEOMETRY_COLUMNS en Oracle, la tabla geometry_columns en Informix y DB2, y la tabla sde_geometry_columns en PostgreSQL para obtener el SRID.

    sdelayer –o describe_long –l buildings,shape  –u <user> –p <pw>  –s <server> [–D <database>]  –i <service_or_direct_connect_string>  Layer        Administration Utility  Layer Description : <None> Table Owner : me Table Name : buildings Spatial Column : shape Layer Id : 15 SRID : 3
  3. Registre la clase de entidad con ArcSDE mediante el comando sdelayer. Especifique el SRID a partir del último paso con la opción –R. También puede especificar la extensión de la capa con la opción -E.
    sdelayer –o register –l comm_bldgs,shape –e a -t ST_GEOMETRY –C OBJECTID,SDE –R 3 -E -690.389,-512.144,610.389,600.144 –u <user> –p <pw> –s <server> [–D <database>]  –i <service_or_direct_connect_string>  
    NotaNota:

    si el parámetro GEOMETRY_STORAGE en la palabra clave DEFAULTS de la tabla DBTUNE no se establece como ST_GEOMETRY, también debe proporcionar una palabra clave con la opción -k.

Así se ha registrado su tabla en ArcSDE, transformándola en una capa. Esto agrega un registro a las tablas del sistema LAYERS, GEOMETRY_COLUMNS, COLUMN_REGISTRY y TABLE_REGISTRY en Oracle, DB2 o Informix, o a las tablas sde_layers, sde_geometry_columns, sde_column_registry y sde_table_registry en PostgreSQL. En este punto, podrá ver, seleccionar y realizar modificaciones no versionadas en la clase de entidad en ArcGIS Desktop.

Para usar la funcionalidad de la geodatabase en la clase de entidad, regístrela con la geodatabase.

Temas relacionados


3/6/2012