com.vividsolutions.jts.geom.geometry 类中的距离单位是什么?

2022-09-04 21:18:02

我们的 VB.NET 项目正在使用Vivid Solutoins(com.vividsolutions.jts.geom.Geometry)的Java库来进行几何计算。帮助在这里:http://tsusiatsoftware.net/jts/javadoc/com/vividsolutions/jts/geom/Geometry.html

我无法弄清楚的是特定于Buffer属性的单位,或者任何其他距离。我的程序正在处理海里,文档没有指示单位是否是度,英里,海里,公里,英寸等。

有没有人使用这个库谁知道答案?提前致谢。


答案 1

首先,我不知道这个API,我刚刚浏览了你给出的链接。

Javadocs for Coordinate来看,它说:

[坐标是一个]轻量级类,用于在二维笛卡尔平面上存储坐标。它与 Point 不同,Point 是 Geometry 的一个子类。与 Point 类型的对象(包含其他信息,如包络、精度模型和空间参考系统信息)不同

因此,几何图形本身似乎没有单位,但 Point(其子类)具有单位,您可以指定它们。

如果 Geometry 类本身没有任何单位,而只是表示任何特定坐标系中空间中某个点的概念,我不会感到惊讶。


答案 2

这是一篇旧帖子,但对于其他任何正在寻找的人来说,这是答案,因为令人难以置信的是,java文档没有说明该方法返回的单位。返回的距离以中心角度度为单位。然后,可以使用任意数量的公式转换为所需的度量单位。最简单的方法是转换为弧度。1 弧度 = 180 度除以 pi (rad=180deg/pi)。从那里,您可以将弧度乘以您选择的单位(例如6371公里)的地球平均半径,以获得两点之间的距离。也可以使用更准确的方法,但您可以在网上查找它们。


推荐