Особенности отображения векторных данных

Вопросы общего характера по ГИС и дистанционному зондированию, не связанные с конкретным ПО.
Ответить
Аватара пользователя
Максим Дубинин
MindingMyOwnBusiness
Сообщения: 9038
Зарегистрирован: 06 окт 2003, 20:20
Статьи: 231
Проекты: 12/6
Репутация: 713
Ваше звание: NextGIS
Откуда: Москва
Контактная информация:

Особенности отображения векторных данных

Сообщение Максим Дубинин » 23 янв 2006, 03:50

В процессе работы над картой ООПТ выясняются весьма интересные особенности Arcview GIS vs ArcGIS.

Дано: полигональный объект, состоящий из 4 точек. Меняем систему координат на спроектированную проекция: Albers Equal-Area Conic c некими параметрами (опускаем их для экономии места)

Чтобы не пускаться в долгие объяснения - картинки в режиме редактирования и просмотра vertex'ов.

Исходный объект - Государственный природных заказник федерального подчинения "Земля Франца-Иосифа", данные в географической СК

Изображение

Спроектированный вид: Arcview GIS

Изображение

Спроектированный вид: ArcGIS

Изображение

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

Не хотелось бы делать преждевременных выводов, но что это - баг или фича?
Скажу сразу, это НЕ связано с широтой.
Может я что-то упустил?
пристегивайтесь, турбулентность прямо по курсу

geologic
Гуру
Сообщения: 852
Зарегистрирован: 15 сен 2005, 13:19
Репутация: 6
Откуда: москва
Контактная информация:

Re: Особенности отображения векторных данных

Сообщение geologic » 24 янв 2006, 18:06

Пока не глянул, времени нет сегодня. Но еще мысль возникла - надо бы ВСЕ конические проекции проглядеть, может, это у них задумка такая. Тогда уже решать, насколько задумка влияет на задачи. Для проверки достаточно сетки, заповедник, в общем, ни при чем получается.

И, к слову: не могу представить, чтобы ТОПОграфические карты надо было проверять в ламберте, то есть по географической карте. Или там на севере топопланшеты такие, я забыл уже. Но это к делу не относится, конечно. Хотя если глючит ламберт, то может глючить и гаусс, только в другом стиле :(

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

Сообщение Максим Дубинин » 24 янв 2006, 20:06

Уважаемый, вы удивитесь, но проекция здесь непричем. Точнее причем то что она коническая, то есть параллели - НЕ прямые линии. Любая прямая линия, которая должна стать дугой в любой проекции будет вести себя таким же образом.

Вопрос совсем не в проекции, а в поведении софта и вообще концептуально, как быть в таких случаях в принципе.
пристегивайтесь, турбулентность прямо по курсу

Аватара пользователя
taimyr
IT-моторист
Сообщения: 460
Зарегистрирован: 14 окт 2003, 12:36
Статьи: 13
Проекты: 2/1
Репутация: 17
Откуда: Москва
Контактная информация:

Сообщение taimyr » 24 янв 2006, 22:38

Бред сивой кобылы !!!!! Там же не только граница выделения прямая вместо дуги, но и параллель, как видно из приведенного скрина. Извините, это ж верное искажение реальности, следовательно, должны быть и объекты искажены. Может, надо чего в опциях включить ? Счас попробовал - действительно, прямоугольник преобразуется в трапецию с прямыми сторонами (не выделение, нарисованный в слое). Вывод только один - менять проекцию в процессе редактирования, видимо, нельзя. Ведь если проекцию изначально выставить, слои в geographic, подгруженные в проект , нормально идут, дкгами а не ломаными. Мое мнение - баг !!!

geologic
Гуру
Сообщения: 852
Зарегистрирован: 15 сен 2005, 13:19
Репутация: 6
Откуда: москва
Контактная информация:

Сообщение geologic » 25 янв 2006, 11:32

Не все так просто, уважаемые коллеги. Вопрос и правда не в проекции, просто она меня отвлекла немножко (предупреждать же надо! :) ) Хотя сам виноват - глядеть надо лучше. В обчем вопрос, как я понял, в том, что ArcView добавляет узлы тем линиям, которые он считает дугами. Раз уж мы собрались на виртуальный консилиум, позволю себе небольшой докладец по результатам зкспресс-анализов :)

Посмотрим на первый слайд - дуга в ArcMap.
Изображение

Зеленая линия (точнее, "дуга") находится в режиме редактирования. Узлов на данном участке всего 2. Для наглядности "ниже" на карте видна синяя линия - это другой слой, где дуга изначально большей дискретности, "лучше пришпиленная" на геоплоскость. Чтобы вопрос был очевиден, нижний диалог показывает количество узелков во всем выделенном объекте-линии. Их 4. Верхний диалог просто предваряет "дурацкий" вопрос: "а не разные ли у вас, батенька, файлы подсунуты?"

Перейдем ко второму слайду - ArcView
Изображение
Слой рассматриваем тот же, однако узелков на данном участке заметно больше, а всего в объекте-линии их 6. Соответственно, "щель" ошибок между зеленой и синей линией МЕНЬШЕ, чем в ArcMap (если конкретно, около сотни метров вместо полутора км). Видно, что узелки стоят ритмично, впрочем, это еще лучше видно на рисунке Sim'а. Несколько напрягает разница в координатах первого узла, но она в ожидаемых пределах. Картинки, кстати, синхронизированы, и скачав их, можно глядеть в режиме анимации путем быстрого листанья туда-сюда.

Такой "ритмичный" алгоритм построения наводит на мысль, что узелки построены не зря. Ясно, что это позволяет ArcView улучшить видимый эффект нестыковки разных дуг в проекциях. В географии, где все эти линии по определению прямые, эффект, естественно, не наблюдается.

В ArcMap, похоже, отказались от этой ритмики и вернулись к более честным алгоритмам, без "хитрых штучек-дрючек". Впрочем, возможно, где-то в глубине настроек скрыто управление этими процессами, как оно не раз обнаруживалось в ArcView.

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

Так что наш ответ на поставленный вопрос - это, скорее всего, изобразительская фича. Arc же View, в конце концов. Однако чем это может грозить мастодонтам, продолжающим там работать, стоит поразмышлять. В любом случае известно, например, что топология (там, во View) безусловно привязана к проекции, и менять оную после завершения топологии не стоит. Этот пример - лишнее тому подтверждение.

В ArcMap вроде все предсказуемо... хотя над следствиями еще не удалось как следует напрячь серое вещество. Хотелось бы услышать мнение уважаемых коллег по этому направлению!

Уф! (докладчик шумно пьет из графина) :)))

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

Сообщение Максим Дубинин » 25 янв 2006, 19:14

Не все так просто, уважаемые коллеги.
Ага, проняло :)
В ArcMap, похоже, отказались от этой ритмики и вернулись к более честным алгоритмам
Честным? Но результате мы имеем неправильное отображение объекта в режиме перепроектирования "на лету".

Про проектирование, densify и т.д. можно не советовать, сами с усами :) Интересно с этим разобраться окончательно. Пошел писать на ESRI.
пристегивайтесь, турбулентность прямо по курсу

yumakaev
Активный участник
Сообщения: 143
Зарегистрирован: 10 мар 2004, 08:07
Репутация: 10
Откуда: Redlands
Контактная информация:

Сообщение yumakaev » 26 янв 2006, 04:54

Как правильно заметил geologic, корень слова ArcView это всё-таки View. Приятно, что для красоты Вью AV при перепроецирования ВИДА втыкает автоматически эти дополнительные вертексы. Но доверять такой автоматике для построения новых ДАННЫХ я бы не стал.

Как совершенно верно заметил sim, надо быть с усами и для построения данных пользоваться нормальным инструментарием, получая то, что нужно пользователю, и никакой самодеятельности со стороны компьютера. А то так и до восстания терминаторов недалеко. 8) hasta la vista baby айл би бэк
sim писал(а):Но результате мы имеем неправильное отображение объекта в режиме перепроектирования "на лету".
По-моему, нет гарантии правильности отображения и в AV, и может даже ОСОБЕННО в AV. Потому что положение "автоматических" вертексов непредсказуемо и неконтролируемо. Если уж нужно корректное отображение, то нужно идти через densify и нормальное перепроецирование, избегая "на лету". имхо.

Концептуально, я не вижу противоречия в логике действия программ. ArcView выполняет свою функцию, показывая симпатичный View. В ArcMap течёт кровь поблагороднее, и она не занимается несвойственным ей делом, для этого есть другие инструменты. В качестве "бонуса" AV позволяет сохранить продукт своего Вью, полагая, что пользователь понимает цену этого продукта.

sim, я так и не настроил у себя софт, так что до экспериментов дело не дошло :( А куда в ESRI пишешь? Я там на форумах не нашёл.

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

Сообщение Максим Дубинин » 26 янв 2006, 06:13

Можно еще немножечко поспорить насчет того, кто правее Arcview или ArcGIS? Все IMHO конечно.

На входе: линия, которая является дугой в определенной проекции

На выходе Arcview: набор отрезков, примерно апроксимирующая эту дугу Понятно, что кривых безье в формате нет, поэтому сколько не апроксимируй, все равно не дуга.
На выходе ArcGIS: хрен, то есть просто неправильный объект ни чуточки не напоминающий то, что ожидаем получить.

По-моему здесь дело решенное, иначе мы ляпа на карту бы такого не получили :oops:
пристегивайтесь, турбулентность прямо по курсу

geologic
Гуру
Сообщения: 852
Зарегистрирован: 15 сен 2005, 13:19
Репутация: 6
Откуда: москва
Контактная информация:

Сообщение geologic » 26 янв 2006, 17:12

Господа, так мы далеко уйдем. Правильно... Неправильно... Это все-таки философские категории :) То, что нам кажется логичным, математикам ESRI показалось неразумным, вот и все. Тем более нельзя оценивать алгоритмы с точки выполнения отдельно взятой задачи. Меня, например, больше волнует топология и что с ней становится при таких "переобразованиях" - но я же молчу... :)

Наша общая беда, наверное, в том, что в ArcINFO (будем уж сразу в корень), несмотря на свое название, не умеет работать с дугами. Нет такого встроенного примитива. То, как такие примитивы аппроксимируются - вопрос тонкий. Всё это должно безусловно документироваться, а не замалчиваться - но это уже вопрос политики, а не ГИС, и не столь интересен. Вот интересно другое - как другие гисы, где-то есть реальные дуги? Например, АвтокадМап. Митрич обещал отписать сообществу, он корифей. Может, еще кто-то вспомнит - MGE? Geographics?

К слову сказать, sim, мы обильно пользовались вашими сетками, и именно для привязки растров до... той поры, пока не освоили ArcMap - там это не нужно, достаточно удобно пользоваться штатными гридами.

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

Сообщение Максим Дубинин » 26 янв 2006, 18:47

Меня, например, больше волнует топология и что с ней становится при таких "переобразованиях" - но я же молчу..
Надо не молчать, надо ругаться, спорить и выяснять, а потом писать жестокую правду, чтобы весь мир узнал, как нас надувает ESRI :)
К слову сказать, sim, мы обильно пользовались вашими сетками, и именно для привязки растров до... той поры, пока не освоили ArcMap - там это не нужно, достаточно удобно пользоваться штатными гридами.
Ну ими по разному ж можно пользоваться, если проектировать не на лету, а пересчитывать, то все ок будет. А что за штатные гриды в ArcGIS? Я ими до сих пор пользуюсь, для проверки привязки, на мой взгляд очень удобно.
пристегивайтесь, турбулентность прямо по курсу

geologic
Гуру
Сообщения: 852
Зарегистрирован: 15 сен 2005, 13:19
Репутация: 6
Откуда: москва
Контактная информация:

Сообщение geologic » 27 янв 2006, 16:00

Да уж, надуешь нас, пожалуй. У нас так даже вроде средства есть, так мы все равно... Хм... Ну не буду о запретном :)

Штатные гриды, ну те, что в Layout всякие там - километровые, десятичные. Но поскольку там же и привязывать можно, то какая разница? Правда, строить их не всегда просто, какие-то есть закавыки, но имея под рукой пару готовых шаблонов и об этом забываешь. Для проверки, мне кажется, самое то.

yumakaev
Активный участник
Сообщения: 143
Зарегистрирован: 10 мар 2004, 08:07
Репутация: 10
Откуда: Redlands
Контактная информация:

Сообщение yumakaev » 27 янв 2006, 21:57

sim писал(а):Надо не молчать, надо ругаться, спорить и выяснять
Ну хорошо, давайте не молчать, спорить и выяснять. Надеюсь до ругани и рукоприкладства не дойдёт :D
sim писал(а):На входе: линия, которая является дугой в определенной проекции
Ну да, но не нужно требовать от компьютерного алгоритма невозможного - хотя ясно, что линии при перепроецировании должны менять свою форму, то КАК они её будут менять может быть либо примерно апроксимировано алгоритмом, либо заложено при создании данных человеком в виде вертексов в тех местах, где таким вертексам наиболее логично положено находиться.

По определению, любая дуга в компьютерном исполнении (в т.ч. любые апроксимированные дуги, кривые Безье и т.п.) - это в конечном счёте набор прямых отрезков между вертексами. Если доверить размещение этих вертексов алгоритму, получим красивую картинку (с точки зрения алгоритма). Если, зная природу данных, их исходный масштаб, качество и всё такое, попытаться с умом расставить на исходно прямой линии вертексы, по которым в последствии линия честно (С) geologic будет изогнута в дугу, то можно получить не просто красивую картинку, а картинку, максимально соответствующую действительности.

AV, рассчитанная на пользователся уровня beginner/medium, честно исполняет свою функцию построения красивого изображения.

ArcInfo, рассчитанная на пользователя medium/advanced, честно показывает: вот тут у тебя прямая, потрудись сделать из неё дугу как считаешь нужным.

Однако, подвох, который тут присутствует, это то, что ArcMap будет себя вести одинаково при любой лицензии: ArcView, ArcEditor, или ArcInfo. По всему судя, ArcView 8/9/... стратегически будет вымещать ArcView 3, и получается, что пользователь-beginner будет в ArcMap лишён тех поблажек, которые были в AV 3. "Впрочем, - правильно заметил ранее geologic, - возможно, где-то в глубине настроек скрыто управление этими процессами", что проверить сейчас мне не представляется возможным по причинческим технинам.

Ответить

Вернуться в «Общие вопросы»

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

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