GMap.NET + C# + postgreSQL 没有互联网连接
GMap.NET + C# + postgreSQL without Internet connection
我有一个使用 GMap.NET 的 C# 桌面应用程序,它很棒,但我的应用程序必须在没有 Internet 的情况下运行。我想,GMap.NET.
我需要有点 PostgreSQLProvider
所以我为俄罗斯联邦下载了一个 .osm 文件,创建了一个带有 postGIS 扩展名的 postgresql 数据库,然后执行了用 osm2po 生成的查询(它很大:1,2 Gb)
现在我有了一个数据库,可以用QGis可视化。我想在我的 C# 应用程序中可视化此数据库地图以处理用户鼠标按钮单击并在地图上绘制一些对象。
我该怎么做?也许我应该使用另一个框架?我需要从地图中获取鼠标按钮单击处理函数中的地标并在地图上绘制对象。
我发现问题出在.osm2po 为我生成矢量图,但GMap 仅可视化栅格。解决方案是使用另一个框架,例如 SharpMap,它可以处理来自数据库的矢量地图。
当然,我可以自己写一个GMap的PgSQLProvider,但是我只有一个月的时间,还有很多其他的作品。
您可以使用 GMAP.NET 的演示版预取您想要的地图。然后抓取预取生成的数据库并在您的应用程序中使用它。它位于
C:\Users\USERNAME\AppData\Local\GMap.NET\TileDBv5\en\Data.gmdb
数据库在 SQLite 中,但我认为您可以将其转换为您想要的任何 DBMS。
我有一个使用 GMap.NET 的 C# 桌面应用程序,它很棒,但我的应用程序必须在没有 Internet 的情况下运行。我想,GMap.NET.
我需要有点 PostgreSQLProvider所以我为俄罗斯联邦下载了一个 .osm 文件,创建了一个带有 postGIS 扩展名的 postgresql 数据库,然后执行了用 osm2po 生成的查询(它很大:1,2 Gb)
现在我有了一个数据库,可以用QGis可视化。我想在我的 C# 应用程序中可视化此数据库地图以处理用户鼠标按钮单击并在地图上绘制一些对象。
我该怎么做?也许我应该使用另一个框架?我需要从地图中获取鼠标按钮单击处理函数中的地标并在地图上绘制对象。
我发现问题出在.osm2po 为我生成矢量图,但GMap 仅可视化栅格。解决方案是使用另一个框架,例如 SharpMap,它可以处理来自数据库的矢量地图。 当然,我可以自己写一个GMap的PgSQLProvider,但是我只有一个月的时间,还有很多其他的作品。
您可以使用 GMAP.NET 的演示版预取您想要的地图。然后抓取预取生成的数据库并在您的应用程序中使用它。它位于
C:\Users\USERNAME\AppData\Local\GMap.NET\TileDBv5\en\Data.gmdb
数据库在 SQLite 中,但我认为您可以将其转换为您想要的任何 DBMS。