我有幾何對象的集合。現在我想從整個集合中計算最小的邊界矩形。 我使用java拓撲套件,但我無法弄清楚如何做到這一點?最小邊界矩形與JTS
4
A
回答
4
有在http://tsusiatsoftware.net/jts/javadoc/index.html
看看如果我假設你正在使用的GeometryCollection實例。如果這是真的,你可以直接調用
geometry.getEnvelope();
或
geometry.getEnvelopeInternal();
如果你想要一個信封實例
它將返回你的GeometryCollection的最小矩形。
如果你有幾何圖形的集合,你可以直接使用一個信封,並在每次處理您收集的新geometryc時間展開。
Envelope env = new Envelope();
for(Geometry g : mySet){
env.expandToInclude(g.getEnvelopeInternal()):
}
或
Envelope env = new Envelope();
for(Geometry g : mySet){
env.expandToInclude(g.getBoundary().getEnvelopeInternal()):
}
1
我從來沒有使用JTS,但Google搜索這樣的:
迭代通過集合併爲每個對象調用getBoundary().getEnvelopeInternal()
0
我只是把一個這樣在一起。
幾何類有一個「getEnvelopeInternal()」返回的內切包絡,但「的getEnvelope()」只是返回另一個幾何。
看的Javadoc,看來返回的幾何對象可以是:
- 空點匹配空幾何對象。
- 單個點,與傳入的點匹配。
- 多邊形與4個座標指定封閉信封。
看着信封上的其它註釋,我看你能「擴大」信封....所以這裏的util的,我建轉換的靜態:
public static Envelope enclosingEnvelopFromGeometry(Geometry geometry) {
final Envelope envelope = new Envelope();
final Geometry enclosingGeometry = geometry.getEnvelope();
final Coordinate[] enclosingCoordinates = enclosingGeometry.getCoordinates();
for (Coordinate c : enclosingCoordinates) {
envelope.expandToInclude(c);
}
return envelope;
}
相關問題
- 1. UIDynamicItem與非矩形邊界
- 2. 通過座標計算2D形狀的最小邊界矩形
- 3. 當3D形狀未知時,最小邊界矩形只適用於3D矩陣?
- 4. 邊界框與矩形的對比
- 5. 如何找到一組線的最小邊界矩形?
- 6. Wp8地圖邊界矩形
- 7. 餅圖邊界矩形
- 8. 矩形區域和邊界
- 9. 從邊界切割矩形
- 10. android-圓形矩形邊界爲佈局
- 11. 定製邊界矩形的形狀
- 12. 獲取儘可能多的多邊形的最小邊界框
- 13. 從給定的四邊形中找出符合矩形的最小四邊形
- 14. 帶給定整數區域和整數邊的最小定界矩形
- 15. 找到所有點與多邊形邊界之間的最小距離
- 16. Sprites下的邊界矩形HTML5 Canvas
- 17. 獲取FrameworkElement邊界矩形的座標
- 18. 獲取drawString的邊界矩形?
- 19. 邊界矩形碰撞測試?
- 20. 確定邊界線的矩形Qt中
- 21. 定義點數組的邊界矩形
- 22. 帆布矩形3D效果邊界
- 23. 獲取UIWebView的邊界選擇矩形
- 24. C++ opencv的重縮放邊界矩形
- 25. 計算相鄰矩形的邊界
- 26. 如何獲得PathFigureCollection邊界矩形
- 27. 帶有非矩形邊界的TinyMCE
- 28. 添加矩形以獲得所有矩形邊界的方法
- 29. 爲什麼在UIView中有框架矩形和邊界矩形?
- 30. 調整字體大小以適應邊界矩形?
HM,有什麼長期沒有你一派?你可以給我鏈接嗎? – ABLX 2011-12-15 13:23:32