Meer

Moet ik de Create Spatial Type-functionaliteit van ESRI gebruiken?

Moet ik de Create Spatial Type-functionaliteit van ESRI gebruiken?


Weet iemand of ik nodig hebben om de Create Spatial Type-functionaliteit van ESRI te gebruiken bij het maken van een veld in een niet-ESRI / niet-geodatabase Oracle 11g-database?

Ik heb een oudere klantendatabase in Oracle. Nadat ik het datatype ST_GEOMETRY in de database had ingeschakeld via de Locator-functionaliteit van Oracle, voegde ik een kolom toe aan een bestaande tabel en vulde ik elke rij als een punt met relevante x,y &,srid-waarden.

ArcGIS v10.2.1 herkent de kolom echter niet eens als een geldig datatype. Het labelt het als "onbekend" in ArcCatalog en retourneert ongeldig gegevenstype bij het bouwen van een querylaag.

Zou dit betekenen dat ik ESRI's Create Spatial Type moet gebruiken om ArcGIS het datatype/de kolom in deze niet-geodatabase te laten herkennen?

Zo ja, kan iemand dat uitleggen? wat het doet dat gewoon het datatype rechtstreeks in ORACLE inschakelen niet?

Enige theorieën waarom ArcGIS dit ST_GEOMETRY datatype niet zal herkennen?!


Uw probleem is een naambotsing tussen verschillende implementaties. Esri ontwikkelde deSDE.ST_GEOMETRYdatatype lang geleden (bij ArcSDE 8.0 voor Oracle 8i), maar Oracle begon met het verzenden van eenMDSYS.ST_GEOMETRYtype voor ISO-compatibiliteit (ik geloof dat het voor het eerst werd uitgebracht met Oracle 11gR1).

De "ST_GEOMETRY" die je hebt ingeschakeld via Locator is eigenlijkMDSYS.ST_GEOMETRY, die niet wordt ondersteund door ArcGIS.

U hebt twee mogelijkheden voor ondersteuning van ruimtelijke typen in Oracle met ArcGIS for Desktop 10.2.x:

  1. Gebruik maken vanMDSYS.SDO_GEOMETRYdirect (MDSYS.ST_GEOMETRYis een wrapper rond het SDO-type)
  2. InstallerenSDE.ST_GEOMETRYvia Create Spatial Type en gebruik dat in plaats van de MDSYS-wrapper.

Zorg ervoor dat u bij het toevoegen van nieuwe geometriekolommen in Oracle deMDSYS.SDO_GEOM_METADATAtafel.

invoegen in user_sdo_geom_metadata (table_name, column_name, diminfo, srid) waarden (your, values, go, here)