问题标签 [sharpmap]

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 投票
3 回答
1034 浏览

.net - 用于地理数据、制图的 .NET 库

我们有一个带有地图组件(ASP.NET/SQL Server 2005,Google Maps API)的基于 Web 的应用程序。映射组件正在发展——它最初是一个简单的、不错的功能,并逐渐成为应用程序的基石;所以我们开始需要执行更复杂的映射任务。我试图找出最好的平台是什么。我们需要做的一些例子:

  • 读写 KML
  • 查找给定点一定距离内的所有点
  • 找出哪个多边形包含一个点(例如这个点在哪个省)
  • 查找哪个多边形包含给定的多边形(例如该区在哪个省)
  • 从其他格式(例如 ArcGIS shapefile)导入数据
  • (也许)我们自己提供地图图块,而不是依赖 Gmaps API

其中一些我们已经做了,只是用我们自己的代码。我们将坐标存储为十进制列对,将形状存储为 KML 片段,并在我们自己的代码中实现了一些标准算法(多边形中的点等)。到目前为止,我们还没有依赖任何第三方组件、开源库或空间数据组件,但我想为这些东西找到一个可靠的平台,这个平台经过了很好的测试,会给我们成长的空间。

我正在考虑的一些选项包括:

  • 用于记录和查询地理数据的 SQL Server 2008 空间组件
  • SharpMap 或 NetTopologySuite 用于在 .NET 代码中操作地理数据

我应该考虑其他选择吗?你有什么建议?

0 投票
1 回答
1972 浏览

asp.net - 在 ASP.NET 中为 Shapefile 贴图着色

我有一张马里兰州的 Shapefile 地图,用邮政编码分隔。我想做的是根据我在数据库中查找的值为每个区域着色。目前,我正在使用带有 SharpMap 包的 ASP.NET。基本问题是:

1)如何将形状与其邮政编码相关联? 我可以使用 SharpMap 的 ExecuteIntersectionQuery 生成邮政编码列表,并将 BoundingBox 设置为地图的范围,但我不知道如何将结果表的每一行与其代表的形状连接起来。

2)一旦我可以访问单个形状并知道我想要什么颜色,我如何将颜色分配给形状? 在 SharpMap 中,我可以为 VectorLayer 着色,但 VectorLayer 是从源 .shp 文件生成的,而不是形状。

我愿意使用除 SharpMap 之外的其他免费地图包(所以没有 ArcGIS),但出于法律原因,我不能使用 GoogleMaps。

我觉得这应该是相对简单的,但是试图为 SharpMap 找到任何像样的资源是相当困难的。

编辑:好吧,我只是通过阅读有哪些文档来完成很多过程。通过设置 ShapeFile 的 FilterDelegate,我可以使图层仅包含邮政编码与某个值匹配的行。现在我唯一的问题是让委托过滤器每次都寻找不同的邮政编码。除了 FeatureDataRow 之外,我可以传递另一个参数吗?我应该求助于全局变量吗?

0 投票
1 回答
4857 浏览

c# - 使用 SharpMap 进行 Gis 编程。最后一层覆盖其他层

我刚开始使用 GIS 编程。我想建立一个简单的网站,上面有地图。所以,我选择 C# 和 SharpMap 作为地图库。一切正常,直到我从形状文件中添加许多图层。我添加的最后一层是我看到的唯一一层。这是我的代码的一部分:

所以layCountry是我看到的唯一一个。当我将最后两行更改为:

newLay 是唯一的一个。任何帮助表示赞赏。感谢您阅读本文,并为我的英语不好感到抱歉。

0 投票
1 回答
1363 浏览

arcgis - ARCGIS 平铺到坐标

我正在尝试开发自己的地图服务,然后将生成的图像显示到 ARCGIS 地图查看器中......无论如何,我的 *.ashx 服务读取 ARCGIS Tile URL 看起来像“http://services.arcgisonline.com/ArcGIS/rest/services /NGS_Topo_US_2D/MapServer/tile/1/1/2"

我想将 (Zoom/TileX/TileY) 的值从上面的 url 转换为 Pixel 或 BoundingBox USING SRID 4326

BoundingBox 值不应超过 (-180,-90) 到 (180,90) 之间的 Max/Min 值。

我正在使用 Bbox,然后将其传递给我的存储过程,女巫与一些 SQL 地理行相交。

有任何想法吗 ?

0 投票
2 回答
2486 浏览

gis - BruTile 入门

请问有没有关于如何开始使用 BruTile 的文档?

我目前正在使用 SharpMap,我需要预先缓存切片以加快进程

0 投票
2 回答
4381 浏览

c# - 在 SHARPMAP 中创建新图层

我正在研究Sharpmaps,假设我有一张美国地图,如何在地图上添加新图层?

因为我需要在基本层上写下状态的名称,并用不同的颜色为每个状态着色。是否有可能在 Sharpmaps 中实现这一目标......?

0 投票
2 回答
10876 浏览

rpm - RPM-Build - 如何在客户端安装 rpm 时打印错误消息

我的要求是,如果 rpm 安装在任何情况下在客户端机器上失败,我想在屏幕上打印一些消息。或者由于任何生成的原因,在屏幕上显示消息,如 rpm 安装失败。就像其他标准 rpm 给出的那样。

而且我没有在我的 .spec 文件中制作任何 c 文件或 make 命令。我在规范文件本身中所做的一切。请建议如何使用规范文件在客户端控制台中打印这种类型的东西。


是的,这不是我关心的——测试我只给出了示例。我的 excet 要求低于规范文件内容。

然后我尝试使用命令卸载 rpm

输出:这两条消息都是根据服务状态打印的。我想如果客户端使用选项-v卸载然后它会在屏幕上显示消息,否则不会。我怎样才能做到这一点?

0 投票
0 回答
4788 浏览

c# - SharpMap 使用 GeoAPI.Geometries 选择几何

您好我正在尝试创建一个函数,该函数将选择图层几何形状并更改其颜色或突出显示它。

我找到了这个FindGeoNearPoint函数,但它处理的是旧SharpMap.Geometries的 whih 不再存在,并已被 GeoAPI.Geometries 取代。

如何更改FindGeoNearPoint函数以使用 GeoAPI

这是我的尝试

0 投票
2 回答
6277 浏览

c# - SharpMap 和实体框架:动态程序集中不支持调用的成员

我在自定义“地图小部件”组件中使用清晰的地图。为了填充地图,我想使用实体框架,它位于单独的 DLL 中。如果我创建地图然后获取数据,这很好。

但是,如果我先获取数据,然后制作地图,事情就会中断:

结果是

这到底是怎么回事?为什么要先使用实体​​框架破坏它?

为了解决这个问题,我将它添加到 program.cs 中,以强制首先加载小部件。

但是,我不喜欢它——它看起来很脆弱,我不喜欢“巧合编码”。有什么我可以解决的吗?

笔记:

我发现这篇博文:http ://elegantcode.com/2010/01/28/the-entity-framework-and-the-the-invoked-member-is-not-supported-in-a-dynamic-assembly-异常/ 我将域程序集添加到 connectionString

我的项目结构是这样的:

仪表板.exe

  • App.Config 包含连接字符串
  • 参考 SharpMap
  • 引用域.dll
  • 包含 MapWidget

域.dll

  • 包含 DomainModel 和 Services
  • 使用实体模型进行持久化
  • App.config 包含连接字符串、实体框架配置部分和实体框架连接工厂

所以我的问题是:

  1. 为什么会这样?
  2. 我能做些什么来阻止它?(如果没有,有没有比 Program.cs 更好的地方来存放 hacky 代码)

感谢阅读,如果我不清楚,请让我澄清。

0 投票
5 回答
3973 浏览

c# - 随机错误:试图读取或写入受保护的内存

我们有一个使用 WCF 服务的 C# .Net 应用程序。并且该应用程序部署在我们的生产服务器中的 Windows 服务应用程序下。该模块的一部分负责为工人今天将要工作的较小区域创建形状文件((*.shp,*.dbf)并将它们发送到PDA。

要编写形状文件,我们使用第三方 dll,NetTopologySuite

这也在 C# 中。(我不确定它引用 的任何 dll 是否使用非托管代码。)系统可能会在一段时间内正常工作,比如一周。然后突然我们得到一个例外说

来自 Write 方法,我们将几何集合写入形状文件。

(GeometryCollection 也来自第三方 dll,GeoAPI.dll)

此错误会导致整个服务中断并使其无法正常工作。然后我们将重新启动服务并尝试再次运行相同的数据,它会再工作一周,直到它再次崩溃。它仅在生产中和随机时间发生。我们无法找到问题的原因。

许多论坛建议这可能是因为某些非托管代码中的内存泄漏。但我们找不到哪一个。

我们还准备重写创建新形状文件的部分。请帮我解决这个问题。如果需要更多详细信息,请告诉我。提前致谢。