日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

oracle数据类型查询,Oracle 空间查询, 数据类型为 sdo_geometry

發布時間:2025/4/5 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle数据类型查询,Oracle 空间查询, 数据类型为 sdo_geometry 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

數據:通過arcgis直連數據庫,導入測試數據,導入時數據類型選擇SDO_GEOMETRY。

測試數據包含點線面,點數據MAP_USER_POINT,?線數據MAP_USER_LINE,面數據MAP_USER_POLY。在arcmap中顯示如下:

創建存儲過程?添加幾何要素

創建函數??創建?幾何要素

create or replace FUNCTION FUN_CreateGeometry

( wkt IN VARCHAR2

,srid IN NUMBER

) RETURN sdo_geometry AS

BEGIN

RETURN SDO_GEOMETRY(wkt,srid);

END FUN_CreateGeometry;

創建存儲過程?向矢量表插入要素

create or replace

PROCEDURE AddNEWPOINT(

OBJECTID IN NUMBER

WKT IN VARCHAR2

,SRID IN NUMBER

) AS

v_Return SDO_GEOMETRY;

BEGIN

v_Return := FUN_CREATEGEOMETRY(

WKT => WKT,

SRID => SRID

);

INSERT INTO MAP_USER_8332(OBJECTID, SHAPE)

VALUES

(OBJECTID, v_Return);

END AddNEWPOINT;

調用存儲過程創建幾何,注意srid必須一致

Oracle SQL Developter中調用:

DECLARE

OBJECTID NUMBER;

WKT VARCHAR2(200);

SRID NUMBER;

BEGIN

OBJECTID := 100;

WKT := ‘POINT (118.731963311458 32.0661417793197) ‘;

SRID := 4326;

ADDNEWPOINT(OBJECTID, WKT, SRID);

END;

Sql plus中調用:

EXECUTE ADDNEWPOINT(1,’POINT(118 32)’, 4326)

Commit

空間查詢

Sql語句給定要素500緩沖區之內的要素,可變部分為輸入要素wkt(點,線,面),查詢圖層,緩存距離,示例如下:

創建包,定義一個cursor

CREATE OR REPLACE

PACKAGE PACKAGE_GEOMETRY AS

TYPE GEOMETRY_CURSOR IS ref cursor;

/* TODO enter package declarations (types, exceptions, methods etc) here */

END PACKAGE_GEOMETRY;

創建存儲過程,返回查詢結果cursor

create or replace

PROCEDURE SEARCHGEOMETRY(

WKT VARCHAR2

,SRID NUMBER

,buflength VARCHAR2

,p_cursor in out PACKAGE_GEOMETRY.CURSOR_GEOMETRY) AS

srarch_geom SDO_GEOMETRY;

bufferCondition VARCHAR2(35);

BEGIN

srarch_geom := FUN_CREATEGEOMETRY(

WKT => WKT,

SRID => SRID

);

bufferCondition := ‘distance=‘ || buflength;

open p_cursor for SELECT c_c.objectid,c_c.NAME OBJNAME? FROM? MAP_USER_0000008332 c_c

WHERE SDO_WITHIN_DISTANCE(c_c.SHAPE, srarch_geom, bufferCondition) = ‘TRUE‘;

END SEARCHGEOMETRY;

調用存儲過程查詢要素

Oracle SQL Developter或plSql中調用:

DECLARE

BUFLENGTH VARCHAR2(25);

WKT VARCHAR2(200);

SRID NUMBER;

RESULT_CUR PACKAGE_GEOMETRY.CURSOR_GEOMETRY;

OBJECTID NUMBER;

OBJNAME VARCHAR2(200);

BEGIN

WKT := ‘POINT (118.731963311458 32.0661417793197) ‘;

SRID := 4326;

BUFLENGTH := ‘500‘;

SEARCHGEOMETRY(WKT, SRID,BUFLENGTH, RESULT_CUR);

loop

fetch RESULT_CUR

into OBJECTID,OBJNAME;

exit when RESULT_CUR%notfound;

dbms_output.put_line(OBJECTID);

dbms_output.put_line(OBJNAME);

end loop;

CLOSE RESULT_CUR;

END;

空間查詢測試

查詢點周圍500米內的點數據

選取點數據內某一個點獲取其wkt坐標:

SELECT CC.SHAPE.GET_WKT() FROM MAP_USER_POINT CC WHERE CC.NAME=‘湖心花園‘

POINT (118.748698730662 32.035395102502)

修改SEARCHGEOMETRY內查詢的表名為MAP_USER_POINT,

查詢結果:

8

車站小區

9

文體西村

7

蓓蕾小區

11

迎賓村

10

茶亭村

12

湖心花園

19

園中園公寓

Arcmap查詢結果:

Plsql查詢結果與arcmap查詢結果一致。

查詢點周圍500米內的線數據

選取點數據內某一個點獲取其wkt坐標:

SELECT CC.SHAPE.GET_WKT() FROM MAP_USER_POINT CC WHERE CC.NAME=‘萬科金色家園‘

POINT (118.759385095746 32.0420345318682)

修改查詢參數wkt為’?POINT (118.759385095746 32.0420345318682)’,?修改存儲過程SEARCHGEOMETRY內查詢的表名為MAP_USER_LINE。

查詢結果:

線段2被選中,arcmap中做該點的緩沖區查詢,線段2被選中。修改查詢緩沖區大小為700米,線段2、3被選中。

Plsql查詢結果與arcmap查詢結果一致。

查詢點周圍500米內的面數據

選取點數據內某一個點獲取其wkt坐標:

SELECT CC.SHAPE.GET_WKT() FROM MAP_USER_POINT CC WHERE CC.NAME=‘名湖雅居‘

POINT (118.759724313726 32.0354580244683)

修改查詢參數wkt為’?POINT (118.759724313726 32.0354580244683)’,?修改存儲過程SEARCHGEOMETRY內查詢的表名為MAP_USER_POLY。

查詢結果:

2

face2

6

face6

7

face7

面2、6、7被選中,arcmap中做該點的500米緩沖區查詢,面2、6、7被選中。

Plsql查詢結果與arcmap查詢結果一致。

查詢線周圍500米內的點數據

選取線數據內某一條線段獲取其wkt坐標:

SELECT CC.SHAPE.GET_WKT() FROM MAP_USER_LINE CC WHERE CC.NAME=‘line3‘

查詢所得wkt:

LINESTRING (118.763605759798 32.0391445982447, 118.763755695669 32.0386259340397, 118.763874074329 32.0381089704527, 118.763949962721 32.0377700573423, 118.764039433573 32.0374028695468, 118.764145034666 32.0369562671181, 118.764232941597 32.0365690568166, 118.76430597554 32.0362041074337, 118.764344298351 32.0359930356501, 118.764388237427 32.0357066978059, 118.764487386784 32.0350466349943, 118.764565439843 32.0345753407794, 118.76460084975 32.0343352406788, 118.764633191169 32.0341192388119, 118.764646064065 32.0339927329783, 118.764660872302 32.0337829885941, 118.764663602643 32.0336185295715, 118.764666619869 32.0334691063143, 118.764654318942 32.0330732652191, 118.764633596763 32.032851987929, 118.764589327635 32.0325688795502, 118.764551264729 32.0323638844857, 118.764504484694 32.0321339440263, 118.764435108294 32.0317689748584, 118.764351598148 32.0313420450993, 118.764308733761 32.0311321028643, 118.764242330519 32.0307380145478, 118.76422386474 32.0305728504567)

修改查詢參數wkt為上一步查詢到的wkt,修改存儲過程SEARCHGEOMETRY內查詢的表名為MAP_USER_POINT。

查詢結果:

5

碧虹苑

6

草根居

22

君園

23

莫愁東寓小區

24

名湖雅居

25

萬科金色家園

36

羅廊巷2號小區

37

環宇軒小區

38

中興新村

39

止馬營社區

44

陶李王巷新苑

45

漢中苑物管小區

46

漢中苑物管小區

47

止馬村

48

通宇花園

49

韓家苑小區

50

韓家苑小區

在arcmap中通過line3的500米緩沖區查詢點要素,查詢結果如下圖:

Plsql查詢結果與arcmap查詢結果一致。

查詢線周圍500米內的線數據

Plsql查詢結果與arcmap查詢結果一致。

查詢線周圍500米內的面數據

PLSQL?查詢結果:

1

face1

3

face3

6

face6

7

face7

arcmap查詢結果如下圖:

Plsql查詢結果與arcmap查詢結果一致。

Oracle 空間查詢, 數據類型為 sdo_geometry

標簽:end???body???返回???pack???資料???create???method???語句???in out

本條技術文章來源于互聯網,如果無意侵犯您的權益請點擊此處反饋版權投訴 本文系統來源:https://www.cnblogs.com/telwanggs/p/8440837.html

總結

以上是生活随笔為你收集整理的oracle数据类型查询,Oracle 空间查询, 数据类型为 sdo_geometry的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产精品偷伦视频免费看 | 欧美少妇b | 夜夜高潮夜夜爽国产伦精品 | 神马国产| 超碰免费看 | 2025av在线播放 | 日韩一级黄 | 69视频入口| 久久成人综合网 | 日韩精品欧美在线 | 中文字幕乱伦视频 | 亚洲av综合色区无码二区爱av | 精品一区国产 | 最好看的中文字幕 | 国内精品视频 | 国产大尺度视频 | 色七七桃花综合影院 | 日韩综合在线观看 | 超碰日日夜夜 | 亚洲一区二区av在线 | 激情欧美一区二区 | 中文av在线播放 | 日韩视频中文字幕 | 欧美日韩一区二区三区在线播放 | 日韩激情av | 欧美激情片在线观看 | 国产美女精品久久久 | 欧美人与性动交α欧美精品 | 欧美区在线观看 | 久操热 | 激情91视频 | 人人干干 | 青娱乐青青草 | 黄色羞羞网站 | www.黄色av| 青青草视频免费播放 | 天天摸天天碰天天爽天天弄 | 色婷婷综合久久 | 精品人妻少妇嫩草av无码专区 | 高贵麻麻被调教成玩物 | 人人干人人玩 | 自拍偷拍校园春色 | 免费一级黄色片 | 亚洲国产精品99久久 | 800av凹凸| 国产91香蕉 | 欧美高清大白屁股ass18 | 日日日视频 | 操女人视频网站 | 伊人久久综合影院 | 性一交一乱一伧国产女士spa | 久久久亚洲综合 | 99中文字幕在线观看 | 性色av一区二区三区免费 | 欧美人交a欧美精品 | 丰满人妻综合一区二区三区 | 毛片久久久久 | 亚洲一区二区福利 | 一区二区三区在线免费播放 | 玖玖在线精品 | 亚洲福利电影 | 一久久久久| 美国黄色一级大片 | 息与子五十路翔田千里 | 男人天堂a在线 | 国产免费a视频 | 男女午夜视频 | 自拍偷拍视频在线 | 久久在线观看 | 欧美激情日韩 | 日本成人一区 | 狠狠操在线观看 | 亚洲视频国产 | 高潮videossex高潮 | 久操精品 | 日本中文字幕在线观看视频 | 一级视频在线观看 | 亚洲色图五月天 | 久久久社区 | av网址观看| 午夜肉伦伦 | 青青草视频免费观看 | 伊人影院在线播放 | 人人九九 | 91精品日韩 | 神马久久久久久久久 | 免费毛片一区二区三区久久久 | 麻豆av影院 | 探花av在线 | 丰满肥臀噗嗤啊x99av | 久久视频免费观看 | 人妻换人妻a片爽麻豆 | 8x8ⅹ国产精品一区二区二区 | 99精品久久毛片a片 成人网一区 | 娇小6一8小毛片 | 精品国自产拍在线观看 | 学生调教贱奴丨vk | 国产日产久久高清欧美一区 | 国产成人啪精品午夜在线观看 |