創建點
點是大多數其他幾何形狀的構件。以下部分介紹如何操作點:
有幾種方法可以創建點。 GeometryBuilder有許多用於創建幾何的實用方法,因此您不必擔心工廠。但是您也可以直接使用工廠,或者也可以使用WKT分析器來創建點。
作爲GeometryBuilder的一部分提供了幾種createPoint方法。下面是使用其中的一個例子:
GeometryBuilder builder = new GeometryBuilder(DefaultGeographicCRS.WGS84);
Point point = builder.createPoint(48.44, -123.37);
使用工廠 在某些環境中,你被限制只使用正規的GT-開放GIS接口,下面是一個使用PositionFactory和PrimitiveFactory作爲一個例子:
Hints hints = new Hints(Hints.CRS, DefaultGeographicCRS.WGS84);
PositionFactory positionFactory = GeometryFactoryFinder.getPositionFactory(hints);
PrimitiveFactory primitiveFactory = GeometryFactoryFinder.getPrimitiveFactory(hints);
DirectPosition here = positionFactory.createDirectPosition(new double[]{48.44, -123.37});
Point point1 = primitiveFactory.createPoint(here);
PositionFactory has a helper method allowing you to save one step:
Hints hints = new Hints(Hints.CRS, DefaultGeographicCRS.WGS84);
PrimitiveFactory primitiveFactory = GeometryFactoryFinder.getPrimitiveFactory(hints);
Point point2 = primitiveFactory.createPoint( new double[]{48.44, -123.37});
System.out.println(point2);
使用WKT 可以使用WKTParser從一個衆所周知的文本創建一個點:
WKTParser parser = new WKTParser(DefaultGeographicCRS.WGS84);
Point point = (Point) parser.parse("POINT(48.44 -123.37)");
您還可以創建WKTParser使用一組特定的工廠:
Hints hints = new Hints(Hints.CRS, DefaultGeographicCRS.WGS84);
PositionFactory positionFactory = GeometryFactoryFinder.getPositionFactory(hints);
GeometryFactory geometryFactory = GeometryFactoryFinder.getGeometryFactory(hints);
PrimitiveFactory primitiveFactory = GeometryFactoryFinder.getPrimitiveFactory(hints);
AggregateFactory aggregateFactory = GeometryFactoryFinder.getAggregateFactory(hints);
WKTParser parser = new WKTParser(geometryFactory, primitiveFactory, positionFactory, aggregateFactory);
Point point = (Point) parser.parse("POINT(48.44 -123.37)");
我也可以閱讀文檔,謝謝。如上所述,我實際上是在追隨他們而沒有取得太大的成功。我試圖找到一個更有效的解釋我的問題。 – jarandaf 2013-03-26 20:40:24
直接複製來自http://docs.geotools.org/latest/userguide/unsupported/geometry/build.html – jonayreyes 2016-04-12 13:12:11