问题标签 [geoapi]

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

c# - 由“NHibernate.Spatial.Type.GeometryType”处理的“GeoAPI.Geometries.IGeometry”不可序列化

我们正在使用几个使用 NHibernate 的 Web 应用程序连接到 PostGIS 服务器。我们的日志文件充满了这个警告:

我用谷歌搜索过,看到很多其他人报告了同样的问题,但我没有找到任何解决方案。

我什至不确定这是 NHibernate 还是 GeoAPI 的问题。

任何帮助深表感谢。

0 投票
1 回答
143 浏览

google-maps - 返回区域多边形的地名词典?

是否有一个地理 API,我可以使用区域名称查询并接收代表给定区域边界的多边形?某种形式的地名词典,它返回一个多边形而不是纬度/经度坐标。

例如,如果我搜索“Santa Barbara”,我想返回下图中看到的多边形坐标数组。在此处输入图像描述

0 投票
1 回答
2037 浏览

c# - 如何使用 Geo API (Sharpmap) 获取几何点

我有一个 EPSG:4326 WGS 84 Shapefile,我已经将它转换为 Sql 空间数据,我可以使用 Sharpmap 1.1(以前使用 Sharpmap 0.9)来渲染地图。

我想要实现的是当我点击生成的多边形时,点击的多边形必须填充颜色(用于识别目的)所以我能够得到我点击的点但是如何使用那个点和查询对于该多边形内的所有点,以便我可以为所有可能导致为所有多边形着色的点着色。

问题是我不知道如何在Sharpmap 1.1 版中执行此操作。

以前当我使用 Sharpmap 0.9 时,我使用下面的行来获取所有点来为整个多边形着色。

pointArray.Collection.Add(SharpMap.Geometries.LinearRing.GeomFromWKB((byte[])Row["the_geom"]));

我的数据来自 Sql Spatial DB,因此来自 Row["the_geom"]。

到目前为止,我已经做到了。(仅突出显示点并且需要将点添加到 Geo API 集合中)

任何想法/帮助都会让我开心。

0 投票
1 回答
751 浏览

c# - SharpMap WMTS / TMS 服务器实现

谁能帮我在 SharpMap 中实施 WMTS / TMS 服务器?

我一直在尝试从差异来源进行很多尝试,但我似乎无法提出一个可行的解决方案。下面是我正在使用的处理程序,它只是绘制框而不是数据库中的数据。我正在使用与 WMS 服务器相同的方法:

从 SQL Server 获取数据,它对 WMS 工作得很好。唯一的区别是下面的那个通过使用.FindAll(lyr => lyr.Table.Equals(layer))查询返回一个特定的层而不是一个列表。

如果我只是提出创建代码可能会有所帮助SharpMap.Map

0 投票
1 回答
3877 浏览

c# - NettopologySuite 和 Dotspatial WKTReader

所以我有一堆 WKT 代表一个多边形。我专门使用 DotSpatial 来操纵几何图形。具体来说,我正在尝试从我的 WKT 中获取 DotSpatial.Topology.IGeometry。

不幸的是,DotSpatial 家伙最近将很多东西移到了 NetTopologySuit 中,这就是他们的 WKTreader 所在的地方。

但是读者会传回一个 GeoAPI.Geometries.IGeometry,您不能只将其转换为 DotSpatial.Topology.IGeometry,因为它们不是同一个类。实际上,我不得不在三个不同的 API(DotSpatial、GeoAPI 和 NetTopologySuite)之间转换本质上相同的类,这让我有点恼火,这些 API 都具有类似的名称相似的类。

我想做的就是从众所周知的文本中提取 DotSpatial.Topology.IGeometry 。具体来说,它是我正在使用的 MultiPolygon,但无论如何。

我真的不想有一些很棒的条件或选择语句来弄清楚如何处理 GeoAPI IGeometry 类,以便我可以使用它。我已经有一个大型转换器类,用于将各种几何类转换为 dotSpatial,我宁愿完全摆脱它。更少的代码是更好的代码。

任何人都可以协助将 GeoAPI.Geometries.IGeometry 转换为 DotSpatial.Geometries.IGeometry 吗?我不能只转换它,因为我收到以下错误:无法将类型为“NetTopologySuite.Geometries.MultiPolygon”的对象转换为类型“DotSpatial.Topology.IGeometry”。

有任何想法吗?

在此先感谢,

0 投票
1 回答
1431 浏览

.net-core - NetTopologySuite 将多多边形压缩为多边形

我在 aspnetcore 工作,使用最新的 GeoAPI 和 NetTopologySuite 版本作为核心。我正在尝试做的事情应该相当简单,但我似乎无法通过谷歌搜索找到正确的方法。或者说实话,这让谷歌搜索变得更加困难。

希望有人能把我踢向正确的方向。

我有一个多面体,它可能由一个或多个多边形组成。我想围绕该多面体的点创建一个缓冲区,直到 X 距离。这基本上是具有同心兴趣区域的地图叠加层。给定的兴趣点可能落在原始多多边形的形状中……或者它可能落在第一个或第二个缓冲区中。有点像洋葱,如果洋葱的核心有随机的形状。

第一部分很简单。只需迭代多边形的点并使用 buffer 方法将缓冲区应用于每个点:

没关系。但它给了我另一个由数千个点组成的多面体。当我将它用作地图叠加层时,我会在原始形状的模糊轮廓之后得到一个圆圈的飓风,有点像螺旋图绘图。我想要的基本上是所有缓冲区圆的外边界,没有中心的所有点。

我尝试在多面体上做一个 ConvexHull ,起初它看起来是正确的,直到我意识到它正在削减外部的角度,以便获得所有这些点适合的最小多边形(这毕竟是凸包所做的)。但这会导致我覆盖的内容出现问题。一些兴趣点可能在实际缓冲区之外,但如果凸包决定修整该区域的颠簸区域,则在内部。(我希望这是有道理的)。

基本上,我要做的是将由所有这些缓冲点组成的多多边形并将其压缩成一个由缓冲区的所有最外边界组成的单个多边形。但是中间没有所有的螺旋计垃圾。我真的不想要一个 ConvexHull。我也尝试过 Union 和 GeometryCombiner 类,但这些都不是我想要的。

我不知道这是否有助于使泥浆更清晰,但是 QGIS 中有一个设置,当你向下打两个圆圈并且圆圈会重叠时,它们会像肥皂泡一样组合成一个大斑点,并且它们之间的边界消失了。这就是我试图通过代码做的事情。

那有意义吗?任何人都可以帮忙吗?

0 投票
1 回答
422 浏览

coordinate-systems - 使用 Mapsui,如何为从 shapefile prj 文件读取的坐标系创建一个新的转换类?

如何使用从 prj 文件读取源坐标系统的 ProjNet4GeoAPI 创建与 MapSui.Projections.ITransformation 接口兼容的新转换类。

从 Mapsui 源代码中,有一个 MinimalTransformation 实现了 ITransformation 接口,用于在 SphericalMercator 和 WGS84 之间进行转换。

来自 Mapsui 文档:开箱即用的 Mapsui 对投影的支持是有限的。MinimalProjection 类仅在 SphericalMercator (EPSG:3857) 和 WGS84 (EPSG:4326) 之间进行投影。但是,可以创建自己的转换。您需要实现 ITransformation 接口。在此实现中,您需要使用其他一些投影库。推荐一个是ProjNet4GeoAPI

我可以使用 ProjNet4GeoAPI 创建一个工作转换类,但它实现 GeoAPI.CoordinateSystems.Transformations.ICoordinateTransformation 而不是 Mapsui.Projection.ITransformation

如何在 Mapsui 中使用 ICoordinateTransformation 类?我是否在 Mapsui.Projection 中创建了一个像 SphericalMercator 这样的投影类(参见下面的代码)?

来自 Mapsui.Projection:

源代码:https ://github.com/garykindel/ShapefileProjectionDemo 使用 Mapsui 2.0.0-beta.22 nuget 包,我从 master 手动构建 Mapsui.desktop.dll。

0 投票
1 回答
830 浏览

android - 找不到 GeoApiContext 和 DirectionsApiRequest

在我的 Android 应用程序中使用这两个类需要哪些依赖项?下面是我当前的 build.gradle 文件:

但是,我仍然收到“无法解析符号:GeoApiContext”和“无法解析符号:DirectionsApiRequest”。

我添加了 Google Maven 存储库,但没有运气:

谢谢你的热心帮助。

0 投票
0 回答
20 浏览

vue.js - 如何使用 vuejs 和 axios 在文档 geo.api.gouv 中找到带有空格或口音的城市?

我使用这个 API: https ://geo.api.gouv.fr/decoupage-administratif/communes 它工作得非常好,但问题是如果我正在搜索一个城市(公社),比如:“Saint-Étienne”我有准确地写“圣艾蒂安”。我想找到这个城市,例如没有空格:“saint étienne”或口音:“saint etienne”。在文档中它很好。但是在我使用 Axios 的 Vue.Js 项目中,我找不到解决方案。v-select 需要准确的书写。

这是输入:

方法 :

手表 :

数据 :

调用 API:

如何找到文档中带有空格或口音的城市?