cesium中實現空間查詢(思路解析加原始碼)

2021-10-09 13:55:02 字數 1516 閱讀 3492

空間查詢作為gis資料分析的基本手段,在三維gis中也是必不可少的,下面就對具體實現做具體介紹

目錄

在cesium中實現空間查詢(思路解析加原始碼) 前言

一、獲取待查詢的點

二、獲取待查詢的面

二、面和點求交 總結

四、更多

如果你不是gis專業,那麼你對空間查詢的也許會很陌生,下面我就簡單解釋一下什麼是空間查詢,就在乙個範圍裡面有很多個點,你隨手圈出來一部分區域,要查出你圈出來的區域裡面的點有哪些,這就是空間查詢。

第一步就是要把我們需要查詢的點資料準備好。方法如下:

var res = response.data;

var towerspoints = ;

for (var i = 0; i < res.length; i++) ;

feature.geometry = ;

towerspoints.push(feature);

}towerscollection = ;

第二步就是要把我們需要查詢的範圍(就是面物件)資料準備好。方法如下:

var ellipsoid = viewer.scene.globe.ellipsoid;

for (var i = 0; i < arrpoint.length; i++)

var startpoint = ellipsoid.cartesiantocartographic(arrpoint[0]);

var lng_s = cesium.math.todegrees(startpoint.longitude);

var lat_s = cesium.math.todegrees(startpoint.latitude);

searchregion.push([lng_s, lat_s]);

searchwithin.push(searchregion);

var searchwithinentity = cesium.turf.polygon(searchwithin);

這一步就是最後一步了,利用前面倆步我們準備好的點物件和面物件就行空間計算,這裡我們利用到了turf庫,方法如下:

var ptswithin = cesium.turf.pointswithinpolygon(

towerscollection,

searchwithinentity

);

1、主要是cesium物件和turf物件進行互相貫通

2、其次就是利用turf介面進行求交計算

效果如下:

這裡有個地方需要說明,由於篇幅和時間有限,沒有寫出所有**,這裡主要列出來了主要實現思路。

如果你還有不了解的地方,

如果你還需要進行cesium交流,

那一起學習**吧。

arcpy實現空間查詢 POSTGIS中的空間查詢

management functions 1,基本操作函式 addgeometrycolumn 給乙個已存在屬性資料表增加乙個幾何字段 geomtry column schema name 指表的模式的名字,srid 必須是乙個整數指對應於 spatial ref sys 表,type必須是乙個大寫...

空間過取樣法實現思路

cdr clock data recovery 即時鐘資料恢復,實現思路分為三個方向 前饋 feed forward 相位跟蹤型 本地時鐘和輸入資料之間的相位關係,是通過時鐘資訊的不斷前饋校準跟蹤。反饋 feedback 相位跟蹤型 本地時鐘和輸入資料之間的相位關係,是通過鑑相器 pd 實時地監控本...

頁面中查詢模組的設計與實現思路

二 萬能查詢 三 便捷查詢 總結在做乙個物品的展示管理頁面,想把增刪改查都放到頁面中,用axure畫了乙個頁面,比較簡單,主要分為上下兩部分,上半部分是查詢模組,下半部分是 用來展示資料。新增按鈕單獨在頁面中,修改按鈕在表的每一行資料後面,刪除按鈕在 下面,將 中的資料每一行設為可選,選擇後進行刪除...