Подтвердить что ты не робот

Руководящие принципы разработки приложений ГИС

Я должен создать приложение GIS для своего MSc, и мне было интересно, какие лучшие бесплатные и (желательно) технологии с открытым исходным кодом для разработки? Какой язык программирования следует использовать для разработки такого приложения?

Известные варианты: База данных: PostgreSQL (PostGIS) (предлагать другие)

Язык программирования: PHP, Python, Java,... (предлагать другие)

Рамки: GeoDjango (если используется Python или Jython), (предлагайте другое)

Клиентский интерфейс клиента: JavaScript (OpenLayers), Flex (другое предложение)

Серверы: Mapserver, Geoserver, Mapfish, (предлагают другие)

Другие соображения: Hibernate Spatial, поддержка мобильной ГИС, (предлагать другие)

4b9b3361

Ответ 1

afaik: лучший выбор для веб-приложений - подготовить свои данные с помощью gvSIG (http://www.gvsig.org), разместить свои данные в postgresql/postgis (http://www.postgresql.org, http://postgis.refractions.net), опубликуйте службы WMS/WFS с помощью MapServer (http://mapserver.org/), а затем покажите свои данные с помощью openlayers (http://openlayers.org). Эти решения отлично подходят для моего опыта. Хорошим подходом является использование MapFish (http://trac.mapfish.org/trac/mapfish/wiki) webgis-framework, который внутренне использует extjs и openlayers, но упрощает разработку.

Ответ 2

Возможно ли внедрить Google Maps в веб-приложение? Это было бы самым простым решением...

Для ГИС с открытым исходным кодом см. Список геоинформации с открытым исходным кодом в Википедии, это довольно полно.

Вставка из Википедии:

Разработка программного обеспечения с открытым исходным кодом GIS - с точки зрения истории программного обеспечения - давняя традиция с появлением первой системы в 1978 году. В настоящее время доступны многочисленные системы, которые охватывают все сектора обработки геопространственных данных.

В Steiniger и Bocher (2008/9) рассматриваются следующие проекты ГИС настольных компьютеров с открытым исходным кодом:

gvSIG 1.0

GRASS GIS - Первоначально разработанный Инженерным корпусом армии США, с открытым исходным кодом: полная ГИС

SAGA GIS - система для автоматизированных геофизических аналогов - гибридное программное обеспечение ГИС. SAGA имеет уникальный интерфейс прикладного программирования (API) и быстро растущий набор методов geoscientifc, поставляемых в сменных библиотеках модулей.

Квантовая ГИС - QGIS - это дружественная пользователю Open Source GIS, которая работает в Linux, Unix, Mac OS X и Windows.

MapWindow GIS - бесплатное приложение GIS для настольных ПК с открытым исходным кодом и компонент программирования.

ILWIS - ILWIS (Интегрированная информационная система по земле и воде) объединяет изображения, векторные и тематические данные.

uDig

gvSIG - ГИС с открытым исходным кодом, написанный на Java.

JUMP GIS/OpenJUMP - (Open) Java Unified Mapping Platform (рабочий стол GIS OpenJUMP, SkyJUMP, deeJUMP и Kosmo появился из JUMP, см. [3])

другие:

Capaware rc1 0,1

SAGA-GIS v. 2.0.3

Kalypso (программное обеспечение) - Kalypso - это GIS с открытым исходным кодом (Java, GML3) и фокусируется главным образом на численном моделировании управления водными ресурсами.

TerraView - рабочий стол ГИС, который обрабатывает векторные и растровые данные, хранящиеся в реляционной или геореляционной базе данных, т.е. интерфейс для TerraLib.

Capaware. Capaware также представляет собой GIS с открытым исходным кодом, невероятную быструю С++ 3D GIS Framework с многоплановой архитектурой для географического графического анализа и визуализации.

Ответ 3

Я, несколько лет назад (примерно 6 лет назад), работал почти исключительно с MapServer (в частности, PHP MapScript) и PostGIS, получая неплохие результаты, особенно в отделе гибкости. Я сделал приложения для производства (геолокация с анализом), и я даже сделал свою магистерскую диссертацию на основе этой работы. Я бы ожидал, что эти двое, учитывая их зрелость, по-прежнему остаются хорошим выбором.

В то время было мало альтернатив для создания богатых интернет-ГИС-приложений на базе Интернета, в настоящее время их довольно много (особенно с тех пор, как Google Maps отправился вживую).

С тех пор я получил несколько концертов, связанных с ГИС, где для отображения использовался Cartoweb, который основан на PHP-Mapscript веб-каркас, который является расширяемым и в основном работает.

Лучший выбор в конечном счете зависит от того, что вы собираетесь строить. Если вам нужна полная гибкость при анализе отображения, отображения карт, маршрутизации и географического редактирования, тогда вам нужно получить программируемый сервер карт. Я знаю, что Mapserver работает, но очень вероятно, что GeoServer и MapBuilder и даже Mapnik могут работать, в зависимости от специфики.

Кстати, об альтернативах, MySQL также имеет Пространственные расширения.

Ответ 4

Для чего-то, что больше похоже на "приложение", чем на веб-страницу с картой в нем, посмотрите http://geoext.org/, который объединяет OpenLayers с ExtJS.

Ответ 5

Трудно ответить на ваш вопрос на "лучшие" инструменты, потому что это зависит от ваших требований. Укажите свои потребности, и мы найдем более точный ответ (Как я вижу, вы спросили какое-то время назад, и я надеюсь, что вы уже получили свой MSc)... тем не менее, другие могут по-прежнему интересоваться этим вопросом.

База данных:

Для настольных приложений небольшого размера Sqlite с SpatiaLite может быть вариантом вместо полного PostgreSQL/PostGIS Server в качестве бэкэнд. PostgreSQL - хороший выбор для больших приложений или использования его вместе с WFS (-T) -Server, например GeoServer или UMN MapServer.

Возможно, простой старый формат Shapefile соответствует вашим требованиям, и вам не нужен бэкэнд базы данных.

Язык программирования:

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

Каркасы:

Я не могу предложить одну Framework, потому что у них есть все особые возможности и преимущества в определенных областях... почему я должен предлагать вам инструментарий визуализации, если вам нужно что-то для преобразования форматов файлов или координат без их отображения. Я уже упоминал, что в верхней части моего ответа. MapWindow6 и DotSpatial может быть интересно, если вы используете С#.

ClientUI:

Рабочий стол или/или браузер? ОПЕРАЦИОННЫЕ СИСТЕМЫ? Возможные технологии зависят от ваших требований и окружающей среды. Если вы застряли в использовании браузера (который может отображать WebGL), и вы хотите показать некоторое состояние искусства fx Cesium, может быть интересно.

Серверы:

Вы уже упоминали о наиболее известных серверах с открытым исходным кодом, мой любимый - GeoServer.

Другие подсказки

Если вы ищете специальный стек технологий, OGC Website является первым пунктом для посещения. Они определили многие (не сказать все) известные стандарты в области ГИС и предоставили список реализаций для каждого стандарта.

Ответ 6

Я просто хотел упомянуть CartoDB. Я использовал его в течение некоторого времени, и я думаю, что это здорово. У них есть онлайн-сайт с ограничениями для бесплатных учетных записей, но он открыт с открытым исходным кодом, и вы можете установить свой собственный экземпляр. Это очень гибко. Вы можете хранить свои данные в своем облачном PostGIS DB или локально размещенном, а затем использовать JS-библиотеки, такие как CartoJS или Leaflet, для подключения к БД и построения ваших данных. Вы можете создавать визуализацию и просто вставлять их в код HTML.

Это - их онлайн-сайт. И это их репо со ссылками на инструкции по настройке собственного экземпляра CartoDB, если вы предпочитаете.