Update: Ignorieren Sie diesen Vorschlag vollständig, Albert Godfrind sagte, es wiederholt, was bereits intern getan wird. So ist es ineffizient und langsam:
Um zu Tims Antwort hinzuzufügen, ist es gute Praxis, SDO_FILTER und SDO_RELATE aus Leistungsgründen zu kombinieren. SDO_FILTER ist schnell, gibt aber zu viele Geometrien zurück. Dadurch erhalten Sie alle Geometrien, deren minimales begrenzendes Rechteck (MBR) die Geometrie Ihres Zauns schneidet. SDO_RELATE ist genau aber langsam. So beides kombinieren:
select count(*)
from geometry_table t
where SDO_FILTER(t.geom_column, geofence) = 'TRUE' and SDO_RELATE(t.geom_column, geofence, 'mask=INSIDE') = 'TRUE'
Grüße, Chris
Dank Tim für die Antwort. Ich war eine ganze Weile von der Arbeit entfernt und konnte auf Ihre Antwort nicht antworten. Dies funktioniert perfekt. – Abdul
Sie können die einfachere Syntax verwenden: SDO_INSIDE (t.geom_column, geofence) = 'TRUE'. Es hat genau den gleichen Effekt, ist aber einfacher zu schreiben. –