Какая платформа разработки для ГИС-приложений является наилучшей?

StackOverflow https://stackoverflow.com/questions/1468600

  •  13-09-2019
  •  | 
  •  

Вопрос

Рассмотрение требований к разработке нового ГИС-продукта и его на этапе сбора требований.Это приложение должно быть запущено на рабочем столе, а некоторая часть приложения - на мобильном устройстве, которое затем может синхронизироваться с рабочим столом или сервером.Этот продукт будет иметь дело с изображениями, определением границ, анализом с использованием слоев, полигонов, импортом файлов форм, использованием GPS-регистрации для определения границ и приложением для ввода записей.Какой была бы идеальная среда разработки ?поскольку одним из основных требований является время вывода данного продукта на рынок.Много слышал об ESRI как идеальном картографическом инструменте и Oracle Spatial или SQL Server в качестве игроков базы данных.Как мне приступить к анализу правильных инструментов для этой разработки, которая включала ВЕБ, настольное приложение, мобильную платформу и серверное приложение?Есть идеи от опытных разработчиков продукта!

Это было полезно?

Решение

Если это приложение предназначено для Windows (desktop) и Windows Mobile, то C # / .Net - отличный выбор языка / платформы.С помощью Mono вы также можете (возможно) использовать Mac, Linux и iPhone.Для базы данных подойдет либо SQL Server, либо Oracle, хотя я бы выбрал SQL Server (с Oracle, при всех его плюсах, просто гораздо сложнее иметь дело).

Поскольку веб-компонентом может быть ASP.Net, у вас было бы явное преимущество иметь ВСЕ часть вашего кода (даже в SQL Server) должна быть C #, так что вам действительно нужно владеть только одним языком.

Другие советы

ESRI определенно предоставляет много хороших инструментов.Особенно, если у вас есть требования к мобильному устройству, я бы обратил внимание на ESRI, поскольку я не знаю альтернатив, которые действительно эффективны в мобильном мире.

(Редактировать:Когда я сказал "мобильные" выше, я предположил, что вы имели в виду мобильные ГИС-модули, такие как Тримбл единицы измерения.Если вы действительно имеете в виду создание мобильной ГИС на таких устройствах, как iPhone, вам, вероятно, лучше использовать инструменты, зависящие от конкретной платформы.Я знаю, что у Apple есть несколько довольно хороших наборов инструментов (под NDA IIRC), которые вы можете использовать для создания геопространственных приложений на iPhone.Я не знаю о том, как выглядит поддержка на других мобильных устройствах.)

Что касается базы данных, то Oracle Spatial, SQL Server 2008 и PostGIS - все это игроки.Однако, если вы используете решение ESRI, имейте в виду, что ESRI в основном позиционирует себя как комплексное решение.Таким образом, любой доступ к вашей базе данных, скорее всего, будет проходить через уровень ArcSDE ESRI, что будет означать, что уникальные преимущества, которые различные платформы баз данных могут привнести в таблицу, будут потеряны.

Что касается реального рендеринга карты, я не считаю решения ESRI идеальными.В частности, большая часть кода ArcObjects имеет проблемы в сильно многопоточной среде (напримеррендеринг многих-многих карт одновременно), которых просто нет в других решениях для рендеринга.Одной из альтернатив является использование решений ESRI для отдельных частей вашей системы (напримермобильная поддержка, анализ), а также использовать другие решения для других частей.

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

Конечно, если время выхода на рынок является ключевым ограничением, то одна из главных вещей, о которой следует подумать, - это то, что ваша команда уже знает.Если ваша команда знакома с инструментами ESRI, а не с альтернативами с открытым исходным кодом, возможно, вы захотите пойти этим путем просто из соображений целесообразности.

И, как указывает MusiGenesis, C # / .NET может быть хорошей платформой для изучения в дополнение ко всем этим инструментам.Безусловно, разработку ArcObjects можно выполнять на C #, и мой опыт показывает, что это более приятная среда для разработки ArcObjects, чем прямой COM из C ++.

Я бы предложил прогуляться по стопке проектов, разработанных под эгидой Фонд ОСГео - OSGeo.org.Существует множество проектов с открытым исходным кодом, доступных для различных приложений, платформ разработки и т.д.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top