cesium動態載入標註csWTFS一例

2021-10-18 22:56:29 字數 3678 閱讀 3914

呼叫後顯示效果:

呼叫方法:

//實時載入實體功能

var sql=

"select ssmc,st_asewkt(st_transform(geom, 4326)) as geometry,gid,id "

; sql+=

" from xc_dzwz "

; sql+=

" where st_intersects(geom, st_transform(st_geomfromtext('[wkt]'),4525)) limit 200";//

var testwtfs=

newcswtfs()

; testwtfs.tablename=

"xc_dzwz"

; testwtfs.sql=sql;

testwtfs.

callback_row_point

=function

(row,point)

,*/ label:

, billboard:})

;return text_point_ent;};

testwtfs.

init()

;//

cswtfs.js源**如下所示:

import

*as api from

"@/api/ajax"

;export

class

cswtfs

dispose()

/*window可視視窗範圍*/

getviewextend()

;let extend = viewer.camera.

computeviewrectangle()

;if(typeof extend ===

"undefined"

)else

params.height = viewer.camera.positioncartographic.height;

return params;

//返回螢幕所在經緯度範圍

}init()

); */

var height=0;

var lon=0;

var lat=0;

var camerac=

null

;var point=

null

; viewer.scene.camera.moveend.

addeventlistener

(function()

/* var positions=;

positions.push(cesium.cartesian3.fromdegrees(centerx-width, cnetery-height, 1050));

positions.push(cesium.cartesian3.fromdegrees(centerx-width, cnetery+height, 1050));

positions.push(cesium.cartesian3.fromdegrees(centerx+width, cnetery+height, 1050));

positions.push(cesium.cartesian3.fromdegrees(centerx+width, cnetery-height, 1050));

positions.push(cesium.cartesian3.fromdegrees(centerx-width, cnetery-height, 1050));

that.pent=cscontrol.addselectedpolygon(positions,cesium.color.blue.withalpha(0.5));

*/////debugger;

//相機範圍

if(that.selectedent)

var minx=lon-width;

var miny=lat-height;

var maxx=lon+width;

var maxy=lat+height;

//let ve=that.

getviewextend()

; minx=ve.minx;

miny=ve.miny;

maxx=ve.maxx;

maxy=ve.maxy;

//var positions=

; positions.

push

(cesium.cartesian3.

fromdegrees

(minx, miny,

1050))

; positions.

push

(cesium.cartesian3.

fromdegrees

(minx, maxy,

1050))

; positions.

push

(cesium.cartesian3.

fromdegrees

(maxx, maxy,

1050))

; positions.

push

(cesium.cartesian3.

fromdegrees

(maxx, miny,

1050))

; positions.

push

(cesium.cartesian3.

fromdegrees

(minx, miny,

1050))

; that.selectedent=cscontrol.

addselectedpolygon

(positions)

;var xy_str="";

xy_str=minx+

" "+miny;

xy_str+=

","+minx+

" "+maxy;

xy_str+=

","+maxx+

" "+maxy;

xy_str+=

","+maxx+

" "+miny;

xy_str+=

","+minx+

" "+miny;

//var t_wkt =

"srid=4326;multipolygon((("

+ xy_str+

")))"

; console.

log(t_wkt)

;var t_sql=that.sql.

replace

('[wkt]'

,t_wkt)

; console.

log(t_sql)

; cscontrol.

create3dpoint_rtime

(that.tablename,t_sql,

function

(row,point)}}

else}}

});}

);}gettileurl()

}

CESIUM例子學習(一) 動態模型載入

一直在學習cesium,時斷時續地用它,但感覺 不對,什麼都了解一點,但什麼沒有深入地去研究,都是浮於表面。於是下定決心 從頭開始,從cesium的sandcastle例子開始,系統地學一下cesium。並把它記錄下來,以便後面用時能很快找到。把基本框架搭起來之後,就開始第乙個例子。如下圖 發動機葉...

Cesium載入OSGB資料

open scene gragh binary是osgb的全稱 cesium load 3dtiles osgb transformed 貌似是目前最好用的格式?該工具要求的osgb檔案目錄格式需要是這樣的 cmd命令列切換到該目錄下 cd d 3dtiles執行命令 3dtile.exe f os...

umijs框架載入cesium

建立umi專案,yarn create umi 選擇是否使用typescript n 選擇依賴 專案建立完成後,新增cesium 首先在.umirc.js檔案中新增以下常量 constcesiumsource node modules cesium source constcesiumworkers...