gpt4 book ai didi

java - Geotools - 创建一个点

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:18:47 32 4
gpt4 key购买 nike

我正在使用 GeoTools Java 库进行一些几何计算。就我而言,我使用的是一个形状文件,其中包含某个城市的所有邻域多面体。我想知道那个城市的每一个可能的坐标,它对应于哪个街区。所以我的方法是简单地遍历所有邻域多边形并检查给定点是否在其中。这是一段提到的代码:

public String getNeighborhoodId(Coordinates c){
for(Feature f : neighborhoods){
MultiPolygon m = (MultiPolygon) f.getProperty("geometry").getValue();

GeometryBuilder builder = new GeometryBuilder(DefaultGeographicCRS.WGS84);
Point p = builder.createPoint(c.getLat(),c.getLng());

if(m.contains((Geometry) point)){
return f.getProperty("neighborhoodId").getValue().toString();
}
}
return "";
}

邻域是之前从形状文件中读取的所有特征。问题是在这一行:

Point p = builder.createPoint(c.getLat(),c.getLng());

我收到 org.geotools.factory.FactoryNotFoundException: No factory of kind "PrimitiveFactory"found。

我只是按照文档进行操作,但没有取得多大成功(This 方法也不起作用)。请注意,我使用的是 GeoTools 的 9-SNAPSHOT 版本。

关于如何解决这个问题有什么建议吗?

最佳答案

我遇到了类似的问题。通过跟踪堆栈,我发现没有可供 GeometryBuilder() 查找的几何工厂。如果没有工厂,GeometryBuilder 将抛出一个 No factory of kind " "异常。解决方案在 http://docs.geotools.org/latest/userguide/unsupported/geometry/index.html .此插件包括使用 org.geotools.geometry 类所需的工厂。

我在 Eclipse 上使用 GeoTools 11.0

关于java - Geotools - 创建一个点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15643438/

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