Flujo de trabajo: utilizar SQL con clases de entidad existentes

Este tema se aplica sólo a ArcEditor y ArcInfo.

Complejidad: Intermedio Requisitos de datos: Configuración de datos de tutorial de ArcGIS

Una de las características principales del uso de los tipos espaciales con ArcGIS es la capacidad para agregar y editar geometrías por medio de SQL. Los ejemplos de este tema le muestran cómo crear una clase de entidad con ArcGIS Desktop y después editarla con SQL. Una selección espacial también se realiza a partir de una clase de entidad con SQL y ArcGIS Desktop para mostrar que los resultados son los mismos.

Crear una clase de entidad vacía en ArcCatalog

Este ejemplo le muestra cómo crear una clase de entidad vacía en ArcCatalog.

Pasos:
  1. Inicie ArcCatalog y expanda la carpeta Conexiones de base de datos en el árbol de catálogo.
  2. Conéctese a la geodatabase en la que creará una clase de entidad vacía que contendrá una columna ST_Geometry.
  3. Haga clic en la geodatabase, vaya a Nuevo y después haga clic en Clase de entidad.
  4. Introduzca edificios en el cuadro de texto Nombre.
  5. El tipo de clase de entidad en este caso es polígono, por lo que debe asegurarse de elegir Entidades poligonales para el Tipo y hacer clic en Siguiente.
  6. Elija NAD_1983_UTM_Zone_13N para el sistema de coordenadas. Para hacer esto, expanda la carpeta de sistemas de coordenadas proyectadas, expanda la carpeta UTM, expanda la carpeta NAD 1983, y a continuación haga clic en NAD 1983 UTM Zone 13N.

    Busque el sistema de coordenadas.

  7. Haga clic en Siguiente.
  8. Haga clic en Siguiente para aceptar la tolerancia x,y predeterminada.
  9. La palabra clave de configuración que utilice dependerá de lo que haya configurado para el parámetro GEOMETRY_STORAGE de la palabra clave DEFAULTS en la tabla DBTUNE.
    • Si crea una clase de entidad en una geodatabase de IBM DB2 o Informix, o si crea una clase de entidad en una geodatabase de Oracle o PostgreSQL que usa ST_Geometry como su almacenamiento de geometría por defecto, puede utilizar la palabra clave de configuración Default y hacer clic en Siguiente.
    • Si crea una clase de entidad en una geodatabase de Oracle o PostgreSQL que tenga un almacenamiento de geometría predeterminado distinto de ST_Geometry, seleccione Utilizar palabra clave de configuración, elija la palabra clave de configuración que almacene un tipo GEOMETRY_STORAGE de ST_GEOMETRY de la lista desplegable, y después haga clic en Siguiente.
  10. Agregue los siguientes campos de atributos con estas definiciones. Para hacerlo escriba el nombre del campo en el cuadro de texto Nombre de campo, seleccione el tipo de datos de la lista desplegable Tipos de datos y después escriba una longitud, cuando sea necesario.
    NotaNota:

    Los campos OBJECTID y SHAPE están presentes de manera automática en la clase de entidad. Debe agregar los campos restantes. Asegúrese de agregarlos en el orden mencionado.

    Nombre de campo

    Tipo de datos

    Propiedades del campo

    FID

    Entero largo

    Permite nulos

    TIPO

    Texto

    Longitud = 3

    Permite nulos

    SUBTYPE

    Texto

    Longitud = 6

    Permite nulos

  11. Haga clic en Finalizar.

Ahora tiene una clase de entidad vacía llamada edificios. A continuación, use SQL para determinar el Id. de referencia espacial y agregue entidades a la clase de entidad.

Determinar el SRID de la clase de entidad

Antes de agregar entidades a la clase de entidad, debe determinar el valor SRID para la clase de entidad. El SRID se asigna cuando la clase de entidad se crea en una geodatabase y se almacena en distintas tablas del sistema de geodatabase de ArcSDE.

Para determinar el SRID de ST_Geometry de la clase de entidad que creó, utilice la declaración SQL SELECT para seleccionar el valor SRID de la tabla ST_GEOMETRY_COLUMNS en Oracle, la tabla geometry_columns en Informix DB2, y la tabla sde_geometry_columns en PostgreSQL.

Pasos:
  1. Abra un editor SQL, como SQL*Plus para Oracle o psql para PostgreSQL.

    Asegúrese de iniciar sesión con el mismo nombre de usuario con el que lo hizo cuando creó la clase de entidad de edificios en ArcGIS Desktop.

  2. Ejecute las siguientes declaraciones SQL para determinar el SRID de la clase de entidad.
    • Oracle
      SELECT table_name, srid  FROM sde.st_geometry_columns  WHERE table_name = 'BUILDINGS' AND owner_name = 'NEYES';
    • PostgreSQL
      SELECT f_table_name, srid FROM sde.sde_geometry_columns WHERE f_table_name = 'buildings' AND owner_name = 'neyes';
    • DB2
      SELECT layer_table, srid FROM db2gse.geometry_columns WHERE layer_table = 'BUILDINGS' AND owner_name = 'NEYES';
    • Informix
      SELECT f_table_name, srid FROM sde.geometry_columns WHERE f_table_name = 'buildings' AND owner_name = 'neyes';

El SRID resultante de esas consultas se usa cuando inserta registros en la clase de entidad.

Determinar el REGISTRATION_ID de la clase de entidad.

Antes de insertar registros en la clase de entidad con SQL, también debe consultar la tabla TABLE_REGISTRY para obtener el REGISTRATION_ID de la clase de entidad.

Oracle

SELECT registration_id FROM sde.table_registry WHERE table_name = 'BUILDINGS' AND owner_name = 'NEYES';  REGISTRATION_ID 40

PostgreSQL

SELECT registration_id FROM sde.sde_table_registry WHERE table_name = 'buildings' AND owner_name = 'neyes';  REGISTRATION_ID 40

DB2

SELECT registration_id FROM sde.table_registry WHERE table_name = 'BUILDINGS' AND owner_name = 'NEYES';  REGISTRATION_ID 40

Informix

SELECT registration_id FROM sde.table_registry WHERE table_name = 'buildings' AND owner_name = 'neyes';  REGISTRATION_ID 40

Usará el número que resulte de esta consulta para obtener un valor de ObjectID.

Todas las clases de entidad contienen una columna de ObjectID. La geodatabase genera los valores para esta columna. Por lo tanto, cuando inserta registros en una clase de entidad existente con SQL, debe ejecutar una utilidad como parte del comando SQL para obtener e insertar el siguiente valor de Id. de objeto disponible para la columna de ObjectID.

Insertar entidad en clases de entidades con SQL

Utilice un editor SQL para agregar registros a la tabla de negocios de la clase de entidad, y después abra una vista previa de las entidades en ArcCatalog.

Use el SRID y el REGISTRATION_ID que obtuvo en las últimas dos secciones cuando insertó los registros en la clase de entidad.

Utilizará la utilidad específica de su DBMS para obtener un valor de Id. de objeto. Puede usar la utilidad en una subconsulta para obtener un valor de Id. de objeto en Oracle y PostgreSQL. Para DB2 e Informix, puede ejecutar la utilidad para obtener un valor de Id. de objeto, y después utilizar ese valor en la declaración INSERT.

NotaNota:

Debe calificar las funciones del tipo espacial con db2gse cuando inserta datos en geodatabases en DB2. Por ejemplo, en los siguientes ejemplos, ST_Geometry se convierte en db2gse.ST_Geometry. Califique las funciones de tipo espacial con sde. para otros DBMS.

Pasos:
  1. Ejecute los comandos siguientes para insertar entidades en la clase de entidad.

    Asegúrese de utilizar el SRID para la clase de entidad en lugar del 17 al final de las declaraciones INSERT, el nombre de usuario del propietario de clase de entidad en lugar de tbl_owner, y el REGISTRATION_ID de la clase de entidad en lugar del 40 en la consulta de utilidad.

    • Oracle
      INSERT INTO BUILDINGS (objectid, fid, type, subtype, shape) VALUES (sde.version_user_ddl.next_row_id('tbl_owner', 40),  18907, 'BLD', 'RES', sde.st_geometry  ('polygon (( 2219520.56768649 387051.66985716,  2219525.34823696 387079.52399077, 2219536.03133855 387077.71905252,  2219539.05578917 387095.47546386, 2219528.17754562 387097.32910505,  2219528.61661291 387099.81695550, 2219489.00622816 387106.54876471,  2219480.81097279 387058.40167483, 2219520.56768649 387051.66985716))',  17) );  INSERT INTO BUILDINGS (objectid, fid, type, subtype, shape) VALUES (sde.version_user_ddl.next_row_id('tbl_owner', 40),  19053, 'BLD', 'RES', sde.st_geometry  ('polygon (( 2219612.86639158 386903.72709265,  2219612.86832175 386907.20474822, 2219619.82528792 386906.03131444,  2219624.05814397 386930.50637511, 2219602.30717225 386934.19443199,  2219602.68435556 386936.33176596, 2219595.81121637 386937.54715132,  2219595.51783041 386935.61930861, 2219582.14872687 386937.88243384,  2219577.95779702 386913.07208642, 2219595.22446985 386910.09649113,  2219593.59000886 386900.45735373, 2219612.86269632 386897.06148069,  2219612.86639158 386903.72709265))',  17) );  INSERT INTO BUILDINGS (objectid, fid, type, subtype, shape) VALUES (sde.version_user_ddl.next_row_id('tbl_owner', 40),  19136, 'BLD', 'BLD', sde.st_geoometry  ('polygon (( 2219733.93687411 386826.88586815,  2219735.30274506 386834.88599003, 2219725.20502702 386836.59337847,  2219723.83915606 386828.59325658, 2219733.93687411 386826.88586815))',  17) );  INSERT INTO BUILDINGS (objectid, fid, type, subtype, shape) VALUES (sde.version_user_ddl.next_row_id('tbl_owner', 40),  18822, 'BLD', 'BLD', sde.st_geometry  ('polygon (( 2219318.56450844 387185.37926723,  2219320.27185454 387197.62335210, 2219311.29614139 387198.94049048,  2219309.58880798 387186.69635058, 2219318.56450844 387185.37926723))',  17) );  INSERT INTO BUILDINGS (objectid, fid, type, subtype, shape) VALUES sde.version_user_ddl.next_row_id('tbl_owner', 40),  19095, 'BLD', 'BLD', sde.st_geometry ('polygon (( 2219357.88220142 386887.66730143,  2219360.46761861 386898.54553227, 2219350.56500020 386900.98462474,  2219347.97961264 386890.10638120, 2219357.88220142 386887.66730143))',  17) );  INSERT INTO BUILDINGS (objectid, fid, type, subtype, shape) VALUES sde.version_user_ddl.next_row_id('tbl_owner', 40),  18863, 'BLD', 'RES', sde.st_geometry  ('polygon (( 2219640.86224883 387097.71935934,  2219658.37473060 387147.67138324, 2219620.66681275 387160.89111018,  2219609.69104055 387129.67108043, 2219619.00825848 387126.35393804,  2219612.47155737 387107.67078229, 2219640.86224883 387097.71935934))',  17) );  INSERT INTO BUILDINGS (objectid, fid, type, subtype, shape) VALUES sde.version_user_ddl.next_row_id('tbl_owner', 40),  19038, 'BLD', 'RES', sde.st_geometry  ('polygon (( 2219498.86004627 386911.32623002,  2219505.93331369 386953.22930633, 2219453.63980640 386962.05871170,  2219448.56655992 386931.86309469, 2219465.10339963 386929.08257787,  2219463.15216206 386917.37511856, 2219498.86004627 386911.32623002))',  17) );  INSERT INTO BUILDINGS (objectid, fid, type, subtype, shape) VALUES (sde.version_user_ddl.next_row_id('tbl_owner', 40),   18859, 'BLD', 'RES', sde.st_geometry  ('polygon (( 2219537.93380545 387110.93908628,  2219546.81201112 387161.33014361, 2219498.76248799 387169.86682333,  2219493.68920765 387140.93957403, 2219516.07980240 387136.98828165,  2219512.32366468 387115.52454135, 2219537.93380545 387110.93908628))',  17) );  INSERT INTO BUILDINGS (objectid, fid, type, subtype, shape) VALUES (sde.version_user_ddl.next_row_id('tbl_owner', 40),   18921, 'BLD', 'RES', sde.st_geometry  ('polygon (( 2219630.32549736 387032.49884228,  2219638.42319022 387080.93859854, 2219602.27627682 387087.03625775,  2219599.44695969 387070.06042272, 2219594.95910946 387070.84088050,  2219589.69069987 387039.32824786, 2219630.32549736 387032.49884228))',  17) );  INSERT INTO BUILDINGS (objectid, fid, type, subtype, shape) VALUES (sde.version_user_ddl.next_row_id('tbl_owner', 40),   18000, 'BLD', 'RES', sde.st_geometry  ('polygon (( 2219428.55884565 386927.35910468,  2219434.90911597 386965.59318031, 2219412.50672431 386969.25340210,  2219412.90361568 386971.59064420, 2219405.49494299 386972.82544978,  2219405.18625535 386970.70870430, 2219391.47137188 386973.00185724,  2219387.14966448 386946.93921840, 2219404.70113486 386944.07272009,  2219402.67258040 386931.63676100, 2219428.55884565 386927.35910468))',  17) );  INSERT INTO BUILDINGS (objectid, fid, type, subtype, shape) VALUES (sde.version_user_ddl.next_row_id('tbl_owner', 40),  19116, 'BLD', 'BLD', sde.st_geometry ('polygon (( 2219672.66761980 386847.66674281,  2219676.37499955 386866.54504475, 2219663.35040187 386869.13042807,  2219659.64303058 386850.25207534, 2219672.66761980 386847.66674281))',  17) );  INSERT INTO BUILDINGS (objectid, fid, type, subtype, shape) VALUES (sde.version_user_ddl.next_row_id('tbl_owner', 40),   18962, 'BLD', 'BLD', sde.st_geometry  ('polygon (( 2219556.03164537 387046.25513130,  2219557.49509154 387055.03576599, 2219547.05591105 387056.74309940,  2219545.59246912 387047.96251973, 2219556.03164537 387046.25513130))',  17) );  INSERT INTO BUILDINGS (objectid, fid, type, subtype, shape) VALUES (sde.version_user_ddl.next_row_id('tbl_owner', 40),  18833, 'BLD', 'RES', sde.st_geometry  ('polygon (( 2219383.93139678 387137.86633157,  2219389.05343086 387190.74523511, 2219359.00421054 387193.57452260,  2219353.93090903 387140.69568256, 2219383.93139678 387137.86633157))',  17) );  INSERT INTO BUILDINGS (objectid, fid, type, subtype, shape) VALUES (sde.version_user_ddl.next_row_id('tbl_owner', 40),  18884, 'BLD', 'RES', sde.st_geometry  ('polygon (( 2219373.44344985 387075.37756489,  2219382.32162166 387124.54907598, 2219362.80911894 387128.11010561,  2219359.44323973 387109.62200293, 2219339.54046156 387113.28058238,  2219333.97942791 387082.54840752, 2219373.44344985 387075.37756489))',  17) );  INSERT INTO BUILDINGS (objectid, fid, type, subtype, shape) VALUES (sde.version_user_ddl.next_row_id('tbl_owner', 40),  19071, 'BLD', 'RES', sde.st_geometry  ('polygon (( 2219682.28129249 386891.68291590,  2219686.92111827 386918.49082923, 2219640.56580254 386926.48163888,  2219635.92597252 386899.67372556, 2219682.28129249 386891.68291590))',  17) );  INSERT INTO BUILDINGS (objectid, fid, type, subtype, shape) VALUES (sde.version_user_ddl.next_row_id('tbl_owner', 40),  19044, 'BLD', 'RES', sde.st_geometry  ('polygon (( 2219553.98285375 386902.15533258,  2219555.78774544 386913.03356343, 2219560.95856289 386912.15551350,  2219565.78790520 386940.83886287, 2219517.98226930 386948.93658960,  2219513.15292276 386920.20440606, 2219516.17736068 386919.66779319,  2219514.37246900 386908.88714178, 2219553.98285375 386902.15533258))',  17) );  INSERT INTO BUILDINGS (objectid, fid, type, subtype, shape) VALUES (sde.version_user_ddl.next_row_id('tbl_owner', 40),  19027, 'BLD', 'RES', sde.st_geometry  ('polygon (( 2219363.11822986 386945.42381000,  2219367.93141545 386973.32232908, 2219320.06718025 386981.52254956,  2219315.29857060 386953.62397969, 2219363.11822986 386945.42381000))',  17) );  INSERT INTO BUILDINGS (objectid, fid, type, subtype, shape) VALUES (sde.version_user_ddl.next_row_id('tbl_owner', 40),  19082, 'BLD', 'RES', sde.st_geometry  ('polygon (( 2219744.18548833 386871.29585958,  2219746.55761318 386884.95597445, 2219743.44931865 386885.52860025,  2219747.49828784 386908.59539393, 2219704.96369012 386916.03897901,  2219700.42393269 386890.23190579, 2219729.62557524 386885.11957759,  2219727.74423440 386874.19963643, 2219744.18548833 386871.29585958))',  17) );  INSERT INTO BUILDINGS (objectid, fid, type, subtype, shape) VALUES (sde.version_user_ddl.next_row_id('tbl_owner', 40),  19105, 'BLD', 'BLD', sde.st_geometry  ('polygon (( 2219424.32229434 386872.05730772,  2219426.12719873 386882.05749711, 2219416.56607240 386883.81360119,  2219414.76116801 386873.81342026, 2219424.32229434 386872.05730772))',  17) );  INSERT INTO BUILDINGS (objectid, fid, type, subtype, shape) VALUES (sde.version_user_ddl.next_row_id('tbl_owner', 40),  19120, 'BLD', 'BLD', sde.st_geometry  ('polygon (( 2219553.73895382 386851.52038802,  2219555.25115373 386859.91077266,  2219545.25100667 386861.81323532,  2219543.69000222 386853.42285069,  2219553.73895382 386851.52038802))',  3) );  COMMIT;
    • PostgreSQL

      Reemplace gis en el nombre de función por el nombre de usuario con el que creó la clase de entidad de edificios.

      INSERT INTO buildings (objectid, fid, type, subtype, shape) VALUES ((SELECT o_base_id FROM gis.i40_get_ids(2,1)),  18907, 'BLD', 'RES', sde.st_geometry  ('polygon (( 2219520.56768649 387051.66985716,  2219525.34823696 387079.52399077, 2219536.03133855 387077.71905252,  2219539.05578917 387095.47546386, 2219528.17754562 387097.32910505,  2219528.61661291 387099.81695550, 2219489.00622816 387106.54876471,  2219480.81097279 387058.40167483, 2219520.56768649 387051.66985716))',  17) );  INSERT INTO buildings (objectid, fid, type, subtype, shape) VALUES ((SELECT o_base_id FROM gis.i40_get_ids(2,1)),  19053, 'BLD', 'RES', sde.st_geometry  ('polygon (( 2219612.86639158 386903.72709265,  2219612.86832175 386907.20474822, 2219619.82528792 386906.03131444,  2219624.05814397 386930.50637511, 2219602.30717225 386934.19443199,  2219602.68435556 386936.33176596, 2219595.81121637 386937.54715132,  2219595.51783041 386935.61930861, 2219582.14872687 386937.88243384,  2219577.95779702 386913.07208642, 2219595.22446985 386910.09649113,  2219593.59000886 386900.45735373, 2219612.86269632 386897.06148069,  2219612.86639158 386903.72709265))',  17) );  INSERT INTO buildings (objectid, fid, type, subtype, shape) VALUES ((SELECT o_base_id FROM gis.i40_get_ids(2,1)),  19136, 'BLD', 'BLD', sde.st_geoometry  ('polygon (( 2219733.93687411 386826.88586815,  2219735.30274506 386834.88599003, 2219725.20502702 386836.59337847,  2219723.83915606 386828.59325658, 2219733.93687411 386826.88586815))',  17) );  INSERT INTO buildings (objectid, fid, type, subtype, shape) VALUES ((SELECT o_base_id FROM gis.i40_get_ids(2,1)),  18822, 'BLD', 'BLD', sde.st_geometry  ('polygon (( 2219318.56450844 387185.37926723,  2219320.27185454 387197.62335210, 2219311.29614139 387198.94049048,  2219309.58880798 387186.69635058, 2219318.56450844 387185.37926723))',  17) );  INSERT INTO buildings (objectid, fid, type, subtype, shape) VALUES ((SELECT o_base_id FROM gis.i40_get_ids(2,1)),  19095, 'BLD', 'BLD', sde.st_geometry  ('polygon (( 2219357.88220142 386887.66730143,  2219360.46761861 386898.54553227, 2219350.56500020 386900.98462474,  2219347.97961264 386890.10638120, 2219357.88220142 386887.66730143))',  17) );  INSERT INTO buildings (objectid, fid, type, subtype, shape) VALUES ((SELECT o_base_id FROM gis.i40_get_ids(2,1)),  18863, 'BLD', 'RES', sde.st_geometry  ('polygon (( 2219640.86224883 387097.71935934,  2219658.37473060 387147.67138324, 2219620.66681275 387160.89111018,  2219609.69104055 387129.67108043, 2219619.00825848 387126.35393804,  2219612.47155737 387107.67078229, 2219640.86224883 387097.71935934))',  17) );  INSERT INTO buildings (objectid, fid, type, subtype, shape) VALUES ((SELECT o_base_id FROM gis.i40_get_ids(2,1)),  19038, 'BLD', 'RES', sde.st_geometry  ('polygon (( 2219498.86004627 386911.32623002,  2219505.93331369 386953.22930633, 2219453.63980640 386962.05871170,  2219448.56655992 386931.86309469, 2219465.10339963 386929.08257787,  2219463.15216206 386917.37511856, 2219498.86004627 386911.32623002))',  17) );  INSERT INTO buildings (objectid, fid, type, subtype, shape) VALUES ((SELECT o_base_id FROM gis.i40_get_ids(2,1)),  18859, 'BLD', 'RES', sde.st_geometry  ('polygon (( 2219537.93380545 387110.93908628,  2219546.81201112 387161.33014361, 2219498.76248799 387169.86682333,  2219493.68920765 387140.93957403, 2219516.07980240 387136.98828165,  2219512.32366468 387115.52454135, 2219537.93380545 387110.93908628))',  17) );  INSERT INTO buildings (objectid, fid, type, subtype, shape) VALUES ((SELECT o_base_id FROM gis.i40_get_ids(2,1)),  18921, 'BLD', 'RES', sde.st_geometry  ('polygon (( 2219630.32549736 387032.49884228,  2219638.42319022 387080.93859854, 2219602.27627682 387087.03625775,  2219599.44695969 387070.06042272, 2219594.95910946 387070.84088050,  2219589.69069987 387039.32824786, 2219630.32549736 387032.49884228))',  17) );  INSERT INTO buildings (objectid, fid, type, subtype, shape) VALUES ((SELECT o_base_id FROM gis.i40_get_ids(2,1)),  18000, 'BLD', 'RES', sde.st_geometry  ('polygon (( 2219428.55884565 386927.35910468,  2219434.90911597 386965.59318031, 2219412.50672431 386969.25340210,  2219412.90361568 386971.59064420, 2219405.49494299 386972.82544978,  2219405.18625535 386970.70870430, 2219391.47137188 386973.00185724,  2219387.14966448 386946.93921840, 2219404.70113486 386944.07272009,  2219402.67258040 386931.63676100, 2219428.55884565 386927.35910468))',  17) );  INSERT INTO buildings (objectid, fid, type, subtype, shape) VALUES ((SELECT o_base_id FROM gis.i40_get_ids(2,1)),  19116, 'BLD', 'BLD', sde.st_geometry  ('polygon (( 2219672.66761980 386847.66674281,  2219676.37499955 386866.54504475, 2219663.35040187 386869.13042807,  2219659.64303058 386850.25207534, 2219672.66761980 386847.66674281))',  17) );  INSERT INTO buildings (objectid, fid, type, subtype, shape) VALUES ((SELECT o_base_id FROM gis.i40_get_ids(2,1)),  18962, 'BLD', 'BLD', sde.st_geometry  ('polygon (( 2219556.03164537 387046.25513130,  2219557.49509154 387055.03576599, 2219547.05591105 387056.74309940,  2219545.59246912 387047.96251973, 2219556.03164537 387046.25513130))',  17) );  INSERT INTO buildings (objectid, fid, type, subtype, shape) VALUES ((SELECT o_base_id FROM gis.i40_get_ids(2,1)),  18833, 'BLD', 'RES', sde.st_geometry  ('polygon (( 2219383.93139678 387137.86633157,  2219389.05343086 387190.74523511, 2219359.00421054 387193.57452260,  2219353.93090903 387140.69568256, 2219383.93139678 387137.86633157))',  17) );  INSERT INTO buildings (objectid, fid, type, subtype, shape) VALUES ((SELECT o_base_id FROM gis.i40_get_ids(2,1)),  18884, 'BLD', 'RES', sde.st_geometry  ('polygon (( 2219373.44344985 387075.37756489,  2219382.32162166 387124.54907598, 2219362.80911894 387128.11010561,  2219359.44323973 387109.62200293, 2219339.54046156 387113.28058238,  2219333.97942791 387082.54840752, 2219373.44344985 387075.37756489))',  17) );  INSERT INTO buildings (objectid, fid, type, subtype, shape) VALUES ((SELECT o_base_id FROM gis.i40_get_ids(2,1)),  19071, 'BLD', 'RES', sde.st_geometry  ('polygon (( 2219682.28129249 386891.68291590,  2219686.92111827 386918.49082923, 2219640.56580254 386926.48163888,  2219635.92597252 386899.67372556, 2219682.28129249 386891.68291590))',  17) );  INSERT INTO buildings (objectid, fid, type, subtype, shape) VALUES ((SELECT o_base_id FROM gis.i40_get_ids(2,1)),  19044, 'BLD', 'RES', sde.st_geometry  ('polygon (( 2219553.98285375 386902.15533258,  2219555.78774544 386913.03356343, 2219560.95856289 386912.15551350,  2219565.78790520 386940.83886287, 2219517.98226930 386948.93658960,  2219513.15292276 386920.20440606, 2219516.17736068 386919.66779319,  2219514.37246900 386908.88714178, 2219553.98285375 386902.15533258))',  17) );  INSERT INTO buildings (objectid, fid, type, subtype, shape) VALUES ((SELECT o_base_id FROM gis.i40_get_ids(2,1)),  19027, 'BLD', 'RES', sde.st_geometry  ('polygon (( 2219363.11822986 386945.42381000,  2219367.93141545 386973.32232908, 2219320.06718025 386981.52254956,  2219315.29857060 386953.62397969, 2219363.11822986 386945.42381000))',  17) );  INSERT INTO buildings (objectid, fid, type, subtype, shape) VALUES ((SELECT o_base_id FROM gis.i40_get_ids(2,1)),  19082, 'BLD', 'RES', sde.st_geometry  ('polygon (( 2219744.18548833 386871.29585958,  2219746.55761318 386884.95597445, 2219743.44931865 386885.52860025,  2219747.49828784 386908.59539393, 2219704.96369012 386916.03897901,  2219700.42393269 386890.23190579, 2219729.62557524 386885.11957759,  2219727.74423440 386874.19963643, 2219744.18548833 386871.29585958))',  17) );  INSERT INTO buildings (objectid, fid, type, subtype, shape) VALUES ((SELECT o_base_id FROM gis.i40_get_ids(2,1)),  19105, 'BLD', 'BLD', sde.st_geometry  ('polygon (( 2219424.32229434 386872.05730772,  2219426.12719873 386882.05749711, 2219416.56607240 386883.81360119,  2219414.76116801 386873.81342026, 2219424.32229434 386872.05730772))',  17) );  INSERT INTO buildings (objectid, fid, type, subtype, shape) VALUES ((SELECT o_base_id FROM gis.i40_get_ids(2,1)),  19120, 'BLD', 'BLD', sde.st_geometry  ('polygon (( 2219553.73895382 386851.52038802,  2219555.25115373 386859.91077266, 2219545.25100667 386861.81323532,  2219543.69000222 386853.42285069, 2219553.73895382 386851.52038802))',  17) );
    • DB2

      Para cada registro insertado necesita un valor de Id. de objeto. Invoque el procedimiento next_row_id para obtener un valor.

      CALL SDE.next_row_id('tbl_owner',40,?,?,?) Value of output parameters  Parameter Name : O_ROWID Parameter Value : 43  Parameter Name : O_MSGCODE Parameter Value : 0  Parameter Name : O_MESSAGE Parameter value : Procedure successfully completed.  Return status = 1

      Repita esto para cada declaración INSERT. Necesita 20 valores porque está insertando 20 registros.

      INSERT INTO BUILDINGS (objectid, fid, type, subtype, shape) VALUES (43, 18907, 'BLD', 'RES', db2gse.st_geometry  ('polygon (( 2219520.56768649 387051.66985716, 2219525.34823696 387079.52399077,  2219536.03133855 387077.71905252, 2219539.05578917 387095.47546386,  2219528.17754562 387097.32910505, 2219528.61661291 387099.81695550,  2219489.00622816 387106.54876471, 2219480.81097279 387058.40167483,  2219520.56768649 387051.66985716))', 17));  INSERT INTO BUILDINGS (objectid, fid, type, subtype, shape) VALUES (44, 19053, 'BLD', 'RES', db2gse.st_geometry  ('polygon (( 2219612.86639158 386903.72709265, 2219612.86832175 386907.20474822,  2219619.82528792 386906.03131444, 2219624.05814397 386930.50637511,  2219602.30717225 386934.19443199, 2219602.68435556 386936.33176596,  2219595.81121637 386937.54715132, 2219595.51783041 386935.61930861,  2219582.14872687 386937.88243384, 2219577.95779702 386913.07208642,  2219595.22446985 386910.09649113, 2219593.59000886 386900.45735373,  2219612.86269632 386897.06148069, 2219612.86639158 386903.72709265))', 17));  INSERT INTO BUILDINGS (objectid, fid, type, subtype, shape) VALUES (45, 19136, 'BLD', 'BLD', db2gse.st_geometry  ('polygon (( 2219733.93687411 386826.88586815, 2219735.30274506 386834.88599003,  2219725.20502702 386836.59337847, 2219723.83915606 386828.59325658,  2219733.93687411 386826.88586815))', 17));  INSERT INTO BUILDINGS (objectid, fid, type, subtype, shape) VALUES (46, 18822, 'BLD', 'BLD', db2gse.st_geometry  ('polygon (( 2219318.56450844 387185.37926723, 2219320.27185454 387197.62335210,  2219311.29614139 387198.94049048, 2219309.58880798 387186.69635058,  2219318.56450844 387185.37926723))', 17));  INSERT INTO BUILDINGS (objectid, fid, type, subtype, shape) VALUES (47, 19095, 'BLD', 'BLD', db2gse.st_geometry  ('polygon (( 2219357.88220142 386887.66730143, 2219360.46761861 386898.54553227,  2219350.56500020 386900.98462474, 2219347.97961264 386890.10638120,  2219357.88220142 386887.66730143))', 17));  INSERT INTO BUILDINGS (objectid, fid, type, subtype, shape) VALUES (48, 18863, 'BLD', 'RES', db2gse.st_geometry  ('polygon (( 2219640.86224883 387097.71935934, 2219658.37473060 387147.67138324,  2219620.66681275 387160.89111018, 2219609.69104055 387129.67108043,  2219619.00825848 387126.35393804, 2219612.47155737 387107.67078229,  2219640.86224883 387097.71935934))', 17));  INSERT INTO BUILDINGS (objectid, fid, type, subtype, shape) VALUES (49, 19038, 'BLD', 'RES', db2gse.st_geometry  ('polygon (( 2219498.86004627 386911.32623002, 2219505.93331369 386953.22930633,  2219453.63980640 386962.05871170, 2219448.56655992 386931.86309469,  2219465.10339963 386929.08257787, 2219463.15216206 386917.37511856,  2219498.86004627 386911.32623002))', 17));  INSERT INTO BUILDINGS (objectid, fid, type, subtype, shape) VALUES (50, 18859, 'BLD', 'RES', db2gse.st_geometry  ('polygon (( 2219537.93380545 387110.93908628, 2219546.81201112 387161.33014361, 2219498.76248799 387169.86682333, 2219493.68920765 387140.93957403,  2219516.07980240 387136.98828165, 2219512.32366468 387115.52454135,  2219537.93380545 387110.93908628))', 17));  INSERT INTO BUILDINGS (objectid, fid, type, subtype, shape) VALUES (51, 18921, 'BLD', 'RES', db2gse.st_geometry  ('polygon (( 2219630.32549736 387032.49884228, 2219638.42319022 387080.93859854,  2219602.27627682 387087.03625775, 2219599.44695969 387070.06042272,  2219594.95910946 387070.84088050, 2219589.69069987 387039.32824786,  2219630.32549736 387032.49884228))', 17));  INSERT INTO BUILDINGS (objectid, fid, subtype, shape) VALUES (52, 18000, 'BLD', 'RES', db2gse.st_geometry  ('polygon (( 2219428.55884565 386927.35910468, 2219434.90911597 386965.59318031,  2219412.50672431 386969.25340210, 2219412.90361568 386971.59064420,  2219405.49494299 386972.82544978, 2219405.18625535 386970.70870430,  2219391.47137188 386973.00185724, 2219387.14966448 386946.93921840, 2219404.70113486 386944.07272009, 2219402.67258040 386931.63676100,  2219428.55884565 386927.35910468))', 17));  INSERT INTO BUILDINGS (objectid, fid, type, subtype, shape) VALUES (53, 19116, 'BLD', 'BLD', db2gse.st_geometry  ('polygon (( 2219672.66761980 386847.66674281, 2219676.37499955 386866.54504475,  2219663.35040187 386869.13042807, 2219659.64303058 386850.25207534,  2219672.66761980 386847.66674281))', 17));  INSERT INTO BUILDINGS (objectid, fid, type, subtype, shape) VALUES (54, 18962, 'BLD', 'BLD', db2gse.st_geometry  ('polygon (( 2219556.03164537 387046.25513130, 2219557.49509154 387055.03576599,  2219547.05591105 387056.74309940, 2219545.59246912 387047.96251973,  2219556.03164537 387046.25513130))', 17));  INSERT INTO BUILDINGS (objectid, fid, type, subtype, shape) VALUES (55, 18833, 'BLD', 'RES', db2gse.st_geometry  ('polygon (( 2219383.93139678 387137.86633157, 2219389.05343086 387190.74523511,  2219359.00421054 387193.57452260, 2219353.93090903 387140.69568256,  2219383.93139678 387137.86633157))', 17));  INSERT INTO BUILDINGS (objectid, fid, type, subtype, shape) VALUES (56, 18884, 'BLD', 'RES', db2gse.st_geometry  ('polygon (( 2219373.44344985 387075.37756489, 2219382.32162166 387124.54907598,  2219362.80911894 387128.11010561, 2219359.44323973 387109.62200293,  2219339.54046156 387113.28058238, 2219333.97942791 387082.54840752,  2219373.44344985 387075.37756489))', 17));  INSERT INTO BUILDINGS (objectid, fid, type, subtype, shape) VALUES (57, 19071, 'BLD', 'RES', db2gse.st_geometry  ('polygon (( 2219682.28129249 386891.68291590, 2219686.92111827 386918.49082923,  2219640.56580254 386926.48163888, 2219635.92597252 386899.67372556,  2219682.28129249 386891.68291590))', 17));  INSERT INTO BUILDINGS (objectid, fid, type, subtype, shape) VALUES (58, 19044, 'BLD', 'RES', db2gse.st_geometry  ('polygon (( 2219553.98285375 386902.15533258, 2219555.78774544 386913.03356343,  2219560.95856289 386912.15551350, 2219565.78790520 386940.83886287,  2219517.98226930 386948.93658960, 2219513.15292276 386920.20440606,  2219516.17736068 386919.66779319, 2219514.37246900 386908.88714178,  2219553.98285375 386902.15533258))', 17));  INSERT INTO BUILDINGS (objectid, fid, type, subtype, shape) VALUES (59, 19027, 'BLD', 'RES', db2gse.st_geometry  ('polygon (( 2219363.11822986 386945.42381000, 2219367.93141545 386973.32232908,  2219320.06718025 386981.52254956, 2219315.29857060 386953.62397969,  2219363.11822986 386945.42381000))', 17));  INSERT INTO BUILDINGS (objectid, fid, type, subtype, shape) VALUES (60, 19082, 'BLD', 'RES', db2gse.st_geometry  ('polygon (( 2219744.18548833 386871.29585958, 2219746.55761318 386884.95597445,  2219743.44931865 386885.52860025, 2219747.49828784 386908.59539393,  2219704.96369012 386916.03897901, 2219700.42393269 386890.23190579,  2219729.62557524 386885.11957759, 2219727.74423440 386874.19963643,  2219744.18548833 386871.29585958))', 17));  INSERT INTO BUILDINGS (objectid, fid, type, subtype, shape) VALUES (61, 19105, 'BLD', 'BLD', db2gse.st_geometry  ('polygon (( 2219424.32229434 386872.05730772, 2219426.12719873 386882.05749711,  2219416.56607240 386883.81360119, 2219414.76116801 386873.81342026,  2219424.32229434 386872.05730772))', 17));  INSERT INTO BUILDINGS (objectid, fid, type, subtype, shape) VALUES (62, 19120, 'BLD', 'BLD', db2gse.st_geometry  ('polygon (( 2219553.73895382 386851.52038802, 2219555.25115373 386859.91077266,  2219545.25100667 386861.81323532, 2219543.69000222 386853.42285069,  2219553.73895382 386851.52038802))', 17));  COMMIT;
    • Informix

      Para cada registro insertado necesita un valor de Id. de objeto. Ejecute la función next_row_id para obtener un valor.

      EXECUTE FUNCTION "sde".next_row_id('tbl_owner',40);  ret_code 0 err_msg rowid 31  1 row(s) retrieved.

      Repita esto para cada declaración INSERT. Necesita 20 valores porque está insertando 20 registros.

      INSERT INTO buildings (objectid, fid, type, subtype, shape) VALUES (31, 18907, 'BLD', 'RES', db2gse.st_geometry  ('polygon (( 2219520.56768649 387051.66985716, 2219525.34823696 387079.52399077,  2219536.03133855 387077.71905252, 2219539.05578917 387095.47546386,  2219528.17754562 387097.32910505, 2219528.61661291 387099.81695550,  2219489.00622816 387106.54876471, 2219480.81097279 387058.40167483,  2219520.56768649 387051.66985716))',  17));  INSERT INTO buildings (objectid, fid, type, subtype, shape) VALUES (32, 19053, 'BLD', 'RES', db2gse.st_geometry  ('polygon (( 2219612.86639158 386903.72709265, 2219612.86832175 386907.20474822,  2219619.82528792 386906.03131444, 2219624.05814397 386930.50637511,  2219602.30717225 386934.19443199, 2219602.68435556 386936.33176596,  2219595.81121637 386937.54715132, 2219595.51783041 386935.61930861,  2219582.14872687 386937.88243384, 2219577.95779702 386913.07208642,  2219595.22446985 386910.09649113, 2219593.59000886 386900.45735373,  2219612.86269632 386897.06148069, 2219612.86639158 386903.72709265))', 17));  INSERT INTO buildings (objectid, fid, type, subtype, shape) VALUES (33, 19136, 'BLD', 'BLD', db2gse.st_geoometry  ('polygon (( 2219733.93687411 386826.88586815, 2219735.30274506 386834.88599003,  2219725.20502702 386836.59337847, 2219723.83915606 386828.59325658,  2219733.93687411 386826.88586815))', 17));  INSERT INTO buildings (objectid, fid, type, subtype, shape) VALUES (34, 18822, 'BLD', 'BLD', db2gse.st_geometry  ('polygon (( 2219318.56450844 387185.37926723, 2219320.27185454 387197.62335210,  2219311.29614139 387198.94049048, 2219309.58880798 387186.69635058,  2219318.56450844 387185.37926723))', 17));  INSERT INTO buildings (objectid, fid, type, subtype, shape) VALUES (35, 19095, 'BLD', 'BLD', db2gse.st_geometry  ('polygon (( 2219357.88220142 386887.66730143, 2219360.46761861 386898.54553227,  2219350.56500020 386900.98462474, 2219347.97961264 386890.10638120,  2219357.88220142 386887.66730143))', 17));  INSERT INTO buildings (objectid, fid, type, subtype, shape) VALUES (36, 18863, 'BLD', 'RES', db2gse.st_geometry  ('polygon (( 2219640.86224883 387097.71935934, 2219658.37473060 387147.67138324,  2219620.66681275 387160.89111018, 2219609.69104055 387129.67108043,  2219619.00825848 387126.35393804, 2219612.47155737 387107.67078229,  2219640.86224883 387097.71935934))', 17));  INSERT INTO buildings (objectid, fid, type, subtype, shape) VALUES (37, 19038, 'BLD', 'RES', db2gse.st_geometry  ('polygon (( 2219498.86004627 386911.32623002, 2219505.93331369 386953.22930633,  2219453.63980640 386962.05871170, 2219448.56655992 386931.86309469,  2219465.10339963 386929.08257787, 2219463.15216206 386917.37511856,  2219498.86004627 386911.32623002))', 17));  INSERT INTO buildings (objectid, fid, type, subtype, shape) VALUES (38, 18859, 'BLD', 'RES', db2gse.st_geometry  ('polygon (( 2219537.93380545 387110.93908628, 2219546.81201112 387161.33014361, 2219498.76248799 387169.86682333, 2219493.68920765 387140.93957403,  2219516.07980240 387136.98828165, 2219512.32366468 387115.52454135,  2219537.93380545 387110.93908628))', 17));  INSERT INTO buildings (objectid, fid, type, subtype, shape) VALUES (39, 18921, 'BLD', 'RES', db2gse.st_geometry  ('polygon (( 2219630.32549736 387032.49884228, 2219638.42319022 387080.93859854,  2219602.27627682 387087.03625775, 2219599.44695969 387070.06042272,  2219594.95910946 387070.84088050, 2219589.69069987 387039.32824786,  2219630.32549736 387032.49884228))', 17));  INSERT INTO buildings (objectid, fid, type, subtype, shape) VALUES (40, 18000, 'BLD', 'RES', db2gse.st_geometry  ('polygon (( 2219428.55884565 386927.35910468, 2219434.90911597 386965.59318031,  2219412.50672431 386969.25340210, 2219412.90361568 386971.59064420,  2219405.49494299 386972.82544978, 2219405.18625535 386970.70870430,  2219391.47137188 386973.00185724, 2219387.14966448 386946.93921840, 2219404.70113486 386944.07272009, 2219402.67258040 386931.63676100,  2219428.55884565 386927.35910468))', 17));  INSERT INTO buildings (objectid, fid, type, subtype, shape) VALUES (41, 19116, 'BLD', 'BLD', db2gse.st_geometry  ('polygon (( 2219672.66761980 386847.66674281, 2219676.37499955 386866.54504475,  2219663.35040187 386869.13042807, 2219659.64303058 386850.25207534,  2219672.66761980 386847.66674281))', 17));  INSERT INTO buildings (objectid, fid, type, subtype, shape) VALUES (42, 18962, 'BLD', 'BLD', db2gse.st_geometry  ('polygon (( 2219556.03164537 387046.25513130, 2219557.49509154 387055.03576599,  2219547.05591105 387056.74309940, 2219545.59246912 387047.96251973,  2219556.03164537 387046.25513130))', 17));  INSERT INTO buildings (objectid, fid, type, subtype, shape) VALUES (43, 18833, 'BLD', 'RES', db2gse.st_geometry  ('polygon (( 2219383.93139678 387137.86633157, 2219389.05343086 387190.74523511,  2219359.00421054 387193.57452260, 2219353.93090903 387140.69568256,  2219383.93139678 387137.86633157))', 17));  INSERT INTO buildings (objectid, fid, type, subtype, shape) VALUES (44, 18884, 'BLD', 'RES', db2gse.st_geometry  ('polygon (( 2219373.44344985 387075.37756489, 2219382.32162166 387124.54907598,  2219362.80911894 387128.11010561, 2219359.44323973 387109.62200293,  2219339.54046156 387113.28058238, 2219333.97942791 387082.54840752,  2219373.44344985 387075.37756489))', 17));  INSERT INTO buildings (objectid, fid, type, subtype, shape) VALUES (45, 19071, 'BLD', 'RES', db2gse.st_geometry  ('polygon (( 2219682.28129249 386891.68291590, 2219686.92111827 386918.49082923,  2219640.56580254 386926.48163888, 2219635.92597252 386899.67372556,  2219682.28129249 386891.68291590))', 17));  INSERT INTO buildings (objectid, fid, type, subtype, shape) VALUES (46, 19044, 'BLD', 'RES', db2gse.st_geometry  ('polygon (( 2219553.98285375 386902.15533258, 2219555.78774544 386913.03356343,  2219560.95856289 386912.15551350, 2219565.78790520 386940.83886287,  2219517.98226930 386948.93658960, 2219513.15292276 386920.20440606,  2219516.17736068 386919.66779319, 2219514.37246900 386908.88714178,  2219553.98285375 386902.15533258))', 17));  INSERT INTO buildings (objectid, fid, type, subtype, shape) VALUES (47, 19027, 'BLD', 'RES', db2gse.st_geometry  ('polygon (( 2219363.11822986 386945.42381000, 2219367.93141545 386973.32232908,  2219320.06718025 386981.52254956, 2219315.29857060 386953.62397969,  2219363.11822986 386945.42381000))', 17));  INSERT INTO buildings (objectid, fid, type, subtype, shape) VALUES (48, 19082, 'BLD', 'RES', db2gse.st_geometry  ('polygon (( 2219744.18548833 386871.29585958, 2219746.55761318 386884.95597445,  2219743.44931865 386885.52860025, 2219747.49828784 386908.59539393,  2219704.96369012 386916.03897901, 2219700.42393269 386890.23190579,  2219729.62557524 386885.11957759, 2219727.74423440 386874.19963643,  2219744.18548833 386871.29585958))', 17));  INSERT INTO buildings (objectid, fid, type, subtype, shape) VALUES (49, 19105, 'BLD', 'BLD', db2gse.st_geometry  ('polygon (( 2219424.32229434 386872.05730772, 2219426.12719873 386882.05749711,  2219416.56607240 386883.81360119, 2219414.76116801 386873.81342026,  2219424.32229434 386872.05730772))', 17));  INSERT INTO buildings (objectid, fid, type, subtype, shape) VALUES (50, 19120, 'BLD', 'BLD', db2gse.st_geometry  ('polygon (( 2219553.73895382 386851.52038802, 2219555.25115373 386859.91077266,  2219545.25100667 386861.81323532, 2219543.69000222 386853.42285069,  2219553.73895382 386851.52038802))', 17)); COMMIT;
  2. Ahora inicie ArcMap y abra la vista previa de los registros que acaba de insertar.
  3. Para iniciar ArcMap, haga clic en Inicio > Todos los programas > ArcGIS > ArcMap 10.
  4. Haga clic en el botón Ventana de catálogo Ventana Catálogo para abrir la Ventana de catálogo.
  5. Conéctese a la geodatabase en la que creó la clase de entidad de edificios.
  6. Arrastre la clase de entidad de edificios a la tabla de contenido de ArcMap.

    Puede ver las entidades que insertó en la clase de entidad por medio de SQL.

Aplicar una consulta de definición

Puede aplicar una consulta de definición a una capa para visualizar entidades con determinados atributos. Por ejemplo, es posible que sólo desee mostrar aquellas ciudades cuya población sea mayor que un umbral determinado. Puede escribir su propia expresión, o puede usar el Generador de consultas, que lo ayudará a configurar la expresión de consulta. Para volver a agregar todas las entidades a la visualización, simplemente elimine la consulta.

Con los tipos espaciales, las consultas de definición ejecutadas en ArcMap pueden contener un componente espacial. Las consultas pueden incluir llamadas a procedimientos almacenados, que también pueden contener un componente espacial. Esta capacidad descarga el proceso del cliente y lo lleva al servidor, lo que le brinda una opción para administrar los recursos del sistema.

Las consultas espaciales normalmente comparan una entidad de un dataset en relación con entidades de otro dataset. Por lo tanto, debe agregar otra clase de entidad a la geodatabase para compararla con la clase de entidad de edificios.

El siguiente conjunto de pasos lo guía para importar una segunda clase de entidad, después a utilizar una consulta de definición para visualizar un subconjunto de entidades de edificio que están dentro de los 50 metros de la tubería principal.

Debe instalar una geodatabase que contenga la clase de entidad water_lines por medio de la instalación de tutorial de ArcGIS.

Pasos:
  1. Instale los datos de tutorial de ArcGIS.
  2. Puede elegir una instalación completa o una instalación personalizada y sólo instalar los datos de ejemplo de SQL de la lista Aplicaciones en el cuadro de diálogo Seleccionar componentes del asistente de instalación de datos de tutorial de ArcGIS.

    Se instala una geodatabase llamada sql_examples en ArcGIS > ArcTutor > SQL Examples.

  3. Para iniciar ArcMap, haga clic en Inicio > Todos los programas > ArcGIS > ArcMap 10.
  4. Haga clic en el botón de la ventana Catálogo Ventana Catálogo.
  5. Agregue una carpeta de conexión a la geodatabase sql_examples en ArcGIS > ArcTutor > SQL Examples.
    1. Haga clic en el botón Conectar a carpeta Conectar a carpeta.
    2. Navegue hasta ArcGIS > ArcTutor > SQL Examples.
    3. Haga clic en Aceptar.

Ahora que se conectó a la geodatabase sql_example, importe la clase de entidad water_lines a la geodatabase de ArcSDE.

Pasos:
  1. En la ventana Catálogo, haga clic con el botón derecho en la geodatabase de ArcSDE en la que creó la clase de entidad de edificios.
  2. Vaya a Importar y haga clic en Clase de entidad (única).

    Se abrirá la herramienta de geoprocesamiento Clase de entidad a clase de entidad.

  3. Haga clic en el botón Explorar, que se encuentra al lado del cuadro de texto Entidades de entrada.

    Se abrirá el cuadro de diálogo Entidades de entrada.

  4. Busque la geodatabase sql_example.
  5. Haga clic en la clase de entidad water_lines y haga clic en Agregar.
  6. Introduzca agua en el cuadro de texto Clase de entidad de salida.
  7. Especifique la palabra clave de configuración que va a usar para definir el almacenamiento de clase de entidad.
    • Si su tipo de almacenamiento de geometría predeterminado es ST_Geometry, no tiene que modificar la configuración de la geodatabase; se utilizará el valor para la palabra clave DEFAULTS.
    • Si su geodatabase está en Oracle o PostgreSQL y el almacenamiento de la geometría predeterminado es distinto de ST_GEOMETRY, haga clic en Configuración de geodatabase (opcional), haga clic en la flecha que está al lado del cuadro de texto Palabra clave de configuración (opcional), y seleccione ST_GEOMETRY (o cualquier otra palabra clave de configuración que haya creado para el almacenamiento ST_GEOMETRY) de la lista desplegable.
  8. Haga clic en Aceptar para importar los datos.

Requisito previo:

Agregue las clases de entidad de agua y edificios a ArcMap y defina una consulta para visualizar un subconjunto de entidades de edificios que estén a menos de 25 metros de la cañería principal.

Pasos:
  1. Agregue las clases de entidad de agua y edificios al mapa seleccionándolas en la conexión de geodatabase de ArcSDE y arrastrándolas a la tabla de contenido.
  2. Haga clic con el botón derecho en la capa de edificios de la tabla de contenido y en Propiedades.
  3. Haga clic en la pestaña Consulta de definición.
  4. Cree una expresión para identificar las entidades particulares de la capa que desee visualizar. Las consultas siguientes buscar todos los edificios a menos de 25 metros de la cañería principal. Introduzca la expresión adecuada para la DBMS en el cuadro de Propiedades de capa Consulta de definición.
    • Para Oracle:
      objectid IN (SELECT b.objectid FROM BUILDINGS b, WATER w WHERE w.watertype = 'MAIN'  AND sde.st_intersects (b.shape, sde.st_buffer (w.shape, 25)) = 1)
    • Para PostgreSQL:
      objectid IN (SELECT b.objectid FROM buildings b, water w WHERE w.watertype = 'MAIN'  AND sde.st_intersects (b.shape, sde.st_buffer (w.shape, 25)) = 't')
    • Para DB2:
      objectid IN (SELECT b.objectid FROM BUILDINGS b, WATER w WHERE w.watertype = 'MAIN'  AND db2gse.st_intersects (b.shape, db2gse.st_buffer (w.shape, 25)) = 1)
    • Para Informix:
      objectid IN (SELECT b.objectid FROM buildings b, water w WHERE w.watertype = 'MAIN'  AND st_intersects (b.shape, st_buffer (w.shape, 25)))
  5. Haga clic en Aceptar.

Comparar los resultados de la consulta de definición para Seleccionar por Atributos y Seleccionar por Localización

Puede ver que aparecen los mismos resultados si usa la herramienta de ArcMap Seleccionar por atributos para buscar todas las líneas de la cañería principal; utilice después la herramienta Seleccionar por localización para buscar edificios a menos de 25 metros de la cañería principal. Es lo mismo que hizo con el SQL que especificó en la consulta de definición.

Pasos:
  1. Si cerró ArcMap, reinícielo.
  2. Elimine la consulta de definición que creó en la sección anterior.
    1. Haga clic con el botón derecho en la capa de edificios de la tabla de contenido y en Propiedades.
    2. Haga clic en la pestaña Consulta de definición.
    3. Resalte la consulta en el cuadro de texto Consulta de definición y haga clic en Eliminar.
    4. Haga clic en Aceptar para cerrar el cuadro de diálogo Propiedades de capa.
  3. Ahora abra el cuadro de diálogo Seleccionar por atributos.
  4. Haga clic en el menú desplegable Selección.
  5. Haga clic en Seleccionar por atributos.
  6. Seleccione una clase de entidad de agua de la lista Capa.
  7. Asegúrese de establecer el método Crear una nueva selección.
  8. Introduzca WATERTYPE = 'MAIN' en el cuadro de consulta.
  9. Haga clic en Verificar para confirmar que la declaración SQL es válida.
  10. Haga clic en Aceptar.
  11. Haga clic en el botón Aceptar para cerrar el cuadro de diálogo Seleccionar por atributos.
  12. Ahora abra el cuadro de diálogo Seleccionar por localización.
  13. Haga clic en el menú desplegable Selección.
  14. Haga clic en Seleccionar por localización.
  15. Marque la clase de entidad de edificios en el cuadro Capas de destino.
  16. Seleccione la clase de entidad de agua de la lista desplegable Capa fuente.
  17. Marque Utilizar las entidades seleccionadas para usar solamente las entidades de cañería principal.
  18. Seleccione Las entidades de las capas de destino intersecan la entidad de la capa fuente de la lista desplegable Método de selección espacial.
  19. Marque el cuadro Aplicar una distancia de búsqueda.
  20. Introduzca 25 y seleccione metros de la lista desplegable.
  21. Haga clic en Aceptar.

Se mostrarán las mismas clases de entidad de edificios en el conjunto seleccionado, tal como aparecieron cuando realizó la consulta de definición.


3/6/2012