问题标签 [jts]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
796 浏览

java - JTS WKTReader 有什么替代品吗?

我正在使用JTS 拓扑套件来处理我的应用程序中的一些几何图形。作为起点,我实例化了一个阅读器:

然后,使用阅读器检查多边形记录:

问题在于以这种方式找到我的多边形需要很长时间。所以我需要这个过程的另一个选择。是否有任何替代方法可以WTKReader用于此过程?谢谢。

PS:我使用的是 MYSQL 数据库。

0 投票
1 回答
1786 浏览

java - JTS/Geotools 多个几何图形的正确联合/差异

问题 :

我有一个包含目标区域(黄色)的形状文件。

我有一个包含建筑物(绿色)的形状文件。

我需要黄色区域的空白区域。

图片:://db.tt/kjjXZlQF

我的解决方案:

  1. 获取该区域的所有建筑物

    Filter inPolygon = CQL.toFilter("WITHIN(the_geom,"+wktwriter.write(targetarea) + ")");

    FeatureCollection<SimpleFeatureType, SimpleFeature> collection = featureSource.getFeatures(inPolygon);//this works

  2. 从每个建筑物中获取它的几何形状并在目标区域使用差异

    toCover = toCover.Difference(building);

第二种解决方案:

每一栋楼的联盟,然后在最后的差异。

第三个解决方案:

将它们全部放在 GeomtryCollection 调用联合中,然后使用差异

这些解决方案中的每个人都给了我如下图所示的内容

图片:https ://dl.dropboxusercontent.com/u/639458/stackoverflow/stfr2.png

明确一点,我尝试了几种方法来解决这个问题,通过使用不同的创建/制作或使用方式。即使使用下面网站中的给定代码,它也不能正常工作。

http://docs.geotools.org/latest/userguide/library/jts/combine.html

0 投票
1 回答
662 浏览

java - 在 JavaFx 中使用 JTS 拓扑

我在 jts 拓扑库中有一些多边形。如果我想在 javafx 窗格上绘图,我会这样做:

并获得了额外的四个意想不到的边缘: 在此处输入图像描述

但相同的数据在测试生成器中看起来不错: 在此处输入图像描述

怎么了?遍历几何的顺序?有任何想法吗?

好的,我发现问题的原因是这个多边形有洞。意外线是跳转到此多边形的未连接部分。如何在javafx中绘制带孔的多边形?

0 投票
1 回答
2812 浏览

java - 尝试序列化 JTS 点 - 此方法不支持 GeometryCollection 参数

我正在尝试使用 JTS 库,但在序列化具有 Point 属性的类时遇到了一个奇怪的问题。

下面这个最小的例子给了我例外,但我不明白为什么。我的代码错了吗?我是否对如何使用 JTS 库做出了错误的假设?

0 投票
3 回答
5781 浏览

java - Geometry.getarea() 和 Polygon.getarea() 的单位是什么?

所以我正在处理一组图像,其中角落是地图上的纬度。我正在创建多边形来检查给定图像是否重叠。我需要知道与多边形和几何的 .getarea() 方法相关的单位。我正在使用以下对象来创建我的多边形和几何图形

http://tsusiatsoftware.net/jts/javadoc/com/vividsolutions/jts/geom/Geometry.html#getArea() http://www.vividsolutions.com/jts/javadoc/com/vividsolutions/jts/geom/Polygon .html

当使用上述两个对象时,我得到了一个数字,但是我没有发现与数字相关的单位是什么。那么我们是在说米、公里、英里吗?

我正在使用的坐标样本是 +30.658739 -086.345670、+30.659997 -086.34002、+30.664041 -086.345082、+30.662783 -086.342750 我正在寻找这 4 个点之间的区域。
我从 .getArea() 得到的值是 1.31039680000139E-5 这些点实际上很接近,所以我认为它以米为单位,即 1310.4 米

0 投票
1 回答
2860 浏览

jts - 如何在 Java 中找到多边形和线串的相交边?

我在 java 中使用 JTS 我有一个 Polygon 和一个 LineString ,我可以很容易地找到 LineString 与 Polygon 相交的坐标。

但我需要的是 LineString 与多边形相交的多边形的边缘。是否有任何方法或方法可以返回多边形与 Line 的相交边缘?

0 投票
1 回答
4800 浏览

java - 验证 WKT 格式的几何图形

我是 GIS 领域的新手,我需要在 java 中验证 WKT 格式的几何图形,以检查简单多边形是否为闭环,即顶点的起点和终点应该相同。我目前正在使用 oracle 空间(com.oracle.sdoapi)的 jGeometry 类,获取第一个和最后一个顶点并进行比较。另外,我正在使用 getType() 方法来检查它是否是简单的多边形。以下是正在使用的一段代码:

是否有任何简单的方法可以做到这一点,或者是否有任何可用的 API?如果它已经完成并且易于使用,我不想重新发明轮子。谢谢!

0 投票
1 回答
1382 浏览

android - 将 jts 拓扑套件与 android 一起使用

我尝试使用 eclips 将“jts 拓扑套件”库与 android 一起使用:我使用“构建路径”引用库我编译代码

应用程序在手机上启动,然后它停止我在日志中得到这个

怎么修,谢谢

0 投票
1 回答
975 浏览

solr - Solr 4.5:到路由的距离:排序或过滤

使用 Solr 4.5 和用例是我需要按到给定路线的距离对结果进行排序。使用包含 1 个地理坐标作为 rpt 字段geo(兴趣点的位置)的文档。

这是我的目标的说明:http: //i.imgur.com/lGgMEal.jpg。我想计算从文档到给定路线的最短距离并将其用作提升组件。

当前的尝试是{!score=recipDistance}在模式中使用函数edismax并在 WKT 中将路线描述作为 LineString 发送。这是现在发送的查询:

并以 URI 形式:

我对这种方法的问题是:

  • 距离似乎是从形状(路线)的中心计算的。这意味着我们获得的距离不是到线路,而是到现场。有了这个查询Pt(x=60.027965,y=11.512795)
  • 距离计算的结果似乎是错误的。索引中有 4 个文档,它们按以下顺序排列:

    • (1) 59.7333、7.61283
    • (2) 59.6236、10.7263
    • (3) 59.6238、10.7385
    • (4) 64.12379、22.14029

    当订单应该是:

    • (3) 59.6238、10.7385
    • (2) 59.6236、10.7263
    • (1) 59.7333、7.61283
    • (4) 64.12379、22.14029

您可以在此处查看带有 boost calc 调试的完整结果:pastebin.com/5tvCb0Cf

另一种可行的解决方案可能是按到路线的距离过滤文档(例如:http: //i.imgur.com/EJu8Kcg.jpg)。这可以通过使用似乎在 jTS 和 spatial4j 中都支持的缓冲线来完成。唯一的问题是我如何发送缓冲行作为Intersect函数的输入(像这样:)geo:"Intersects(LINESTRING (59.79619 11.38690, 60.25974 11.63869) d=1)"

这里的解决方案是创建一个自定义搜索组件,该组件将接受作为 LineString 的路由,并将进一步作为 Polygon 或 MuliPolygon 转发查询,但除非必要,否则我宁愿避免开发自定义组件。

我的问题是:

  • 在 Solr 4.5 中是否有可能获得到 LineString 的距离,而不是到形状的中心?
  • 我们可以发送一个缓冲的行作为Intersect函数的输入吗(像这样:)geo:"Intersects(LINESTRING (59.79619 11.38690, 60.25974 11.63869) d=1)"

PS:索引中的字段说明:

字段类型定义:

0 投票
2 回答
1781 浏览

geospatial - 将 JTS Geometry 从 3D 转换为 2D 的最佳方法

我们正在使用 JTS Geometry Suite、GeoTools (ShapefileDataStore) 和 Hibernate Spatial 将具有 3D 坐标的多多边形 Shapefile 导入 o​​racle 空间。在 Oracle Spatial 中,我们希望它们以 2D 形式存储。

我发现的 onyl(而且非常慢)方法如下,使用 WKBWriter 和 WKBReader:

有人知道将几何图形从 3D 转换为 2D 的更有效方法吗?