OpenGIS Implementatiespecificatie voor Geografische informatie - Eenvoudige feature toegang - Deel 1: Gemeenschappelijke architectuur<\/A>. Het bericht richtte zich op hoe onvolledige documentatie van ruimtelijke operatoren gebruikers dwingt te raden, en waarschijnlijk soms onjuist, hoe software werkt in plaats van te weten hoe de software zou moeten werken. Zo ongelukkig als onvolledige documentatie voor gebruikers kan zijn, is het mengen van verschillende definities van ruimtelijke relaties binnen dezelfde ruimtelijke operator veel erger, en dat lijkt te zijn wat Esri heeft gedaan.<\/P><\/P>
Afgaand op de voorbeelden uit het vorige bericht, laten we drie functies bekijken en de ArcPy Geometry.within()<\/SPAN>-methode.<\/P><\/P>>>> #Maak vierkante polygoon
>>> polygon = arcpy.FromWKT('POLYGON((0 0, 3 0, 3 3, 0 3, 0 0))')
>>> #Maak lijn die volledig op polygoonrand ligt
>>> line = arcpy.FromWKT('LINESTRING(1 0, 2 0)')
>>> #Maak lege lijn
>>> line_empty = arcpy.FromWKT('LINESTRING EMPTY')
>>>
>>> #Test of lijn binnen polygoon ligt
>>> line.within(polygon)
False
>>> #Test of lege lijn binnen polygoon ligt
>>> line_empty.within(polygon)
True<\/PRE><\/P>Voor vergelijkingsdoeleinden laten we dezelfde twee tests uitvoeren als in regels 9 en 12 met behulp van Esris ST_Geometry in Oracle:<\/P><\/P>SQL> --Test of lijn binnen polygoon ligt
SQL> SELECT sde.st_within(sde.st_geomfromtext('LINESTRING(1 0, 2 0)', 0),
sde.st_geomfromtext('POLYGON((0 0, 3 0, 3 3, 0 3, 0 0))', 0))
FROM dual;
SDE.ST_WITHIN(SDE.ST_GEOMFROMTEXT('LINESTRING(10,20)',0),SDE.ST_GEOMFROMTEXT('PO'
--------------------------------------------------------------------------------
SQL> --Test of lege lijn binnen polygoon ligt
SQL> SELECT sde.st_within(sde.st_geomfromtext('LINESTRING EMPTY', 0),
 .& nbsp;. & nbsp;. & nbsp;. & nbsp;. & nbsp;. & nbsp;. & nbsp;. & nbsp;. & nbsp;. & nbsp;. & nbsp;. & nbsp;. & nbsp;. & nbsp;. & nbsp;. & nbsp;. & nbsp;. & nbsp;. & nbsp;. & nbsp;. & nbsp;. & nbsp;. & nbsp;. & nbsp;. & nbsp;. & nbsp;. & nbsp;. & nbsp;. & nbsp;. & nbsp;. & nbsp;. & nbsp;. & nbsp;. & nbsp;. & nbsp;, sde.st_geomfromtext('POLYGON((0 0, 3 0, 3 3, 0 3, 0 0))', 0))
 .& nbsp. FROM dual;
SDE.ST_WITHIN(SDE.ST_GEOMFROMTEXT('LINESTRINGEMPTY',0),SDE.ST_GEOMFROMTEXT('POLY'
--------------------------------------------------------------------------------
 .& nbsp.
<\/P>Interessant genoeg verschillen de resultaten van het gebruik van ST_Geometry van die met ArcPy.  Wetende dat ST_Geometry-functies OGC simple feature access en SQL-conform zijn, wat betekent dat ze DE-9IM implementeren, zijn de resultaten van ST_Geometry in Oracle te verwachten omdat een lijn die uitsluitend op de grens van een polygoon ligt niet wordt beschouwd als binnen de polygoon, en een lege geometrie niet binnen een andere geometrie kan liggen.<\/P><\/P>Als we naar ArcPy-resultaten kijken, is regel 10 correct alleen als de