ArcGIS Enterprise
Waarom zijn de kolommen SHAPE.AREA en SHAPE.LEN leeg bij een Oracle Spatial Feature Class?
Oorzaak
Het on the fly berekenen van deze eigenschappen voor objecten in het formaat SDO_GEOMETRY tijdens het bewerken in ArcGIS Pro of ArcMap zou een invloed op de performance kunnen hebben. Daarom heeft Esri ervoor gekozen de standaardkolommen SHAPE.AREA en SHAPE.LEN niet te vullen.
Antwoord
Het Oracle Spatial (SDO_GEOMETRY) opslagformaat houdt de oppervlakte- en omtrekeigenschappen niet bij voor ruimtelijke objecten, waardoor de kolommen SHAPE.AREA en SHAPE.LEN niet berekend worden. Andere opslagformaten zoals SDEBINARY, ST_GEOMETRY of SDELOB houden deze eigenschappen wél bij. De kolommen SHAPE.AREA en SHAPE.LEN worden dan wel gevuld.
Gebruik de functie “Calculate Geometry” in ArcGIS Pro of ArcMap om de eigenschappen oppervlakte en omtrek te berekenen. De kolommen SHAPE.AREA en SHAPE.LEN zijn gereserveerd en kunnen niet gebruikt worden om de oppervlakte en omtrek hierin te laten berekenen. Maak hiervoor twee nieuwe kolommen aan, bv. een kolom met de naam “OPPERVLAKTE” en een kolom “OMTREK”. Kies hiervoor bij “Data Type” voor DOUBLE. Met dit datatype worden alle waarden opgeslagen. Open de attribuuttabel: rechtermuisklik op de kolom OPPERVLAKTE: kies voor “Calculate Geometry”. Kies voor “Area” om bijvoorbeeld de oppervlakte te laten berekenen; Let op: deze waarden zijn statisch en worden dus niet automatisch bijgewerkt wanneer de geometrie van het ruimtelijk object gewijzigd wordt.
In ArcGIS Pro kan ook een Calculation Rule gebruikt worden voor het geval dat het een eis is om bepaalde geometrie eigenschappen on the fly tijdens het bewerken te laten berekenen, zie ook https://pro.arcgis.com/en/pro-app/latest/help/data/geodatabases/overview/calculation-attribute-rules.htm.
Als het doel is om de actuele oppervlakte en omtrek van een vlak in een pop-up in ArcGIS Pro te tonen, dan kan dat ook met behulp van een Arcade expression: de expressie berekent de waarde on the fly waardoor hij altijd up to date is. Zie ook https://developers.arcgis.com/arcade/function-reference/geometry_functions/#area en https://developers.arcgis.com/arcade/function-reference/geometry_functions/#length voor het berekenen van omtrek en oppervlak van een polygon met Arcade, en https://pro.arcgis.com/en/pro-app/latest/help/mapping/navigation/configure-pop-ups.htm voor het configureren van de pop-up in ArcGIS Pro.
Het is ook mogelijk om op SQL niveau de oppervlakte en omtrek van SDO_GEOMETRY objecten te laten berekenen. Bekijk hiervoor onderstaand Esri technisch artikel. Deze is geschreven voor versie 9.3.1 maar nog steeds relevant voor recente softwareversies:
FAQ: How can I get the area and length of features stored in Oracle Spatial?
https://support.esri.com/en/technical-article/000007099
Laatst bijgewerkt op 4-4-2023.