2013-01-08 67 views
0

我有一個SDO_GEOMETRY格式的Oracle圖層,我想在Web地圖應用程序中顯示。我已經發現了Oracle Spatial開發人員指南(http://docs.oracle.com/cd/B28359_01/appdev.111/b28400/sdo_util.htm#BJEFIFEF)在這個例子中:如何將Oracle SDO_GEOMETRY轉換爲PHP中的KML或JSON

-- Convert cola_c geometry to a KML document; convert that result to 
-- a spatial geometry. 
DECLARE 
    kmlgeom CLOB; 
    val_result VARCHAR2(5); 
    geom_result SDO_GEOMETRY; 
    geom SDO_GEOMETRY; 
BEGIN 
SELECT c.shape INTO geom FROM cola_markets c WHERE c.name = 'cola_c'; 

-- To KML geometry 
kmlgeom := SDO_UTIL.TO_KMLGEOMETRY(geom); 
DBMS_OUTPUT.PUT_LINE('To KML geometry result = ' || TO_CHAR(kmlgeom)); 

-- From KML geometry 
geom_result := SDO_UTIL.FROM_KMLGEOMETRY(kmlgeom); 
-- Validate the returned geometry 
val_result := SDO_GEOM.VALIDATE_GEOMETRY_WITH_CONTEXT(geom_result, 0.005); 
DBMS_OUTPUT.PUT_LINE('Validation result = ' || val_result); 

END; 
/

To KML geometry result = 
<Polygon><extrude>0</extrude><tessellate>0</tessellate><altitudeMode>relativeToG 
round</altitudeMode><outerBoundaryIs><LinearRing><coordinates>3.0,3.0 6.0,3.0 
6.0,5.0 4.0,5.0 3.0,3.0 </coordinates></LinearRing></outerBoundaryIs></Polygon> 
Validation result = TRUE 

是否有可能使用SDO_UTIL.TO.KMLGEOMETRY在PHP?

或者有沒有其他的方法可以在網絡地圖應用中使用SDO_GEOMETRY?

回答

1

該函數返回一個CLOB,所以應該沒有理由不能僅僅從SELECT語句調用它並將結果作爲字符串返回給PHP。