WFS (служба веб-функций) для ASP.NET MVC / C # - PullRequest
9 голосов
/ 09 марта 2011

Базовая версия: Существует ли облегченная библиотека C # /. NET, которую можно использовать в приложении ASP.NET MVC для обслуживания запросов WFS?

Подробная версия: Мы разрабатываем приложение C # ASP.NET MVC, которое расположено поверх базы данных Sql Server 2008 с некоторыми базовыми геопространственными данными.Мне нужно иметь возможность отображать карту с нашими простыми точечными / линейными объектами (объектами БД) на фоне карты в браузере.План состоит в том, чтобы использовать OpenLayers для рендеринга карты.Фоновая карта предоставляется сторонней организацией с помощью WMS, поэтому я знаю, что могу подключиться и отобразить это ОК.

Проблема, с которой я столкнулся, заключается в том, что данные, которые мы хотим показать на карте, необходимо отфильтроватьпользователем (в настоящее время он отображается в табличной форме).Похоже, мне действительно нужно предоставить службу WFS, чтобы позволить пользователю фильтровать данные для отображения на карте.

Существует ли легкий (и в идеале бесплатный) компонент C #, который может это делать?У меня была короткая игра с SharpMap , которая в значительной степени подходит для наших нужд, но, хотя я могу использовать ее для рендеринга карты и наших данных, я не смог выяснить, как применять фильтры (которыебудет варьироваться запрос к запросу) к предоставленным данным.В качестве альтернативы у кого-нибудь есть другие предложения?

Я стараюсь по возможности избегать использования полноразмерных геосерверов (например, GeoServer, MapServer и т. Д.), Поскольку наши требования довольно просты, и у нас есть различная инфраструктураограничения.

Заранее спасибо!

Ответы [ 2 ]

3 голосов
/ 24 марта 2011

Не совсем ответ на вопрос, как я его поставил в заголовке, но я нашел решение своей проблемы, которое, надеюсь, поможет другим.

Вместо того, чтобы пытаться реализовать службу WFS, я просто реализовал контроллер, который возвращает легкие GeoJSON объекты. Это позволяет моему контроллеру использовать механизмы фильтрации / запросов, которые я использую в других местах моей системы. GeoJSON хорошо работает с OpenLayers.

Мне пришлось реализовать простой код для сериализации SqlGeography в GeoJSON. Я пытался использовать SqlGeography.AsGml(), но поддержка OpenLayers для GML не кажется слишком продвинутой.

Надеюсь, это кому-нибудь поможет.

2 голосов
/ 19 марта 2011

WFS описывает веб-сервис.Вы можете реализовать это в .net с помощью WCF.На данный момент образец кода для этого не приведен.Вы можете использовать WCF в приложении ASP.Net.

source

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...