gpt4 book ai didi

java - GeoTools:在 map 上绘制多边形

转载 作者:行者123 更新时间:2023-11-29 08:56:12 25 4
gpt4 key购买 nike

我是 Java 的 GeoTools 库的新手,我只是想在 map 上绘制一个多边形。我正在为点使用 GPS 坐标,绘制得很好,但我只是想不出如何在它们之间绘制 LineString 来挽救我的生命。

我已经检查了 geotools.org 上的所有教程以及 this posting但无济于事。有必要这么复杂吗?有人可以发布绘制 LineString 所需的代码片段吗?这是我最后尝试过的:

SimpleFeatureType lineType = DataUtilities.createType("LINE", "geom:LineString,name:String");
SimpleFeatureBuilder featureBuilderLines = new SimpleFeatureBuilder(lineType);
SimpleFeatureCollection collectionLines = FeatureCollections.newCollection();

LineString line = builder.createLineString(listOfPoints);
featureBuilderLines.add(line);
SimpleFeature featureLine = featureBuilderLines.buildFeature(null);
((DefaultFeatureCollection)collectionLines).add(featureLine);
Style lineStyle = SLD.createLineStyle(Color.RED, 2.0f);
map.addLayer(new FeatureLayer(collectionLines, lineStyle));

谢谢,提前致以最诚挚的问候

最佳答案

你似乎在混合几何类型,尝试类似的东西:

import org.geotools.geometry.jts.JTSFactoryFinder;

import com.vividsolutions.jts.geom.Coordinate;
import com.vividsolutions.jts.geom.LineString;

public class TestLineBuilder {
public static void main(String[] args) {

com.vividsolutions.jts.geom.GeometryFactory gFac = JTSFactoryFinder.getGeometryFactory();
Coordinate[] coordinates = new Coordinate[2];
coordinates[0] = new Coordinate(1,3);
coordinates[1] = new Coordinate(3,8);
LineString line =gFac.createLineString(coordinates );
System.out.println(line);
}
}

这为我提供了正确的答案。

关于java - GeoTools:在 map 上绘制多边形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20196506/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com