deck.gl YYDS!
成都創(chuàng)新互聯(lián)公司專(zhuān)注于企業(yè)營(yíng)銷(xiāo)型網(wǎng)站、網(wǎng)站重做改版、鞍山網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5建站、商城網(wǎng)站開(kāi)發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)公司、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性?xún)r(jià)比高,為鞍山等各大城市提供網(wǎng)站開(kāi)發(fā)制作服務(wù)。
很多ArcGIS API for JavaScript的用戶想要ArcGIS的矢量切片技術(shù)體系實(shí)現(xiàn)Mapbox gl將城市建筑物footprint矢量切片三維化成建筑白模的效果。效果如圖:截圖來(lái)自 mapbox studio 。但目前僅靠ArcGIS VectorTileServer 和 ArcGIS API for JavaScript本身無(wú)法達(dá)到這樣的效果。
ArcGIS API for JavaScript先前與deck.gl已經(jīng)可以通過(guò)多種方式很好的結(jié)合。參考:《 ArcGIS API 場(chǎng)景添加 3D Tiles 》、《 ArcGIS與deckgl結(jié)合的不同模式 》。那么我們可以去看一下deck.gl能不能利用mapbox gl矢量切片三維化的這個(gè)優(yōu)勢(shì)。
deck.gl與Mapbox標(biāo)準(zhǔn)的矢量切片有兩種結(jié)合模式。一個(gè)是采用Mapbox底圖作為程序全局底圖。如: 示例程序 1
優(yōu)點(diǎn):可以使用托管在Mapbox gl官網(wǎng)的樣式,直接調(diào)用Mapbox studio中創(chuàng)作的三維化底圖。方便、美觀。
缺點(diǎn):1.web程序底圖全局變?yōu)榱薽apbox底圖,deck.gl被奪舍了,無(wú)法作為單一圖層與ArcGIS的場(chǎng)景視圖進(jìn)行結(jié)合。
? ? ? ?2.mapbox服務(wù)器在外網(wǎng),并且商用要收費(fèi)。已經(jīng)采購(gòu)了ArcGIS作為內(nèi)網(wǎng)服務(wù)器的用戶沒(méi)有必要額外采購(gòu)和修改地圖制作技術(shù)路線。
另一個(gè)技術(shù)路線是添加MVTLayer作為一個(gè)業(yè)務(wù)圖層。如: 示例程序2
優(yōu)點(diǎn):1.作為單圖層,可以借助ArcGIS + deck.gl的官方結(jié)合方式在ArcGIS地圖視圖和場(chǎng)景視圖去直接使用。
? ? ? ?2.既支持開(kāi)源生態(tài)常用的.mvt格式的矢量切片,也支持ArcGIS為代表的.pbf格式的矢量切片。直接支持ArcGIS發(fā)布的VectorTileServer。
缺點(diǎn):1.在渲染層面,MVTLayer不能加載完整矢量切片style.json樣式文件。只能通過(guò)deck.gl繼承的GeoJSONLayer和TileLayer以及Layer的一些屬性進(jìn)行很有限的前端渲染。不能支持完整的 mapbox矢量切片樣式標(biāo)準(zhǔn) 。
? ? ? ? 2.在數(shù)據(jù)層面,只能一次性加載全部矢量切片服務(wù)下的子圖層。在全部圖層加載完畢之前,無(wú)法進(jìn)行子圖層的過(guò)濾。如果后端采用Mapbox世界地圖{z}/{x}/{y}.mvt?access_token=token,那么會(huì)造成大量數(shù)據(jù)冗余(Mapbox過(guò)濾圖層的機(jī)制是style.json樣式)。如果使用ArcGIS發(fā)布的矢量切片服務(wù),我們只需把建筑物footprint單獨(dú)發(fā)布為一個(gè)服務(wù)即可。
另外:關(guān)于type:fill-extrusion的mapbox標(biāo)準(zhǔn)樣式,deck.gl其實(shí)是不支持的。但他支持 GeoJSONLayer 使用extruded:true +?getElevation:number的方式設(shè)置根據(jù)屬性拉伸高度。
服務(wù)發(fā)布前設(shè)置建筑footprint要素類(lèi)的高度字段高亮。該屬性才能被寫(xiě)入矢量切片中。
采用默認(rèn)的ArcGIS Online切片方案,將建筑物footprint圖層發(fā)布矢量切片服務(wù)。
在REST點(diǎn)擊start tile獲得切片地址為:
改寫(xiě)為通用的{z}/{y}/{x}.pbf
以ArcGIS VectorTileServer為數(shù)據(jù)源。以 實(shí)例程序2 為藍(lán)本,改寫(xiě)地址,添加一些屬性。
設(shè)置名為footprint的子圖層顏色為[218,218,218]。還可以設(shè)置成RGBA透明效果,如[218,128,218,128]
設(shè)置拉伸生效extruded:true,設(shè)置拉伸高度值為矢量切片的屬性字段Z_Max的值。
設(shè)置最小可見(jiàn)比例13級(jí)。用來(lái)減少產(chǎn)生無(wú)切片的404請(qǐng)求。根據(jù)實(shí)際數(shù)據(jù)設(shè)置。
設(shè)置最大可見(jiàn)比例15級(jí)。用來(lái)避免出現(xiàn)放大和平移時(shí)建筑物消失的現(xiàn)象。根據(jù)實(shí)際數(shù)據(jù)情況設(shè)置。
設(shè)置繼承自TileLayer的屬性extent : [minX, minY, maxX, maxY]。
效果如下:
在DeckRenderer創(chuàng)建時(shí)設(shè)置參數(shù)getTooltip:info={ }
在layer中加入pickable:true
傳統(tǒng)的ArcGIS API 場(chǎng)景視圖表達(dá)三維需要使用建模轉(zhuǎn)mutipatch發(fā)布SceneServer的方式 或 二維矢量面FeatureServer拉伸樣式的方式。
ArcGIS+deck.gl矢量切片三維化表示建筑白模的技術(shù)路線為ArcGIS API場(chǎng)景視圖表達(dá)三維白模增加了借助VectorTileServer的新的方式。
給ArcGIS 矢量切片增加了前端獲得屬性和幾何的功能。
Postgis生成矢量切片主要使用以下兩個(gè)方法
geometry **ST_AsMVTGeom**( geometry var class="pdparam" style="color: rgb(153, 0, 0);"geom/var, box2d var class="pdparam" style="color: rgb(153, 0, 0);"bounds/var, integer var class="pdparam" style="color: rgb(153, 0, 0);"extent=4096/var, integer var class="pdparam" style="color: rgb(153, 0, 0);"buffer=256/var, boolean var class="pdparam" style="color: rgb(153, 0, 0);"clip_geom=true/var ) ;
Transform a geometry into the coordinate space of a Mapbox Vector Tile of a set of rows corresponding to a Layer. Makes best effort to keep and even correct validity and might collapse geometry into a lower dimension in the process.
geom is the geometry to transform.
bounds is the geometric bounds of the tile contents without buffer.
extent is the tile extent in tile coordinate space as defined by the specification . If NULL it will default to 4096.
buffer is the buffer distance in tile coordinate space to optionally clip geometries. If NULL it will default to 256.
clip_geom is a boolean to control if geometries should be clipped or encoded as is. If NULL it will default to true.
row row data with at least a geometry column.
name is the name of the layer. Default is the string "default".
extent is the tile extent in screen space as defined by the specification. Default is 4096.
geom_name is the name of the geometry column in the row data. Default is the first geometry column.
feature_id_name is the name of the Feature ID column in the row data. If NULL or negative the Feature ID is not set. The first column matching name and valid type (smallint, integer, bigint) will be used as Feature ID, and any subsequent column will be added as a property. JSON properties are not supported.
如果通過(guò)pg生成切片時(shí)間過(guò)長(zhǎng)可以嘗試減少兩個(gè)函數(shù)的extent參數(shù)
比如默認(rèn)是4096,可以改為512 可以明顯提高計(jì)算速度,同時(shí)減少前端消耗
如實(shí)相告。
無(wú)論是就業(yè)面試還是考研面試,理論素養(yǎng)、技術(shù)功底、創(chuàng)新思維、學(xué)科前沿這些方面都是非常重要的。畢竟,GIS是一門(mén)理論性和實(shí)踐性并重的應(yīng)用型基礎(chǔ)學(xué)科。無(wú)論在產(chǎn)業(yè)界還是學(xué)術(shù)界,單方面的專(zhuān)業(yè)素養(yǎng)都很難走遠(yuǎn)。
一、理論方面:
地理學(xué)第一定律、第二定律的內(nèi)涵及其應(yīng)用。以及在GIS方法層面,有哪些經(jīng)典和常用的方法和模型體現(xiàn)了地理學(xué)定律(空間自相關(guān)性+空間異質(zhì)性)。
GIS數(shù)據(jù)模型中,如何理解對(duì)象數(shù)據(jù)模型和場(chǎng)數(shù)據(jù)模型,及其在GIS數(shù)據(jù)建模中的重要性。
計(jì)算機(jī)、遙感、地理學(xué)等學(xué)科與GIS學(xué)科的聯(lián)系與區(qū)別。
移動(dòng)互聯(lián)網(wǎng)對(duì)GIS帶來(lái)了什么革命性的改變。
......
諸如以上問(wèn)題,能夠體現(xiàn)回答者對(duì)GIS理論問(wèn)題的理解深度。
什么是泛在地理信息?對(duì)GIS學(xué)科有什么影響?
什么是志愿者地理信息(VGI)?
計(jì)算機(jī)聚類(lèi)和空間聚類(lèi)的本質(zhì)區(qū)別是什么?
矢量切片的實(shí)現(xiàn)原理?對(duì)在線地圖帶來(lái)了哪些革命性的改變。
......
諸如這些問(wèn)題,能夠反映回答者對(duì)GIS理論及其應(yīng)用的掌握廣度。
二、技術(shù)功底
空間網(wǎng)絡(luò)分析中最優(yōu)路徑、設(shè)施分配等模型所采用的常用算法是什么?
常用的時(shí)空數(shù)據(jù)結(jié)構(gòu)有哪些?各自有什么優(yōu)缺點(diǎn)?
地理元胞自動(dòng)機(jī)的實(shí)現(xiàn)思路和應(yīng)用特點(diǎn)。
遺傳、蟻群等智能優(yōu)化算法在解決空間分析問(wèn)題時(shí)在哪些方面需要特殊邏輯?
......
教科書(shū)上傳統(tǒng)的矢量數(shù)據(jù)結(jié)構(gòu)、面積量算、疊置分析等,常識(shí)性的東西,其技術(shù)實(shí)現(xiàn)真不該作為技術(shù)的考察點(diǎn)。
三、創(chuàng)新思維
各GIS廠商紛紛將游戲引擎引入三維GIS,將對(duì)GIS帶來(lái)哪些重要影響?
無(wú)人駕駛等智能機(jī)器人時(shí)代到來(lái)后,將賦予GIS哪些新的使命?
文章題目:gis矢量切片技術(shù) arcgis矢量切片操作
分享鏈接:http://sd-ha.com/article4/doijgie.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站、定制網(wǎng)站、小程序開(kāi)發(fā)、網(wǎng)站改版、App開(kāi)發(fā)、移動(dòng)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)