Cesium應用篇 2影像服務(上)

2021-09-08 11:58:54 字數 2258 閱讀 6015

cesium中提供了多種imageryprovider方式,來滿足使用者的實際需求,但作為**的乙份子,可惜的是,看似很多,但最終的選擇卻又是捉襟見肘。如果是國內資料,個人認為天地圖的不錯,其他的地圖都有偏移,但天地圖的資料在國外有欠缺,假如你有乙個模型資料或者地形資料,恰好是國外的某乙個城市,比如馬賽等,天地圖就滿足不了這種場景,而bing的地圖則面臨key,國內資料清晰度等問題,而google的資料則有很多不確定性,所以,除非很難有一種影像服務來實現一種大而全的效果。這不是技術問題,在此提出,就看實際中智者見智了。

影像服務綜述

我們回到cesium的影像服務上,如下是cesium中baselayerpicker控制項提供的各類影像服務:

如上可以看到,主要是bing、mapbox以及openstreetmap,以及esri四家地圖服務,包括影像,影像+註記以及向量三種形式。個人而言,bing的地圖不錯,算是大而全,但需要key,感覺偶爾會抽風,mapbox是我非常喜歡的一家公司,很文藝,但和osm一樣,訪問速度欠佳,而esri偶爾會有訪問許可權的問題,也不太適合作為全球級別的影像服務。其他幾個要麼我沒用過,要麼感覺不走尋常路。一不小心全給否的節奏。

cesium目前支援的影像服務型別有:

建立影像服務

arcgismapserverimageryprovider

cesium提供了arcgismapserverimageryprovider,可以方便的載入arcgis online和server上的資料。

首先獲取該影像服務的位址,下面以esri_imagery_world_2d為例,wgs1984座標系,全球範圍,只需要指定url,就可以在cesium下快速載入該服務。

備註:在不通過控制項指定影像服務時,需要指定baselayerpicker為false,否則會報錯。

bingmapsimageryprovider

cesium中提供了bingmapsimageryprovider。使用方式和arcgis一樣簡單,**如下:

其中可以指定mapstyle,選擇多種風格,目前cesium中支援aerial、aerial_with_labels、road、ordnance_survey、collins_bart五種。

createopenstreetmapimageryprovider

cesium中提供了載入openstreetmap的provider,**如下:

另外,cesium還提供了基於osm的另外兩個服務位址,可供載入:watercolor、toner。在三維影像服務中,因為lod的策略,可能會出現相鄰的tile中z值不相同,大部分情況下不會導致問題,但有時候,可能相交處是文字,則可能會出現半個字的問題。因此,在三維中載入向量的影像服務,還是有不少侷限性的。

cesium提供了mapbox的載入方式,個人認為mapbox的地圖非常清新,還是乙個不錯的選擇。同時提供了mapbox.satellite、mapbox.streets、mapbox.streets-basic三種風格,**如下:

比如隱藏地球主體後,疊加一些向量面,突出主題.**如下:

至此,cesium中預設支援的影像服務,我們都有所涉及,並對最常用的這五類做了專門介紹和事例,下篇會基於cesium提供的基類擴充套件google,baidu,天地圖等影像服務,以及實際應用中的一些問題,比如多地圖疊加,地圖範圍以及效能等。

Cesium應用篇 2影像服務(上)

cesium中提供了多種imageryprovider方式,來滿足使用者的實際需求,但作為 的乙份子,可惜的是,看似很多,但最終的選擇卻又是捉襟見肘。如果是國內資料,個人認為天地圖的不錯,其他的地圖都有偏移,但天地圖的資料在國外有欠缺,假如你有乙個模型資料或者地形資料,恰好是國外的某乙個城市,比如馬...

面向服務的企業應用架構2

使用soa架構的企業,應該是有一定it系統基礎的企業,最好是已經實施過erp,或者hcm,crm等的企業。企業發展到一定的程度,會需要上線相應的erp來規範化流程,資料。而當企業進一步發展後,單一的erp產品已經無法滿足業務變化的需要,比如乙個業務不僅和生產相關,同時還和人力資源相關,另外還和公司內...

Yii2 許可權控制RBAC 應用篇(二)

1.首先我們要在配置檔案的元件 component 裡面配置一下 rbac authmanager class yii rbac dbmanager itemtable auth item assignmenttable auth assignment itemchildtable auth ite...