GMap.NET + C# + postgreSQL без подключения к Интернету

У меня есть настольное приложение на C# с использованием GMap.NET, и это здорово, но мое приложение должно работать без Интернета. Я подумал, что мне нужен какой-то PostgreSQLProvider для GMap.NET.

Итак, я загрузил файл .osm для Российской Федерации, создал базу данных postgresql с расширением postGIS, а затем выполнил запрос, который был сгенерирован с помощью osm2po (огромный: 1,2 Гб)

Теперь у меня есть база данных, которую можно визуализировать с помощью QGis. Я хочу визуализировать эту карту базы данных в своем приложении C#, чтобы обрабатывать щелчки кнопок мыши пользователя и рисовать некоторые объекты на карте.

Как я могу это сделать? Может быть, я должен использовать другой фреймворк? Все, что мне нужно от карты, это получить метки в функции обработчика нажатия кнопки мыши и нарисовать объекты на карте.


person Alexander Pakhomov    schedule 04.05.2015    source источник


Ответы (2)


Вы можете предварительно загрузить нужные карты с помощью демо-версии GMAP.NET. Затем возьмите базу данных, сгенерированную предварительной выборкой, и используйте ее в своем приложении. он расположен в

C:\Users\ИМЯ ПОЛЬЗОВАТЕЛЯ\AppData\Local\GMap.NET\TileDBv5\en\Data.gmdb

База данных находится в SQLite, но я полагаю, что вы можете преобразовать ее в любую СУБД, какую захотите.

person Nate S.    schedule 05.05.2015
comment
Спасибо за ответ. но я думаю, что кешированная информация, которая используется для отображения и только недавно... - person Alexander Pakhomov; 06.05.2015

Я нашел, где проблема в том, что osm2po генерирует для меня векторную карту, но GMap визуализирует только растр. Решение состоит в том, чтобы использовать другой фреймворк, такой как SharpMap, который может работать с векторными картами из базы данных. Я, конечно, могу написать свой PgSQLProvider для GMap, но у меня всего месяц и еще много других работ.

person Alexander Pakhomov    schedule 05.05.2015