问题标签 [nettopologysuite]

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 回答
2691 浏览

c# - 使用 NetTopologySuite TransformGeometry 时出错

我正在尝试将具有英国北/东坐标系(BritishNationalGridOSGB36)的shapefile读入纬度/经度(WGS1984)。我在这里找到了一篇关于如何使用 NetTopologySuite 执行此操作的优秀帖子。shapefile 的读取工作正常,但在加载期间转换地理时遇到问题。

我已将问题归结为 NetTopologySuite TransformGeometry 方法。如果我使用 DotSpatial ReprojectPoints 转换一个点,它可以正常工作(一旦我对 BritishNationalGridOSGB36 有了正确的定义,请参阅此处以获取有关此内容的有用帖子)。但是 NetTopologySuite 的 TransformGeometry 给了我一个错误的答案。答案在两个方面是错误的

  1. 它在经度中有纬度值(应该是-0.095399303)
  2. 纬度是 181560(应该是 51.517489)

我想使用 NetTopologySuite 的 TransformGeometry,因为它比解开每个坐标并更改它更好地处理几何。我也认为我一定做了一些愚蠢的事情,所以我想修复它并学习。

这是我的 NUNIT 测试代码。

第一个测试通过,第二个测试在两个 ShouldEqualWithTolerance 测试中均失败。

您的帮助将不胜感激。

0 投票
1 回答
611 浏览

c# - 为什么从点映射到多边形时,sharpmap 返回不一致的结果?

我正在使用一个 shapefile(shp),它有一个名为“ID”的附加字段。shapefile 很干净,没有任何重叠的多边形。当我将此 shapeFile 传递给以下函数时,我不断得到不一致的结果。(对于同一组经纬度,返回的 Id 并不总是相同的)。

我最初怀疑有多个正在匹配的多边形,并且 FirstOrDefault 导致我得到不同的结果,但似乎也不是这样,因为当我在这个函数中放置一个断点时,我总是在 matchRowIds 中只有一个条目.

我做错了什么/有没有更好的方法来从 shapefile 中获取包含给定点的多边形?

注意:我使用的是 sharpMap v1.0.4.1

0 投票
0 回答
617 浏览

c# - 查找经纬度位置是否在 esri shapefile 中的形状中

我正在尝试在一个简单的控制台应用程序中使用 Net Topology Suite (v 1.13.2) 来查找包含道路信息的形状文件中的点。

我已经加载了形状文件并将数据存储在一个类型化的列表中,并且我检查了数据是否符合预期..

当我遍历列表时,我想查找给定点是否在形状文件中的任何形状内。

听起来很简单!

我的代码看起来像;

这些陈述或我尝试过的任何其他陈述都没有返回任何指示该点位于任何形状内的指示。

我正在尝试从文件中的一个形状中挑选的经纬度!所以它应该在那里。

关于我哪里出错的任何想法?

@Habib,我已经检查过了,几何类型是 LineString,但是信封被定义为多边形。

我查看了您发送的链接,下面是新代码;

尝试按照那里的指示进行操作,但我得到的关于我选择的点与线之间的距离的答案是 71.236662957979718。

71.236662957979718 什么?厘米,米,度???

无论如何,很奇怪,因为我在其中一条线上选择了一个点,所以我希望答案为 0。

0 投票
3 回答
5720 浏览

c# - 将 NetTopologySuite FeaturesCollection 序列化为 GeoJSON 时遇到问题

试图返回一些非常简单的 GeoJSON 数据。我找到了 NetTopologySuite,并设置了一个简单的 FeaturesCollection,并尝试将其序列化为 GeoJson 字符串,结果却出现以下错误:

“检测到类型为‘GeoAPI.Geometries.Coordinate’的属性‘CoordinateValue’的自引用循环。路径‘Features[0].Geometry.Coordinates[0]’。”

查看类标题,Point 使用 Coordinate,它确实具有 Coordinate 属性,因此我可以看到为什么会有循环引用。问题是,大多数(如果不是全部)几何似乎都使用点,所以这将使得不可能序列化任何东西......除非我错过了一些东西。

那么这是一个错误还是我错过了什么?

仅用一个点进行测试并得到相同的错误,所以这里是代码:

0 投票
0 回答
71 浏览

geo - Point.Empty.Equals(Point.Empty) == false // 为什么?

使用 NetTopologySuite,这些表达式是错误的:

调试表明此行为是由

我想知道这背后的原因是什么。据推测,这种行为也发生在相关库(jts、GEOS)中,我还假设地理代数内部人员知道这是有道理的。有人可以解释吗?

0 投票
1 回答
2070 浏览

c# - SharpMap:创建和编辑几何图形

我正在一个项目中使用Sharpmap,我们正在显示信息,但也需要创建和编辑。我有展示信息的经验,但我需要一些关于创建和编辑的建议。

我正在使用 1.1.0 版本的 Sharpmap 和所有补充工具、GeoAPI、NetTopologySuite 等,以及 C#。

我正在处理我的几何元素,例如数据库中的点,在我的应用程序中,我将它们转换为用于查看的多边形和用于创建的线(线串)。

从坐标列表中,我正在绘制一个几何图形,而这个完整的元素需要移动、旋转和翻转,我该如何实现呢?

欢迎所有帮助,谢谢。

0 投票
2 回答
4565 浏览

.net - 使用 NetTopologySuite 从点集合创建多边形

从点列表创建多边形的最佳方法是什么?

我有一个点数组,如果点至少为 3,我想加入创建一个多边形

我想我离解决方案还很远。你可以帮帮我吗?

0 投票
1 回答
1526 浏览

c# - 如何在 C# 中读取地理栅格

我正在寻找一种“干净”的方式将栅格加载到我的 c# 代码中。我所说的栅格是指 QGis 或 ArcGis 能够加载的任何(或至少一些)XYZ 文件:.tif、.rrd ...

我正在使用NetTopologySuite. 这个库非常适合 shapefile,这让我觉得可能有一个光栅阅读器。我一直试图将我的研究集中在NetTopologySuite.IO包含很多读者的命名空间下。

我已经标记了这篇文章,NetTopologySuite希望一些精通 c# 的人比我更了解这个特定的库。

0 投票
1 回答
1482 浏览

c# - 如何确定使用 ShapefileDataReader 设置的 shapefile 的坐标系

我有以下代码来读取 shapefile 集(.dbf、.prj、.shp、.shx)NetTopologySuite.IO.ShapefileDataReader

这可行,但几何对象没有属性来告诉坐标所在的参考系统。

如何找出形状文件或单个形状所在的坐标系/参考系?

0 投票
2 回答
12384 浏览

c# - 将 GeoJSON 响应转换为 FeatureCollection

您好我正在尝试使用 GeoJson.Net 将来自 OSM Web 服务的响应解析为特征集合

我是 GeoJSON 的新手,无法确定如何操作:

Json 响应可以在这里找到。我写的代码是:

但这将是普通的 JSON 解析,并且可能有更好的方法来解析它。

我也尝试过NetTopologySuite JSON 扩展,但是当我使用以下代码时,它给了我异常

“未找到预期的令牌‘类型’。”