Свободные объектно-ориентированные ГИС

Кроме QGIS
Аватара пользователя
rhot
Гуру
Сообщения: 1727
Зарегистрирован: 25 янв 2011, 17:50
Репутация: 194
Ваше звание: доктор
Откуда: Архангельск

Свободные объектно-ориентированные ГИС

Сообщение rhot » 02 мар 2012, 10:04

Известно, что существует 2 способа организации пространственных данных в любой ГИС:
  • с помощью слоёв, или
    объектно-ориентированным подходом.
Так как я использую ГИС-технологии только для решения задач в лесном хозяйстве и ландшафтной экологии, я никогда раньше не сталкивался с объектно-ориентированными ГИС. Единственное упоминание о них всплывает в моей памяти с вводных уроков по геоинформационным технологиям в универе.

Вопрос такой: Какие существуют свободные объектно-ориентированные ГИС? И существуют ли вообще?

P.S.: вопрос имеет чисто познавательный смысл - знаю, что объектно-ориентированный подход в корне не подходит для организации данных о природных объектах. :)
___________(¯`·.¸(¯`·.¸ Scientia potentia est _/ {SILVA}:::{FOSS}:::{GIS} \_ Знание сила ¸.·´¯)¸.·´¯)___________

Аватара пользователя
Максим Дубинин
MindingMyOwnBusiness
Сообщения: 9128
Зарегистрирован: 06 окт 2003, 20:20
Репутация: 747
Ваше звание: NextGIS
Откуда: Москва
Контактная информация:

Re: Свободные объектно-ориентированные ГИС

Сообщение Максим Дубинин » 02 мар 2012, 11:13

не совсем понял определение ГИС С объектно-ориентированным подходом, но если нужен пример редактора и базы не разделяющего данные на слои по семантике и геометрии, то OSM + JOSM
пристегивайтесь, турбулентность прямо по курсу

Аватара пользователя
rhot
Гуру
Сообщения: 1727
Зарегистрирован: 25 янв 2011, 17:50
Репутация: 194
Ваше звание: доктор
Откуда: Архангельск

Re: Свободные объектно-ориентированные ГИС

Сообщение rhot » 02 мар 2012, 11:34

http://www.google.ru/search?tbm=bks&hl= ... pen-source по первой ссылке в разделе 2.1.2 Organization of GIS data есть описания обоих способов.

JOSM - хороший пример, но является ли это ПО полнофункциональной ГИС? В нём нельзя проводить пространственный анализ, насколько я знаю...
___________(¯`·.¸(¯`·.¸ Scientia potentia est _/ {SILVA}:::{FOSS}:::{GIS} \_ Знание сила ¸.·´¯)¸.·´¯)___________

Аватара пользователя
Дмитрий Барышников
Гуру
Сообщения: 2572
Зарегистрирован: 17 ноя 2009, 19:17
Репутация: 261
Откуда: Москва

Re: Свободные объектно-ориентированные ГИС

Сообщение Дмитрий Барышников » 02 мар 2012, 22:02

В СУБД есть такой феномен как объектно ориентированные (ОО) объектно реляционные (ОР) базы, например cache. Там данные хранятся не в двумерных таблицах, а в представляют собой объект со свойствами(!) и методами(!). В этом плане подход ESRI к построению БД очень похож. ESRI культивируется добавление к записям в таблице оберток в виде объектов со своим "поведением".

yellow-sky
Гуру
Сообщения: 588
Зарегистрирован: 30 мар 2009, 21:53
Репутация: 55
Откуда: Королев

Re: Свободные объектно-ориентированные ГИС

Сообщение yellow-sky » 02 мар 2012, 23:01

Bishop писал(а):ESRI культивируется добавление к записям в таблице оберток в виде объектов со своим "поведением".
Bishop, а что именно добавляется в качестве поведения? Я много раз слышал про эти чудо поведения, но ни кто мне так ни чего и не смог рассказать подробного, окромя топологии. Но топология это скорее межклассовые отношения.
А не объектные. И создавать топологические отношения можно и в обычных реляционных базах.

Аватара пользователя
Максим Дубинин
MindingMyOwnBusiness
Сообщения: 9128
Зарегистрирован: 06 окт 2003, 20:20
Репутация: 747
Ваше звание: NextGIS
Откуда: Москва
Контактная информация:

Re: Свободные объектно-ориентированные ГИС

Сообщение Максим Дубинин » 02 мар 2012, 23:12

rhot, ты про это?

Изображение

да, тут про некие "методы" хранящиеся с, в остальном обычными, векторными примитивами. Очень-очень-очень плохое описание, даже не описание, а намек на идею, я бы сказал. Ни примеров, ни конкретики.
пристегивайтесь, турбулентность прямо по курсу

Аватара пользователя
Дмитрий Барышников
Гуру
Сообщения: 2572
Зарегистрирован: 17 ноя 2009, 19:17
Репутация: 261
Откуда: Москва

Re: Свободные объектно-ориентированные ГИС

Сообщение Дмитрий Барышников » 02 мар 2012, 23:36

yellow-sky писал(а): Bishop, а что именно добавляется в качестве поведения? Я много раз слышал про эти чудо поведения, но ни кто мне так ни чего и не смог рассказать подробного, окромя топологии. Но топология это скорее межклассовые отношения.
А не объектные. И создавать топологические отношения можно и в обычных реляционных базах.
1) Начнем с классического примера от ESRI - в качестве объекта дерево: в таблице есть его положение и возраст.
Дерево представляется объектом ITree с методом getAge().

2) По опыту я делал на базе этого подхода классификатор: иерархическое дерево категорий с набором методов для отображения в виде дерева (запрос child и parents). В классификаторе могли быть: категории (аналог папок), типы (единичные, списки, диапазоны) и правила их заполнения и ведения с учетом прав пользователей. Еще этот объект отслеживал все таблицы, где использовались значения классификатора и если в классификаторе что-то менялось, менялось и в этих таблицах. Эта была "продвинутая" замена Доменам.

3) Dimensions, Raster Catalog и т.п. тоже представляют этот подход. Рассмотрим Raster Catalog. Это обычная таблица с футпринтами растров, но в обертке объекта IRasterCatalog. Эта таблица позволяет работать с каталогом, как с единым растром и отображать либо футпринты либо растры и предоставляет др. функции.

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 793
Ваше звание: званий не имею
Откуда: Москва

Re: Свободные объектно-ориентированные ГИС

Сообщение Александр Мурый » 02 мар 2012, 23:37

В "Open source GIS: a GRASS GIS approach" имеется в виду, наверное, объектно-ориентированное программирование (ООП), а не организация данных в ГИС или что-то в этом духе.. БОльшая часть модулей написаны на чистом Cи без всякого ООП.

Внятное описание "объектно-ориентированных" ГИС вот здесь.
Редактор материалов, модератор форума

KolesovDmitry
Гуру
Сообщения: 810
Зарегистрирован: 22 авг 2007, 14:58
Репутация: 123
Откуда: Казань

Re: Свободные объектно-ориентированные ГИС

Сообщение KolesovDmitry » 03 мар 2012, 09:15

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

Существуют две основные модели пространственных данных -- объектная и полевая.

Полевая модель работает с непрерывными в пространстве данными т.е. полями. Например температура поверхности Земли изменяеется непрерывно, и нет такого места, про которое можно сказать "тут проходит граница между 20-ю и 30-ю градусами", т.е. имеем поле температур. Другими примерами могут быть давление, рельеф поверхности, концентрация какой-нибудь дряни и т.п. В ГИС полевая модель обычно представляется растрами.

Объектная модель работает не с полями, а "объектами" - предметами и явлениями, имеющими четкие границы, например, зданиями, дорогами. При оределенном масштабе в объектной модели представимы и природные объекты -- реки, острова, континенты и т.д. В ГИС объектная модель представлена "вектором" (и записи атрибутивной таблицы данных, связанной с геометрией, -- ни что иное, как свойства объекта).

Таким образом, в цитируемом фрагменте никикого тайного знания не скрыто, и каждый из нас успел за свою жизнь вволю попользоваться "объектными ГИС" ))

А для моделирования природных явлений, действительно полевая/растровая модель подходит лучше в силу непрерывности объекта исследования.

gamm
Гуру
Сообщения: 4057
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1054
Ваше звание: программист
Откуда: Казань

Re: Свободные объектно-ориентированные ГИС

Сообщение gamm » 03 мар 2012, 13:42

KolesovDmitry писал(а):Существуют две основные модели пространственных данных -- объектная и полевая.
это не модели данных, основных моделей данных две: растровая и векторная. Некоторые товарищи, следуя моде, добавляют еще объектовую. Что это, никто толком не знает, но слово всем очень нравится, особенно ESRI (и у нас в Башкирии были энтузиасты). В целом все напоминает фреймы, которые тоже давно предлагались для моделирования (в том числе пространства), но так и не прижились.

ericsson
Гуру
Сообщения: 3321
Зарегистрирован: 27 июл 2009, 19:26
Репутация: 748
Ваше звание: Вредитель полей

Re: Свободные объектно-ориентированные ГИС

Сообщение ericsson » 03 мар 2012, 15:01

Объектная модель данных - это всего лишь способ обращения с данными, предусматривающий определенный способ абстракции (т.е. работы с ними в "общем виде"). Способ с определенным набором инструментов (наследование, свойства, методы). И применить (будь на то необходимость при разработке программного средства) этот способ обращения можно к данным любого сорта и содержания.

Для примера, можно создать класс для хранения растров, определить для них свойства (собственно растровые данные, их разрешение, значение nodata и т.п.), методы ("получить среднее значение", "получить минимальное значение"), функции ("сложить объекты", "интерполировать объекты"). Это все прекрасно знакомо любому, кто создавал средствами OpenLayers карту с более чем одним слоем.
Та же фигня - с векторными данными.

Объектный подход может быть реализован и в интерфейсе (такая банальная штука, как меняющееся в соответствии с тем, на чем вызвано, контекстное меню слоя, являющегося по сути объектом - типичная "фича" объектно-ориентированного интерфейса).
Я тут еще одну крамольную вещь скажу - деление на растровые и векторные данные - тоже та еще условность, потому что растр - не более чем матрица (матрицы) усредненных отсчетов. Чем это отличается от векторного поля, кроме традиционного разделения функций между ними?

Про "полевую модель" не соглашусь - растр-то дискретен.
Различие между двумя матрицами тех же температур, полученными а) съемкой с самолета тепловизором с разрешением 100х100 точек б) делением той же территории на 10000 ячеек с последующим обходом их с GPS и контактным термометром будет только инструментально-методологическим (разный способ считывания температуры и ее усреднения для ячейки), а суть данных будет одна - десять тысяч усредненных отсчетов температуры. Только в первом случае- в виде GeoTIFF, а во втором - таблицы из десяти тысяч строк X,Y,T

Так что любое строгое разделение и классификация возможны только тогда, когда в конкретном случае есть принципиальные отличия. А так, все плавно перетекает из одного в другое...

yellow-sky
Гуру
Сообщения: 588
Зарегистрирован: 30 мар 2009, 21:53
Репутация: 55
Откуда: Королев

Re: Свободные объектно-ориентированные ГИС

Сообщение yellow-sky » 03 мар 2012, 22:22

Эээ ребят, вас куда то затащило... Давайте не будем так спорить, это на холивар походит уже )
Я просто хотел узнать про конкретный момент: ESRI на каждом шагу кричит, что в их базе, к объектам добавляется "поведение". Вот, даже строчку нашел:

Для представления и хранения информации в РСУБД ArcGIS использует объектно-реляционную модель данных, называемую базой геоданных. Эта модель данных позволяет описывать не только геометрию объектов, но и их поведение, правила, взаимосвязи с другими классами объектов и объектами базы геоданных. Эта интеграция поведения с геометрией позволяет создавать более сложные, расширенные модели ГИС-данных. Однажды описанное поведение объектов становится доступным для применения во всех приложениях ArcGIS Desktop - ArcCatalog, ArcMap, ArcToolBox, а также в ArcObjects - объектно-ориентированных библиотеках разработки для ArcGIS.

Так что значит в данном контексте поведение? Как можно его описать? Только с помощью ОО РСУБД(это кстати уже ненормально звучит)? Потому как мы видим дальше по тексту, ОО библиотеку они выносят отдельно.
Bishop, я прочитал твой ответ, но ни чего так и не понял. Я не понимаю как относится мой(твой) код к ОО РСУБД, в которой можно описывать поведение. То что я пишу ОО код - это сугубо моя проблема, а не РСУБД. То как я опишу в коде поведение объектов - это тоже моя проблема, и РСУБД рядом не пробегала. Потому твои примером с кодом меня окончательно запутали. Если нужно написать триггер, что бы обновлялись значения доменов - ну тут объектной составляющей пахнет настолько-поскольку, мы можем конечно назвать это все объектами, но более объектно ориентированными триггер не станет, это функция. И опять же, ведь код писал ты, и писал, выбрав ОО подход. В чем именно помогла тебе база геоданных?
По поводу Dimensions & RasterCatalog - опять же, это просто набор дополнительных функций!, которая предоставляет их надстройка. Ни какого поведенческого проявления я тут не вижу.
Все что было описано выше - это свойства и методы. ИМХО поведение - это то, как ведет себя объект в той или иной обстановке. Поведение может зависеть от внутреннего состояния объекта и от его окружения. А то что каталог растров может по запросу отдать либо футпринт, либо контент - это всего лишь метод, возвращающий одно из двух свойств объекта.
Bishop, я не спорю сейчас, а честно хочу понять, что такое поведение объектов в базе геоданных. Потому как для меня это всегда было загадкой. Или все же это обычный маркетинговый ход и то, что мы называем подменой понятий?

ericsson
Гуру
Сообщения: 3321
Зарегистрирован: 27 июл 2009, 19:26
Репутация: 748
Ваше звание: Вредитель полей

Re: Свободные объектно-ориентированные ГИС

Сообщение ericsson » 03 мар 2012, 22:52

Не знаком с тем, как это делает ESRI. Но есть ощущение, что это пока "недоэволюционировавшая" технология, репутацию которой пытаются подкрепить маркетингом.
А высказанные замечания носят тот же характер, как критика ООП с точки зрения процедурного программирования.
В самой объектной идеологии нет никакого "самостоятельного поведения" - все равно методы, свойства и т.п. что-то должно дергать. "Поведение" появляется тогда, когда куда-то прячется обработчик, который сам, без спросу, дергает. И создается впечатление, что объекты "живут".

Аватара пользователя
Филиппов Владислав
Гуру
Сообщения: 1035
Зарегистрирован: 17 фев 2006, 06:28
Репутация: 144
Ваше звание: Геннадич
Откуда: Новосибирск
Контактная информация:

Re: Свободные объектно-ориентированные ГИС

Сообщение Филиппов Владислав » 04 мар 2012, 09:26

Так что значит в данном контексте поведение? Как можно его описать?
имхо, это триггеры и функции.
хранится это всё равно в таблицах.

Аватара пользователя
Дмитрий Барышников
Гуру
Сообщения: 2572
Зарегистрирован: 17 ноя 2009, 19:17
Репутация: 261
Откуда: Москва

Re: Свободные объектно-ориентированные ГИС

Сообщение Дмитрий Барышников » 04 мар 2012, 21:29

Я не понимаю как относится мой(твой) код к ОО РСУБД, в которой можно описывать поведение. То что я пишу ОО код - это сугубо моя проблема, а не РСУБД. То как я опишу в коде поведение объектов - это тоже моя проблема, и РСУБД рядом не пробегала. Потому твои примером с кодом меня окончательно запутали. Если нужно написать триггер, что бы обновлялись значения доменов - ну тут объектной составляющей пахнет настолько-поскольку, мы можем конечно назвать это все объектами, но более объектно ориентированными триггер не станет, это функция. И опять же, ведь код писал ты, и писал, выбрав ОО подход. В чем именно помогла тебе база геоданных?
Никак не относится. БД здесь только часть - хранилище. Основное - это спайка через классы программы, а не вызов SQL запросов напрямую - разные подходы к программированию (через классы или через функции).
По поводу Dimensions & RasterCatalog - опять же, это просто набор дополнительных функций!, которая предоставляет их надстройка. Ни какого поведенческого проявления я тут не вижу.
Все что было описано выше - это свойства и методы. ИМХО поведение - это то, как ведет себя объект в той или иной обстановке. Поведение может зависеть от внутреннего состояния объекта и от его окружения. А то что каталог растров может по запросу отдать либо футпринт, либо контент - это всего лишь метод, возвращающий одно из двух свойств объекта.
Bishop, я не спорю сейчас, а честно хочу понять, что такое поведение объектов в базе геоданных. Потому как для меня это всегда было загадкой. Или все же это обычный маркетинговый ход и то, что мы называем подменой понятий?
Примерно правильно ты все понимаешь. Просто внутренние свойства классов проецируются на значения полей БД. Единственное, хочу отметить, что ESRI не дает прямой доступ к СУБД, а только через свои классы.
А чего то другого в рамках подходов РСУБД еще не придумали, только ООСУБД представляет другой подход и то отчасти.

По поводу подмены понятий я в корне не согласен - многие пишут на чистом C без классов (функциональный подход).

Ответить

Вернуться в «Свободные, бесплатные, открытые ГИС»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 13 гостей