duanchi3109
2013-01-08 14:28 阅读 93

如何在PHP中将Oracle SDO_GEOMETRY转换为KML或JSON

I have a layer in Oracle in SDO_GEOMETRY format that I would like to display in a web mapping application. I have found this example in the Oracle Spatial Developer Guide ( http://docs.oracle.com/cd/B28359_01/appdev.111/b28400/sdo_util.htm#BJEFIFEF ):

-- 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

Is it possible to use SDO_UTIL.TO.KMLGEOMETRY in PHP?

Or is there any other way to use SDO_GEOMETRY in web map application?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

1条回答 默认 最新

  • 已采纳
    duan5731 duan5731 2013-02-11 22:55

    The function returns a CLOB, so there should be no reason why you can't just call it from a SELECT statement and return the result to PHP as a string.

    点赞 评论 复制链接分享

相关推荐