我正在嘗試使用 D3 使用高程資料渲染世界地圖。
為此,我使用 Natural Earth 50m 陸地 geojson:

我嘗試先投影然后切割,或者在投影時使用 Pseudo-Mercator 或 Mercator,但沒有任何效果..有人知道嗎?
uj5u.com熱心網友回復:
墨卡托通常被夾在大約 85 度的北/南 (~85.05113 N/S) - 因為比這更遠,你會得到一張比寬度更高的地圖,并且每增加一個北/南度數,地圖就會變得更高包含在范圍內。。
使用此限制的 D3 剪輯功能:
球面墨卡托投影。定義一個默認的 projection.clipExtent 以便將世界投影到一個正方形,裁剪到大約 ±85° 緯度。
北部邊界很好,但 geojson 的南部邊界是-89.998926您用來剪切影像的度數。但是當 D3 剪輯 geojson 時,與 geojson 相比,您將影像拉伸的量不同,因此您會看到問題。
解決方案應該是將影像裁剪到一個邊界,該邊界代表 D3 將為墨卡托(85.05113南度)渲染的限制,而不是資料本身的限制。
我還沒有查看 gdal 如何忠實地實作 EPSG:3395,因為該定義提供了南緯 80 度和北緯 84 度的投影邊界 - 盡管查看影像,這似乎不是問題。
您還可以對 D3 投影 (d3v4 ) 使用更簡潔的 fitSize 方法:
projection.fitSize([width,height],geojsonObject)
給定提供的寬度/高度,它將為您設定比例和翻譯。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/447355.html
下一篇:打字稿中的嵌套函式會出錯
