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

标签 .net asp.net gis geospatial sharpmap

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

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

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

    我正在考虑的一些选项包括:
  • 用于故事和查询地理数据的 SQL Server 2008 空间组件
  • SharpMap 或 NetTopologySuite 用于在 .NET 代码中操作地理数据

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

    最佳答案

    启用空间的数据库非常适合您问题中的“查找”任务。由于您已经在使用 SQL 服务器,因此合理的选择是转到 2008 年,以便获得空间扩展。

    Oracle 和 PostGreSQL 也有很好的空间扩展。 MySQL 没有。

    关于用于地理数据、制图的 .NET 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5844998/

    相关文章:

    c# - 我应该处理哪些异常(exception)情况

    c# - 在具有 32 个以上逻辑内核的系统上使用 Process.ProcessorAffinity

    c# - SignalR - 检查用户是否仍然连接

    c# - 如何在.cs中的特定时间执行javascript?

    gis - 使用geotools api的WGS84 crs中线段和点之间的最短距离

    .net - 初始化和分区磁盘 - 如何防止出现 "you need to format disk"消息?

    java - 如何在 Windows 中查看 Apache Parquet 文件?

    c# - 高效的数据表分组依据

    javascript - Geojson 文件未显示在 D3.js 中

    r - 如何剪裁或裁剪或大白填充。使用ggplot2在多边形外部扩展(10%)矩形