在github上找到一個下載帶有紋理的三維模型的方法,該方法可以下載Google Earth上任意地方的三維模型(設置經緯度作爲下載模型區域的中心),簡單實用。
但是在這個過程中我遇到了一些問題,記錄下解決方法。
一、下載三維模型的方法:(理論上)
第一步,下載earth-reverse-engineering,鏈接:https://github.com/retroplasma/earth-reverse-engineering
第二步,安裝Node.js和npm,官網下載即可。(注意把earth-reverse-engineering包解壓到NodeJs的安裝目錄下)
第三步,在命令控制符中轉到earth-reverse-engineering文件路徑下,依次輸入:
npm install
node lat_long_to_octant.js 37.420806884765625 -122.08419799804688
node dump_obj.js 20527061605273514 20
第二句的最後兩個數字是目標下載模型的經緯度,
第三句的最後兩個數字是對應的節點和精度(示例中分別對應的是17節點最後的數字和20精度)
第四步,命令提示符中輸入node center_scale_obj.js,會在的下載模型的文件中生成一個model.2.obj,然後就可以用blender打開查看了。
(不進行第四步的話,打開下載模型model.obj會發現模型紋理是錯亂的,但是用cloudcompare打開model.obj是可以正常顯示模型的,因爲cloudcompare導入數據時就會有一個座標偏移量設置。)
二、正常的話,按照上面操作應該就可以下載完成帶有紋理的三維模型了,但是我的npm有問題,下面是我的問題解決之路:
1、下載安裝了node.js和npm,執行命令操作符的第一句輸入:npm install
2、報錯。。。找到解決辦法:
3、按照上面方法,執行結果如下:
4、繼續報錯。。。解決辦法如下:
5、按照上面方法,執行結果如下:
6、問題解決!!好了回到正軌,開始下載三維模型。來一遍完整的下載流程~
三、下載三維模型的方法:(實際操作)
1、下載earth-reverse-engineering包,安裝Node.js和npm,然後把earth-reverse-engineering包解壓到..\NodeJs\node_modules文件夾中;
下載earth-reverse-engineering:https://github.com/retroplasma/earth-reverse-engineering
2、打開命令提示符,修改路徑到earth-reverse-engineering文件夾路徑下;
3、在修改後的路徑下依次輸入:
npm install
node lat_long_to_octant.js 37.420806884765625 -122.08419799804688
2、命令提示符中輸入:node dump_obj.js 20527061605273514 20
3、命令提示符輸入:node center_scale_obj.js
4、找到存儲下載模型的文件夾,model.2.obj就是下載的帶有紋理的三維模型。
參考資料:
https://github.com/retroplasma/earth-reverse-engineering
https://segmentfault.com/q/1010000012930521
https://blog.csdn.net/x386277405/article/details/78297526