osman hömek / not defteri

July 1, 2009

Esri Viewer / AutoVue / Oracle

Filed under: oracle spatial — osman @ 1:31 pm

View, Markup and Collaborate on ESRI Shapefile data Documents with Oracle’s AutoVue 

 

http://www.oracle.com/technology/products/autovue/formats/viewers/esri-viewer.html?gclid=CLf2_anls5sCFcQTzAod3mbdQQ

November 21, 2008

esri ve oracle spatial

Filed under: arcsde, geodatabase, oracle spatial — osman @ 4:42 pm

Bildiğiniz gibi ESRI, 9.3  versiyonunu yeni çıkardı. Peşinede SP1 geldi. 

Gelen en büyük yeniliklerden birisi de ArcSDE yi Oracle üzerine kurarken, ArcSDE nin SHAPE geometry kolonu yerineOracle Spatial ın SDO_GEOMETRY kolonunu seçilebiliyor olması. Bu özellik aslında eskiden de vardı, ancak 9.3 ün kurulumundanSeçilebilir halde olacak kadar açığa çıkmış değildi. 

Bu durum bize Spatial Join gibi coğrafi işlemler için Oracle Spatial ın gücünü de aynı zamanda kullanma imkanı verdi. 

Birazda teknik detaylara inelim. 

Sistem:Arcgis Server 9.3ArcSde 9.3Oracle 10g R2 Patch 1

Enterprise Edition 

ArcSDE, Oracle üzerine SDO_GEOMETRY kolonu kullandırılarak kuruldu. 

ArcCatalog kullanılarak, Oracle üzerine geo_il ve geo_il_merkezi tabloları upload edildi.İlgili tablolardann Properties/Indexes bölümünden Spatial Index leri silindi. 

CREATE INDEX MI_GEO_IL_MERKEZI_GI ON MI_GEO_IL_MERKEZI(GEOLOC) INDEXTYPE IS MDSYS.SPATIAL_INDEX 

Script I aracılığı ile Oracle Spatail üzerinden Spatial Index verildi. 

SELECT  a.kod, b.ad, a.tip, b.kod, b.ad, a.tip from geo_il_merkezi a, geo_il b where SDO_CONTAINS(b.shape, a.shape)=’TRUE’ order by a.ad 

Böylelikle yukarıdaki sql cümlesi çalıştırılabiliyordu. Ancak yapılan testler sonrasında performansın rezalet olduğu görüldü. 

Sonrasında  

/*+ ORDERED INDEX(GEO_IL_MERKEZI_GI) */  betiği eklenerek, SQL cümlesi çalıştırılırken ismi belirtilen INDEX in kullanılması zorunlu hale getirildi.Burada önemli olan veya araştırılması gereken konu index in ORDERED anahtar kelimesi ile verilmesi. Şayet bu anahtar kelime kullanılmaz iseSql sonucu yine çok yavaş dönüyordu. 

Son olarak SQL cümlemiz aşağıdakigibi oldu ve performansı gayet id. 1sn nin altında cevap dönüyordu. 

SELECT  /*+ ORDERED INDEX(GEO_IL_MERKEZI_GI) */ a.kod, b.ad, a.tip, b.kod, b.ad, a.tip from geo_il_merkezi a, geo_il b where SDO_CONTAINS(b.shape, a.shape)=’TRUE’ order by a.ad

December 18, 2007

oracle sdo length

Filed under: oracle spatial — osman @ 5:16 pm

SELECT name, SDO_GEOM.SDO_LENGTH(geoloc,0.000001,’unit=M’) FROM yollar WHERE rindex_id=843200

yukaridaki sql ile oracle spatial üzerinden yollar tablosundaki rindex_id=843200 sartini saglayan

cizginin boyunu Metre cinsinde alabiliyoruz.

hatta X metre alti cizgileri getir bile diyebilirsiniz

buradaki 0.000001 degeri tolerans degeridir.

ayrintili tolerans bilgisini : http://download.oracle.com/docs/html/B14255_01/sdo_intro.htm#i884589 adresinden alabilirsiniz.

August 12, 2007

SDO_CONTAINS and spatial oracle

Filed under: oracle spatial — osman @ 1:35 am

i’m working on oracle spatial nowadays. in the oracle spatial document for SDO_CONTAINS functions;

Checks if any geometries in a table have the CONTAINS topological relationship with a specified geometry.

actually mapinfo’s sql has 2 contains functions. Contains and Contains Entire. It’s the different is, if you use contains operator, get an all objects, but with contains entire get an must be entire.

so, sdo_contains equal contains entire operator.

for example:

select * from road a, face b where SDO_CONTAINS(b.geoloc, a.geoloc) = ‘TRUE’

select * from road, face b where face.Obj Contains entire road.Obj

Powered by WordPress