ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • Ayuda
  • Sign Out
ArcGIS Desktop

ArcGIS Online

La plataforma de representación cartográfica para tu organización

ArcGIS Desktop

Un completo SIG profesional

ArcGIS Enterprise

SIG en tu empresa

ArcGIS for Developers

Herramientas para crear aplicaciones basadas en la ubicación

ArcGIS Solutions

Plantillas de aplicaciones y mapas gratuitas para tu sector

ArcGIS Marketplace

Obtén aplicaciones y datos para tu organización.

  • Documentación
  • Soporte
Esri
  • Iniciar sesión
user
  • Mi perfil
  • Cerrar sesión

ArcMap

  • Inicio
  • Introducción
  • Cartografiar
  • Analizar
  • Administrar datos
  • Herramientas
  • Extensiones

ST_DWithin

  • Definición
  • Sintaxis
  • Tipo de devolución
  • Ejemplo

Nota:

solo Oracle y PostgreSQL

Definición

ST_DWithin acepta dos geometrías como entrada y devuelve true si la distancia que separa a las geometrías es inferior o igual a la distancia especificada; de lo contrario, devuelve false. El sistema de referencia espacial de las geometrías determina qué unidad de medida se aplica a la distancia especificada. Por tanto, las dos geometrías que proporcione a ST_DWithin deben usar la misma proyección de coordenadas y el mismo SRID.

Sintaxis

sde.st_dwithin (st_geometry geometry1, st_geometry geometry2, double_precision distance);

Tipo de devolución

Booleano

Ejemplo

En el siguiente ejemplo, se crean dos tablas y se insertan entidades en ellas. A continuación, se utiliza la función ST_DWithin para determinar si un punto de la primera tabla está a menos de 100 metros de un polígono de la segunda tabla.

--Create table to store points.
CREATE TABLE dwithin_test_pt (id INT, geom sde.st_geometry);
--Create table to store polygons.
CREATE TABLE dwithin_test_poly (id INT, geom sde.st_geometry);
--Insert features into each table.
INSERT INTO dwithin_test_pt 
 VALUES
 (
  1,
  sde.st_geometry('point (1 2)', 4326)
 )
;
INSERT INTO dwithin_test_pt
 VALUES
 (
  2,
  sde.st_geometry('point (10.02 20.01)', 4326)
 )
;
INSERT INTO dwithin_test_poly
 VALUES
 (
  1,
  sde.st_geometry('polygon ((10.02 20.01, 11.92 35.64, 25.02 34.15, 19.15 33.94, 10.02 20.01))', 4326)
 )
;
INSERT INTO dwithin_test_poly
 VALUES
 (
  2,
  sde.st_geometry('polygon ((101.02 200.01, 111.92 350.64, 250.02 340.15, 190.15 330.94, 101.02 200.01))', 4326)
 )
;
A continuación, se utiliza ST_DWithin para determinar qué entidades de cada tabla están a menos de 100 metros de distancia entre sí y cuáles están más lejos. La función ST_Distance se incluye en esta sentencia para mostrar la distancia real entre las entidades.

--Determine which features in the point table are within 100 meters of the features in the polygon table. SELECT pt.id, poly.id, sde.st_distance(pt.geom, poly.geom) distance_meters, sde.st_dwithin(pt.geom, poly.geom, 100) DWithin
 FROM dwithin_test_pt pt, dwithin_test_poly poly;

La sentencia Select devuelve lo siguiente al ejecutar datos en PostgreSQL:

id     id     distance_meters        dwithin
1      1      20.1425048094819       t
1      2      221.837689538996       f
2      1      0                      t
2      2      201.69531476958        f

La sentencia devuelve lo siguiente al ejecutar datos en Oracle:

ID     ID   DISTANCE_METERS   DWITHIN 1      1         20.1425048         1 1      2          221.83769         0 2      1                  0         1
2      2         201.695315         0

En el siguiente ejemplo, se utiliza ST_DWithin para determinar qué entidades están a menos de 300 metros de distancia entre sí:

--Determine which features in the point table are within 300 meters of the features in the polygon table.
SELECT pt.id, poly.id, sde.st_distance(pt.geom, poly.geom) distance_meters, sde.st_dwithin(pt.geom, poly.geom, 300) DWithin
 FROM dwithin_test_pt pt, dwithin_test_poly poly;

Esta segunda sentencia Select devuelve lo siguiente al ejecutar datos en PostgreSQL:

id     id     distance_meters        dwithin
1      1      20.1425048094819       t
1      2      221.837689538996       t
2      1      0                      t
2      2      201.69531476958        t

La segunda sentencia Select devuelve lo siguiente al ejecutar datos en Oracle:

ID     ID   DISTANCE_METERS    DWITHIN 1      1         20.1425048          1 1      2          221.83769          1 2      1                  0          1
2      2         201.695315          1

ArcGIS Desktop

  • Inicio
  • Documentación
  • Soporte

Plataforma ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

Acerca de Esri

  • Quiénes somos
  • Empleo
  • Blog de Esri
  • Conferencia de usuarios
  • Cumbre de desarrolladores
Esri
Díganos su opinión.
Copyright © 2019 Esri. | Privacidad | Legal