问题标签 [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.
.net - 用于地理数据、制图的 .NET 库
我们有一个带有地图组件(ASP.NET/SQL Server 2005,Google Maps API)的基于 Web 的应用程序。映射组件正在发展——它最初是一个简单的、不错的功能,并逐渐成为应用程序的基石;所以我们开始需要执行更复杂的映射任务。我试图找出最好的平台是什么。我们需要做的一些例子:
- 读写 KML
- 查找给定点一定距离内的所有点
- 找出哪个多边形包含一个点(例如这个点在哪个省)
- 查找哪个多边形包含给定的多边形(例如该区在哪个省)
- 从其他格式(例如 ArcGIS shapefile)导入数据
- (也许)我们自己提供地图图块,而不是依赖 Gmaps API
其中一些我们已经做了,只是用我们自己的代码。我们将坐标存储为十进制列对,将形状存储为 KML 片段,并在我们自己的代码中实现了一些标准算法(多边形中的点等)。到目前为止,我们还没有依赖任何第三方组件、开源库或空间数据组件,但我想为这些东西找到一个可靠的平台,这个平台经过了很好的测试,会给我们成长的空间。
我正在考虑的一些选项包括:
- 用于记录和查询地理数据的 SQL Server 2008 空间组件
- SharpMap 或 NetTopologySuite 用于在 .NET 代码中操作地理数据
我应该考虑其他选择吗?你有什么建议?
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 之外,我可以传递另一个参数吗?我应该求助于全局变量吗?
c# - 使用 SharpMap 进行 Gis 编程。最后一层覆盖其他层
我刚开始使用 GIS 编程。我想建立一个简单的网站,上面有地图。所以,我选择 C# 和 SharpMap 作为地图库。一切正常,直到我从形状文件中添加许多图层。我添加的最后一层是我看到的唯一一层。这是我的代码的一部分:
所以layCountry是我看到的唯一一个。当我将最后两行更改为:
newLay 是唯一的一个。任何帮助表示赞赏。感谢您阅读本文,并为我的英语不好感到抱歉。
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 地理行相交。
有任何想法吗 ?
gis - BruTile 入门
请问有没有关于如何开始使用 BruTile 的文档?
我目前正在使用 SharpMap,我需要预先缓存切片以加快进程
c# - 在 SHARPMAP 中创建新图层
我正在研究Sharpmaps,假设我有一张美国地图,如何在地图上添加新图层?
因为我需要在基本层上写下状态的名称,并用不同的颜色为每个状态着色。是否有可能在 Sharpmaps 中实现这一目标......?
rpm - RPM-Build - 如何在客户端安装 rpm 时打印错误消息
我的要求是,如果 rpm 安装在任何情况下在客户端机器上失败,我想在屏幕上打印一些消息。或者由于任何生成的原因,在屏幕上显示消息,如 rpm 安装失败。就像其他标准 rpm 给出的那样。
而且我没有在我的 .spec 文件中制作任何 c 文件或 make 命令。我在规范文件本身中所做的一切。请建议如何使用规范文件在客户端控制台中打印这种类型的东西。
是的,这不是我关心的——测试我只给出了示例。我的 excet 要求低于规范文件内容。
然后我尝试使用命令卸载 rpm
输出:这两条消息都是根据服务状态打印的。我想如果客户端使用选项-v卸载然后它会在屏幕上显示消息,否则不会。我怎样才能做到这一点?
c# - SharpMap 使用 GeoAPI.Geometries 选择几何
您好我正在尝试创建一个函数,该函数将选择图层几何形状并更改其颜色或突出显示它。
我找到了这个FindGeoNearPoint
函数,但它处理的是旧SharpMap.Geometries
的 whih 不再存在,并已被 GeoAPI.Geometries 取代。
如何更改FindGeoNearPoint
函数以使用 GeoAPI
这是我的尝试
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 包含连接字符串、实体框架配置部分和实体框架连接工厂
所以我的问题是:
- 为什么会这样?
- 我能做些什么来阻止它?(如果没有,有没有比 Program.cs 更好的地方来存放 hacky 代码)
感谢阅读,如果我不清楚,请让我澄清。
c# - 随机错误:试图读取或写入受保护的内存
我们有一个使用 WCF 服务的 C# .Net 应用程序。并且该应用程序部署在我们的生产服务器中的 Windows 服务应用程序下。该模块的一部分负责为工人今天将要工作的较小区域创建形状文件((*.shp,*.dbf)并将它们发送到PDA。
要编写形状文件,我们使用第三方 dll,NetTopologySuite
这也在 C# 中。(我不确定它引用 的任何 dll 是否使用非托管代码。)系统可能会在一段时间内正常工作,比如一周。然后突然我们得到一个例外说
来自 Write 方法,我们将几何集合写入形状文件。
(GeometryCollection 也来自第三方 dll,GeoAPI.dll)
此错误会导致整个服务中断并使其无法正常工作。然后我们将重新启动服务并尝试再次运行相同的数据,它会再工作一周,直到它再次崩溃。它仅在生产中和随机时间发生。我们无法找到问题的原因。
许多论坛建议这可能是因为某些非托管代码中的内存泄漏。但我们找不到哪一个。
我们还准备重写创建新形状文件的部分。请帮我解决这个问题。如果需要更多详细信息,请告诉我。提前致谢。