簡體   English   中英

使用 Geotools 繪制了錯誤的 LineString

[英]Incorrect LineString is being drawn using Geotools

我正在嘗試使用 geotools 在地球上繪制一條線,但在繪制一條線時沒有考慮兩點之間的最短距離,繪制的 lineString 正在繞地球走很長的路線並提供錯誤的結果。當我在上繪制同一條線時谷歌地圖結果路線繪制正確。黑白地圖使用地理工具,另一個來自谷歌地圖。誰能指出我哪里出錯了 PS:坐標在日志中,緯度

 Coordinate[] myLineString = new Coordinate[]{
                new Coordinate( -110.0,20.0),
                new Coordinate( 143.41666666666666,41.583333333333336 ),
                new Coordinate(  140.8,41.65)
        };
    Hints hints = new Hints(Hints.CRS, DefaultGeographicCRS.WGS84);
    GeometryFactory geometryFactory = JTSFactoryFinder.getGeometryFactory(hints);
    LineString lineString = geometryFactory.createLineString(coordinates);

在此處輸入圖片說明

在此處輸入圖片說明

簡單的答案是因為您使用的是 EPSG:4326,它在 +/- 180 度處不連續。 所以你的線以“明顯”的方式表示。

解決方案是在另一個投影中繪制您的地圖,例如PDC Mercator (EPSG:3832),它將為您提供如下地圖:

在此處輸入圖片說明

正如您所看到的,當格陵蘭島和南極洲穿過地圖邊緣的新斷點時,背景地圖存在一些問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM