ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • Hilfe
  • Sign Out
ArcGIS Desktop

ArcGIS Online

Die Mapping-Plattform für Ihre Organisation

ArcGIS Desktop

Ein vollständiges professionelles GIS

ArcGIS Enterprise

GIS in Ihrem Unternehmen

ArcGIS Developers

Werkzeuge zum Erstellen standortbezogener Apps

ArcGIS Solutions

Kostenlose Karten- und App-Vorlagen für Ihre Branche

ArcGIS Marketplace

Rufen Sie Apps und Daten für Ihre Organisation ab.

  • Dokumentation
  • Support
Esri
  • Anmelden
user
  • Eigenes Profil
  • Abmelden

ArcMap

  • Startseite
  • Erste Schritte
  • Karte
  • Analysieren
  • Daten verwalten
  • Werkzeuge
  • Erweiterungen

ST_DWithin

  • Definition
  • Syntax
  • Rückgabetyp
  • Beispiel

Hinweis:

Nur Oracle und PostgreSQL

Definition

ST_DWithin wählt zwei Geometrien als Eingabe aus und gibt "true" zurück, wenn die Geometrien sich innerhalb der angegebenen Entfernung voneinander befinden. Andernfalls lautet die Rückgabe "false". Das Raumbezugssystem der Geometrien bestimmt, welche Maßeinheit für die angegebene Entfernung verwendet wird. Die an ST_DWithin bereitgestellten Geometrien müssen deshalb die gleiche Koordinatenprojektion und SRID verwenden.

Syntax

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

Rückgabetyp

Boolesch

Beispiel

Im folgenden Beispiel werden zwei Tabellen erstellt und mit Features versehen. Dann wird anhand der ST_DWithin-Funktion bestimmt, ob ein Punkt in der ersten Tabelle sich innerhalb von 100 Metern Entfernung zu einem Polygon in der zweiten Tabelle befindet.

--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)
 )
;
Verwenden Sie ST_DWithin dann, um zu ermitteln, welche Features in den beiden Tabellen sich innerhalb einer Entfernung von 100 Metern voneinander befinden und welche nicht. Die ST_Distance-Funktion ist in dieser Anweisung enthalten, um die tatsächliche Entfernung zu den Features zu zeigen.

--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;

Die Select-Anweisung gibt Folgendes zurück, wenn sie für Daten in PostgreSQL ausgeführt wird:

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

Die Anweisung gibt Folgendes zurück, wenn sie für Daten in Oracle ausgeführt wird:

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

Im folgenden Beispiel wird ST_DWithin verwendet, um Features zu finden, die sich innerhalb einer Entfernung von 300 Metern zueinander befinden:

--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;

Diese zweite Select-Anweisung gibt Folgendes zurück, wenn sie für Daten in PostgreSQL ausgeführt wird:

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

Die zweite Select-Anweisung gibt Folgendes zurück, wenn sie für Daten in Oracle ausgeführt wird:

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

  • Startseite
  • Dokumentation
  • Support

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

Über Esri

  • Über uns
  • Karriere
  • Esri Blog
  • User Conference
  • Developer Summit
Esri
Wir sind an Ihrer Meinung interessiert.
Copyright © 2021 Esri. | Datenschutz | Rechtliches