已知道路起點座標時,需要計算交點的座標在起點與指定距離之間。這種問題就像oracle空間中的SDO-LRS.LOCATE_PT函數一樣。在GeoTools或neo4j空間上有類似的API嗎?需要計算道路與起點之間指定距離的交點座標
1
A
回答
2
我不確定geotools是否提供了這個功能。但是,JTS中有一個與Geotools和Neo4j-Spatial都有關的地方。查看JTS包com.vividsolutions.linearref,它具有用於搜索點的線性幾何圖形或點的創建/投影的類。我認爲方法LengthIndexedLine.extractPoint(長度)可能是你在找什麼。
在Neo4j-Spatial中,我們有一個實用程序,它使用LocationIndexedLine(但尚未包含LengthIndexedLine)。請參閱TestSpatialUtils中的測試代碼以及它在SpatialTopologyUtils中調用的代碼。
今年還有兩個Google Summer of Code項目正在研究與此相關的功能。其中一個是Geoprocessing,我們將在Neo4j-Spatial中用一個簡單的API公開這些類型的函數。另一個更多的是關於OSM數據模型的數據挖掘,但也可能涉及這些功能。有關更多信息,請觀看neo4j和udig郵件列表。到夏天結束時,我們將在Neo4j-Spatial中提供更豐富的地理處理功能。
1
我只是將一些代碼推送到Neoj4-Spatial以將JTS方法LengthIndexedLine.extractPoint與新方法locatePoint相比較,該方法的行爲與Oracle SDO_LRS.LOCATE_PT方法相同。所以,至少在主幹上,Neo4j-Spatial現在具有這種能力。實際上,這個代碼很簡單,因爲它包裝了JTS代碼,所以功能一直存在,但現在看起來更像Oracle API。
前面提到的GSoC項目將嘗試在某種程度上對API進行標準化,以便以直觀的方式提供更完整的一組功能。
0
PrecisionModel precisionModel = new PrecisionModel(PrecisionModel.FLOATING_SINGLE);
GeometryFactory geometryFactory = new GeometryFactory(precisionModel, 0);
Coordinate[] coordinates = new Coordinate[3];
coordinates[0] = new Coordinate(0, 0);
coordinates[1] = new Coordinate(5, 5);
coordinates[2] = new Coordinate(10, 0);
CoordinateSequence coordinateSequence = new CoordinateArraySequence(coordinates);
Geometry geo = new LineString(coordinateSequence, geometryFactory);
LengthLocationMap lengthLocationMap = new LengthLocationMap(geo);
LocationIndexedLine locationIndexedLine = new LocationIndexedLine(geo);
LinearLocation linearLocation = lengthLocationMap.getLocation(len);
Coordinate result = locationIndexedLine.extractPoint(linearLocation);
相關問題
- 1. 計算座標之間的距離
- 2. 計算橢球(或WGS84座標)上的點與線段之間的距離?
- 3. 計算點之間的距離
- 4. 計算matlab中點之間的距離
- 5. 計算點之間的路徑和距離
- 6. 計算2個整數座標點之間距離的最有效方法是?
- 7. 使用經緯度座標計算多個點之間距離的Excel公式
- 8. 計算距離座標公里與Java
- 9. 計算給定距離到另外兩個點的點的座標
- 10. 計算與大XY點之間的距離值
- 11. 計算距離,給定一組座標
- 12. 計算2個給定點之間的距離
- 13. 查找Python中路由起點的座標距離
- 14. 計算座標點與VB.net
- 15. 計算2個座標之間的距離iphone - 最佳做法
- 16. pgf/tikz:如何計算x座標之間的一半距離?
- 17. 計算兩個x/y座標之間的距離?
- 18. 計算兩個GPRS座標之間的距離
- 19. 我們如何計算兩個座標之間的距離。 ArangoDB
- 20. 遊戲 - 計算兩個座標之間的距離
- 21. 如何計算2之間的距離座標
- 22. 點對點距離(2D)和交點座標
- 23. 沿着給定標題,起點和點之間的距離獲取點
- 24. 如何使用座標計算兩點的距離?
- 25. 計算終點給定距離,方位,起點
- 26. 計算二維空間中兩點之間的距離?
- 27. 從距離和方位計算點/座標
- 28. 如何計算與另一點距離固定的隨機點?
- 29. MKMapView在定製路線上獲得座標之間的距離
- 30. 當計算交叉軌跡距離(線段與球體上的點之間的距離)時會出現負值
謝謝你,Craig Taverner! – 2011-08-14 07:15:14
但SRID = 4326,結果錯誤。 – 2011-08-15 05:33:09