2011-08-26 75 views
1

我是Java的新手。我需要從數據庫中檢索SDO_GEOMETRY,並使用jdbc將其轉換爲字符串。如果任何人有示例或想法,請與我分享。如何使用JDBC從數據庫檢索SDO_GEOMETRY?

幫助將不勝感激。

最好的問候,
桑傑。

+0

SDO_GEOMETRY是一個對象類型。 「我需要從數據庫檢索SDO_GEOMETRY並將其轉換爲字符串」是什麼意思? –

+0

除非應用層將對數據進行幾何計算(例如距離,面積),否則爲什麼不將SDO_GEOMETRY轉換爲數據庫中的字符串呢? [2D/3D?]的形狀有多大和複雜?以及您在尋找什麼樣的字符串? –

回答

3

查看JGeometry課程。有一個示例稱爲空間類型:

 /// reading a geometry from database 
    ResultSet rs = statement.executeQuery("SELECT geometry FROM states where name='Florida'"); 
    STRUCT st = (oracle.sql.STRUCT) rs.getObject(1); 
    //convert STRUCT into geometry 
    JGeometry j_geom = JGeometry.load(st); 

    // ... manipulate the geometry or create a new JGeometry ... 

    /// writing a geometry back to database 
    PreparedStatement ps = connection.prepareStatement("UPDATE states set geometry=? where name='Florida'"); 
    //convert JGeometry instance to DB STRUCT 
    STRUCT obj = JGeometry.store(j_geom, connection); 
    ps.setObject(1, obj); 
    ps.execute(); 
+0

感謝您的快速reply.But我試了一下好像不是working.I認爲我做錯了一些where.I需要檢索SDO_GEOMETRY值上面的代碼,我必須在地圖上顯示。如果你有任何樣品請與我分享。 – sanjay

+0

我無法爲您提供一個完整的工作示例,但您可以使用上述示例編寫問題,然後或許我可以提供幫助 – Kris

相關問題