基于路徑規(guī)劃API使用FME計(jì)算等時(shí)圈

本次依舊使用百度地圖開放平臺(tái),這次使用路徑規(guī)劃API。
本次是計(jì)算駕車出行的等時(shí)圈,因此在路徑規(guī)劃服務(wù)文檔中找到駕車路線規(guī)劃部分。

總體思路如下:

  • 按照需求生成等時(shí)圈范圍,并在其中均勻打點(diǎn),將其作為目的地點(diǎn);
  • 根據(jù)起點(diǎn)、終點(diǎn)的坐標(biāo)值構(gòu)建請(qǐng)求url訪問API,得到時(shí)間參數(shù);
  • 利用每個(gè)點(diǎn)的時(shí)間參數(shù)為值做插值分析,得到等時(shí)圈圖。

1.創(chuàng)建起點(diǎn):

  • 添加Creator轉(zhuǎn)換器

使用Creator轉(zhuǎn)換器創(chuàng)建一個(gè)新要素,參數(shù)默認(rèn)即可。

  • 添加AttributeManager轉(zhuǎn)換器

使用AttributeManager轉(zhuǎn)換器添加起點(diǎn)坐標(biāo)值,本次采用百度坐標(biāo)以市政府作為起點(diǎn),可以通過百度地圖拾取坐標(biāo)系統(tǒng)獲得。

  • 添加VertexCreator轉(zhuǎn)換器

使用VertexCreator轉(zhuǎn)換器將添加的起點(diǎn)轉(zhuǎn)換為一個(gè)點(diǎn)要素。

  • 添加CoordinateSystemSetter轉(zhuǎn)換器

因?yàn)楹罄m(xù)需要以起點(diǎn)為圓心做buffer,所以需要先為起點(diǎn)定義一個(gè)坐標(biāo)系,然后將點(diǎn)變換為投影坐標(biāo)系。

  • 添加Reprojector轉(zhuǎn)換器

使用Reprojector轉(zhuǎn)換器將點(diǎn)變換為投影坐標(biāo)系。

2.獲取目的地點(diǎn)坐標(biāo):

  • 添加Bufferer轉(zhuǎn)換器

以起點(diǎn)為圓心做buffer,半徑可以根據(jù)需要設(shè)定,此處以100KM為例。

  • 添加2DGridAccumulator轉(zhuǎn)換器

安裝上一步生成的buffer范圍,劃分網(wǎng)格,并且設(shè)置創(chuàng)建的網(wǎng)格類型為點(diǎn),這樣就生成了目的地點(diǎn)。
此處按照設(shè)置的格子數(shù)量進(jìn)行劃分,將其劃分為60×60的網(wǎng)格。

  • 添加Clipper轉(zhuǎn)換器

按照生成的buffer范圍裁剪點(diǎn),得到buffer范圍內(nèi)的點(diǎn)。

  • 添加Reprojector轉(zhuǎn)換器

因?yàn)榇藭r(shí)生成的點(diǎn)的坐標(biāo)為投影坐標(biāo),需要使用轉(zhuǎn)換器轉(zhuǎn)換為經(jīng)緯度坐標(biāo)。

  • 添加CoordinateExtractor轉(zhuǎn)換器

使用CoordinateExtractor轉(zhuǎn)換器獲取生成的每個(gè)目的地點(diǎn)的坐標(biāo)。

  • 添加AttributeManager轉(zhuǎn)換器

使用轉(zhuǎn)換器對(duì)屬性進(jìn)行整理,只保留坐標(biāo)值字段即可。

3.將起點(diǎn)和目的地點(diǎn)相連:

  • 添加FeatureMerger轉(zhuǎn)換器

將起點(diǎn)和目的地點(diǎn)連接起來,使得每個(gè)目的地點(diǎn)上夠連接上起點(diǎn)坐標(biāo)。

  • 添加Counter轉(zhuǎn)換器

為了區(qū)分每個(gè)目的地點(diǎn),使用Counter轉(zhuǎn)換器為每個(gè)目的地點(diǎn)創(chuàng)建一個(gè)ID(從1開始)。

4.設(shè)置延遲處理:

為了安全起見,添加訪問延遲處理。

  • 添加RandomNumberGenerator轉(zhuǎn)換器

RandomNumberGenerator轉(zhuǎn)換器會(huì)生成一個(gè)隨機(jī)數(shù),根據(jù)分別設(shè)置最小值、最大值、小數(shù)點(diǎn)位數(shù)。

  • 添加RandomNumberGenerator轉(zhuǎn)換器

設(shè)置延遲時(shí)間,選擇上一步生成的_random_number屬性值。

5.構(gòu)建訪問url并解析返回結(jié)果:

  • 添加HTTPCaller轉(zhuǎn)換器

構(gòu)建訪問API的URL。

  • 添加JSONFragmenter轉(zhuǎn)換器

不知道為什么使用JSONExtractor轉(zhuǎn)換器后運(yùn)行會(huì)在某一處報(bào)服務(wù)器錯(cuò)誤的錯(cuò)誤,但是JSONFragmenter轉(zhuǎn)換器就不會(huì)出現(xiàn)這種情況,所以這里推薦使用JSONFragmenter轉(zhuǎn)換器。
對(duì)返回的JSON進(jìn)行解析,這里需要注意下語(yǔ)法問題(與獲取{}里面數(shù)據(jù)不同的是獲取[]里面的所有數(shù)據(jù)需要在后面添加一個(gè)[*])以及記得暴露需要的屬性。

  • 添加AttributeManager轉(zhuǎn)換器

進(jìn)行屬性整理,刪除多余屬性。

此時(shí)已經(jīng)得到起點(diǎn)與所有目的地點(diǎn)間的距離以及花費(fèi)時(shí)間。

6.根據(jù)時(shí)間值做插值分析,得到等時(shí)圈:

根據(jù)每個(gè)目的地點(diǎn)的時(shí)間值做插值分析,生成等時(shí)圈圖,和ArcGIS中的插值分析一樣。需要注意的是在做插值分析之前,需要轉(zhuǎn)為3D要素。

  • 添加3DForcer轉(zhuǎn)換器

根據(jù)時(shí)間字段,將要素轉(zhuǎn)為3維要素。

  • 添加Reprojector轉(zhuǎn)換器

因?yàn)楹罄m(xù)做插值分析時(shí)設(shè)置的像元大小是以米為單位,因此需要先將要素轉(zhuǎn)換為投影坐標(biāo)。

  • 添加SurfaceModeller轉(zhuǎn)換器

在轉(zhuǎn)換器參數(shù)對(duì)話框中進(jìn)行相關(guān)設(shè)置,其中,
表面容差————當(dāng)點(diǎn)不是很多時(shí),可以設(shè)置為0,就是每個(gè)點(diǎn)都參與插值計(jì)算,當(dāng)點(diǎn)很多時(shí),可以根據(jù)需要設(shè)置其他值。
輸出DEM單元格x軸間隔、輸出DEM單元格y軸間隔————也就是輸出的柵格文件的像元大小,可以根據(jù)需要進(jìn)行設(shè)置。
輸出等高線間隔————此處就是等時(shí)線間隔,此處我們以1800秒,也就是半小時(shí)為間隔。

  • 添加寫模塊

添加一個(gè)shapefile格式的寫模塊,因?yàn)檩敵龅膶傩阅J(rèn)為elevation,可以將其name修改為時(shí)間type修改為long(整數(shù))。

添加一個(gè)TIF格式的寫模塊,

7.運(yùn)行之后得到結(jié)果:

后續(xù)可以使用生成的TIFF文件在ArcGIS中做進(jìn)一步處理。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴(yán)謹(jǐn) 對(duì)...
    cosWriter閱讀 11,663評(píng)論 1 32
  • d3 (核心部分)選擇集d3.select - 從當(dāng)前文檔中選擇一系列元素。d3.selectAll - 從當(dāng)前文...
    謝大見閱讀 3,577評(píng)論 1 4
  • 【Android 動(dòng)畫】 動(dòng)畫分類補(bǔ)間動(dòng)畫(Tween動(dòng)畫)幀動(dòng)畫(Frame 動(dòng)畫)屬性動(dòng)畫(Property ...
    Rtia閱讀 6,387評(píng)論 1 38
  • 本文首發(fā)于個(gè)人博客:Lam's Blog - 【OpenGL ES】入門及繪制一個(gè)三角形,文章由MarkDown語(yǔ)...
    格子林ll閱讀 7,510評(píng)論 2 18
  • 這是貓貓推送的第1首歌曲 關(guān)于遠(yuǎn)方和思念 不知道你聽過沒 郭斯 遠(yuǎn)方 一段歌詞 如下 湫水等微風(fēng) 我在等你啊 一疊...
    文案貓貓閱讀 1,732評(píng)論 0 0

友情鏈接更多精彩內(nèi)容