2017-03-18 73 views
-1

我必須編寫一個程序,它執行以下操作... 取一個起點,然後創建一個覆蓋網格與1x1公里矩形。 作爲第一項任務,我想創建一個網格點,彼此相距1公里。 所以我找到了用於創建kml和用於創建點的geocalc庫的JAK庫。Java「geocalc」發現錯誤的點(或不是?)...「。kml」創建

我的問題是我有一個文件來檢查我的程序(這個測試文件是正確的......據我所知)...但我創建的網格與「testgrid」不同...更多具體...在我的網格中,每個廣場都是完美的1x1公里(根據2個互聯網工具,我檢查了角落之間的距離) 當我檢查測試點之間的距離時,它僅爲950米(據我所知, 1公里遠從對方)

我的代碼:

//... 
private static List<Point> points = new ArrayList<Point>(); 

public static void main(String[] args) { 
    Coordinate lat = new DegreeCoordinate(18.394896); 
    Coordinate lng = new DegreeCoordinate(41.842898); 
    Point startPoint = new Point(lat, lng); 
    points.add(startPoint); 

    for (int i = 1; i < 10; i++) { 
     points.add(EarthCalc.pointRadialDistance(startPoint, 0, 1000 * i)); 
    } 

    List<Point> newPoints = new ArrayList<Point>(); 

    for (Point point : points) { 
     for (int i = 1; i < 10; i++) { 
      newPoints.add(EarthCalc.pointRadialDistance(point, 90, 1000 * i)); 
     } 
    } 

    points.addAll(newPoints); 
//... create the kml file and add the points 

我的行家

<dependencies> 
    <!-- https://mvnrepository.com/artifact/com.peertopark.java/geocalc --> 
    <dependency> 
     <groupId>com.peertopark.java</groupId> 
     <artifactId>geocalc</artifactId> 
     <version>1.0.3</version> 
    </dependency> 

    <!-- https://mvnrepository.com/artifact/de.micromata.jak/JavaAPIforKml --> 
    <dependency> 
     <groupId>de.micromata.jak</groupId> 
     <artifactId>JavaAPIforKml</artifactId> 
     <version>2.2.0</version> 
    </dependency> 
</dependencies> 

也許有人有一個想法是什麼,我做錯了?......或者

我加了一個截圖來自谷歌地球,P1-P4是我的觀點,M1-M4的測試點,應任何其他庫正確

enter image description here

我點KML

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:xal="urn:oasis:names:tc:ciq:xsdschema:xAL:2.0"> 
<Document> 
    <name>MyMarkers</name> 
    <Placemark> 
     <name>p1</name> 
     <open>1</open> 
     <Point> 
      <coordinates>18.394896,41.842898</coordinates> 
     </Point> 
    </Placemark> 
    <Placemark> 
     <name>p2</name> 
     <open>1</open> 
     <Point> 
      <coordinates>18.394895765284446,41.83342053891099</coordinates> 
     </Point> 
    </Placemark> 
    <Placemark> 
     <name>p3</name> 
     <open>1</open> 
     <Point> 
      <coordinates>18.40388896722779,41.83342053891099</coordinates> 
     </Point> 
    </Placemark> 
    <Placemark> 
     <name>p4</name> 
     <open>1</open> 
     <Point> 
      <coordinates>18.403889201943347,41.842898000000005</coordinates> 
     </Point> 
    </Placemark> 
</Document> 
</kml> 

「測試」 KML

<?xml version="1.0" encoding="UTF-8"?> 
<kml xmlns="http://earth.google.com/kml/2.1"> 
<Document> 
<name>Montenegro</name> 
    <Placemark> 
     <name>m1</name> 
     <open>1</open> 
     <Point> 
      <coordinates>18.394896,41.842898</coordinates> 
     </Point> 
    </Placemark> 

    <Placemark> 
     <name>m2</name> 
     <open>1</open> 
     <Point> 
      <coordinates>18.395261,41.833901</coordinates> 
     </Point> 
    </Placemark> 

    <Placemark> 
     <name>m3</name> 
     <open>1</open> 
     <Point> 
      <coordinates>18.407292,41.834173</coordinates> 
     </Point> 
    </Placemark> 

    <Placemark> 
     <name>m4</name> 
     <open>1</open> 
     <Point> 
      <coordinates>18.406928,41.843171</coordinates> 
     </Point> 
    </Placemark> 
</Document> 
</kml> 

回答

0

我的錯誤是我切換了經度和緯度...