Особенности отображения векторных данных
- Максим Дубинин
- MindingMyOwnBusiness
- Сообщения: 9128
- Зарегистрирован: 06 окт 2003, 20:20
- Репутация: 747
- Ваше звание: NextGIS
- Откуда: Москва
- Контактная информация:
Особенности отображения векторных данных
В процессе работы над картой ООПТ выясняются весьма интересные особенности Arcview GIS vs ArcGIS.
Дано: полигональный объект, состоящий из 4 точек. Меняем систему координат на спроектированную проекция: Albers Equal-Area Conic c некими параметрами (опускаем их для экономии места)
Чтобы не пускаться в долгие объяснения - картинки в режиме редактирования и просмотра vertex'ов.
Исходный объект - Государственный природных заказник федерального подчинения "Земля Франца-Иосифа", данные в географической СК
Спроектированный вид: Arcview GIS
Спроектированный вид: ArcGIS
Не знаю как у Вас, но у меня данный феномен вызвал довольно сильную "переоценку ценностей", так как этот эффект весьма и весьма сказывается на некоторых других, казалось бы не имеющих отношения к делу, но весьма частых упражнениях, например: привязка, а точнее проверка привязки топографических карт и вообще всего, что связано с отображением векторных данных.
Не хотелось бы делать преждевременных выводов, но что это - баг или фича?
Скажу сразу, это НЕ связано с широтой.
Может я что-то упустил?
Дано: полигональный объект, состоящий из 4 точек. Меняем систему координат на спроектированную проекция: Albers Equal-Area Conic c некими параметрами (опускаем их для экономии места)
Чтобы не пускаться в долгие объяснения - картинки в режиме редактирования и просмотра vertex'ов.
Исходный объект - Государственный природных заказник федерального подчинения "Земля Франца-Иосифа", данные в географической СК
Спроектированный вид: Arcview GIS
Спроектированный вид: ArcGIS
Не знаю как у Вас, но у меня данный феномен вызвал довольно сильную "переоценку ценностей", так как этот эффект весьма и весьма сказывается на некоторых других, казалось бы не имеющих отношения к делу, но весьма частых упражнениях, например: привязка, а точнее проверка привязки топографических карт и вообще всего, что связано с отображением векторных данных.
Не хотелось бы делать преждевременных выводов, но что это - баг или фича?
Скажу сразу, это НЕ связано с широтой.
Может я что-то упустил?
пристегивайтесь, турбулентность прямо по курсу
-
- Гуру
- Сообщения: 852
- Зарегистрирован: 15 сен 2005, 13:19
- Репутация: 6
- Откуда: москва
- Контактная информация:
Re: Особенности отображения векторных данных
Пока не глянул, времени нет сегодня. Но еще мысль возникла - надо бы ВСЕ конические проекции проглядеть, может, это у них задумка такая. Тогда уже решать, насколько задумка влияет на задачи. Для проверки достаточно сетки, заповедник, в общем, ни при чем получается.
И, к слову: не могу представить, чтобы ТОПОграфические карты надо было проверять в ламберте, то есть по географической карте. Или там на севере топопланшеты такие, я забыл уже. Но это к делу не относится, конечно. Хотя если глючит ламберт, то может глючить и гаусс, только в другом стиле
И, к слову: не могу представить, чтобы ТОПОграфические карты надо было проверять в ламберте, то есть по географической карте. Или там на севере топопланшеты такие, я забыл уже. Но это к делу не относится, конечно. Хотя если глючит ламберт, то может глючить и гаусс, только в другом стиле
- Максим Дубинин
- MindingMyOwnBusiness
- Сообщения: 9128
- Зарегистрирован: 06 окт 2003, 20:20
- Репутация: 747
- Ваше звание: NextGIS
- Откуда: Москва
- Контактная информация:
Уважаемый, вы удивитесь, но проекция здесь непричем. Точнее причем то что она коническая, то есть параллели - НЕ прямые линии. Любая прямая линия, которая должна стать дугой в любой проекции будет вести себя таким же образом.
Вопрос совсем не в проекции, а в поведении софта и вообще концептуально, как быть в таких случаях в принципе.
Вопрос совсем не в проекции, а в поведении софта и вообще концептуально, как быть в таких случаях в принципе.
пристегивайтесь, турбулентность прямо по курсу
- taimyr
- IT-моторист
- Сообщения: 460
- Зарегистрирован: 14 окт 2003, 12:36
- Репутация: 17
- Откуда: Москва
- Контактная информация:
Бред сивой кобылы !!!!! Там же не только граница выделения прямая вместо дуги, но и параллель, как видно из приведенного скрина. Извините, это ж верное искажение реальности, следовательно, должны быть и объекты искажены. Может, надо чего в опциях включить ? Счас попробовал - действительно, прямоугольник преобразуется в трапецию с прямыми сторонами (не выделение, нарисованный в слое). Вывод только один - менять проекцию в процессе редактирования, видимо, нельзя. Ведь если проекцию изначально выставить, слои в geographic, подгруженные в проект , нормально идут, дкгами а не ломаными. Мое мнение - баг !!!
-
- Гуру
- Сообщения: 852
- Зарегистрирован: 15 сен 2005, 13:19
- Репутация: 6
- Откуда: москва
- Контактная информация:
Не все так просто, уважаемые коллеги. Вопрос и правда не в проекции, просто она меня отвлекла немножко (предупреждать же надо! ) Хотя сам виноват - глядеть надо лучше. В обчем вопрос, как я понял, в том, что ArcView добавляет узлы тем линиям, которые он считает дугами. Раз уж мы собрались на виртуальный консилиум, позволю себе небольшой докладец по результатам зкспресс-анализов
Посмотрим на первый слайд - дуга в ArcMap.
Зеленая линия (точнее, "дуга") находится в режиме редактирования. Узлов на данном участке всего 2. Для наглядности "ниже" на карте видна синяя линия - это другой слой, где дуга изначально большей дискретности, "лучше пришпиленная" на геоплоскость. Чтобы вопрос был очевиден, нижний диалог показывает количество узелков во всем выделенном объекте-линии. Их 4. Верхний диалог просто предваряет "дурацкий" вопрос: "а не разные ли у вас, батенька, файлы подсунуты?"
Перейдем ко второму слайду - ArcView
Слой рассматриваем тот же, однако узелков на данном участке заметно больше, а всего в объекте-линии их 6. Соответственно, "щель" ошибок между зеленой и синей линией МЕНЬШЕ, чем в ArcMap (если конкретно, около сотни метров вместо полутора км). Видно, что узелки стоят ритмично, впрочем, это еще лучше видно на рисунке Sim'а. Несколько напрягает разница в координатах первого узла, но она в ожидаемых пределах. Картинки, кстати, синхронизированы, и скачав их, можно глядеть в режиме анимации путем быстрого листанья туда-сюда.
Такой "ритмичный" алгоритм построения наводит на мысль, что узелки построены не зря. Ясно, что это позволяет ArcView улучшить видимый эффект нестыковки разных дуг в проекциях. В географии, где все эти линии по определению прямые, эффект, естественно, не наблюдается.
В ArcMap, похоже, отказались от этой ритмики и вернулись к более честным алгоритмам, без "хитрых штучек-дрючек". Впрочем, возможно, где-то в глубине настроек скрыто управление этими процессами, как оно не раз обнаруживалось в ArcView.
Прожженые ловкачи по части шейп-файлов (из нашего коллектива) тут же подкинули мысль переписать файлы, находясь в проекции. ArcMap не стал, конешно, менять количество узелков, ArcView (как и ожидалось) записал в файл 6 штук. При загрузке последнего в ArcMap для контроля, видно, естественно, все 6 - 4 старых и два новых, в любой проекции.
Так что наш ответ на поставленный вопрос - это, скорее всего, изобразительская фича. Arc же View, в конце концов. Однако чем это может грозить мастодонтам, продолжающим там работать, стоит поразмышлять. В любом случае известно, например, что топология (там, во View) безусловно привязана к проекции, и менять оную после завершения топологии не стоит. Этот пример - лишнее тому подтверждение.
В ArcMap вроде все предсказуемо... хотя над следствиями еще не удалось как следует напрячь серое вещество. Хотелось бы услышать мнение уважаемых коллег по этому направлению!
Уф! (докладчик шумно пьет из графина) ))
Посмотрим на первый слайд - дуга в ArcMap.
Зеленая линия (точнее, "дуга") находится в режиме редактирования. Узлов на данном участке всего 2. Для наглядности "ниже" на карте видна синяя линия - это другой слой, где дуга изначально большей дискретности, "лучше пришпиленная" на геоплоскость. Чтобы вопрос был очевиден, нижний диалог показывает количество узелков во всем выделенном объекте-линии. Их 4. Верхний диалог просто предваряет "дурацкий" вопрос: "а не разные ли у вас, батенька, файлы подсунуты?"
Перейдем ко второму слайду - ArcView
Слой рассматриваем тот же, однако узелков на данном участке заметно больше, а всего в объекте-линии их 6. Соответственно, "щель" ошибок между зеленой и синей линией МЕНЬШЕ, чем в ArcMap (если конкретно, около сотни метров вместо полутора км). Видно, что узелки стоят ритмично, впрочем, это еще лучше видно на рисунке Sim'а. Несколько напрягает разница в координатах первого узла, но она в ожидаемых пределах. Картинки, кстати, синхронизированы, и скачав их, можно глядеть в режиме анимации путем быстрого листанья туда-сюда.
Такой "ритмичный" алгоритм построения наводит на мысль, что узелки построены не зря. Ясно, что это позволяет ArcView улучшить видимый эффект нестыковки разных дуг в проекциях. В географии, где все эти линии по определению прямые, эффект, естественно, не наблюдается.
В ArcMap, похоже, отказались от этой ритмики и вернулись к более честным алгоритмам, без "хитрых штучек-дрючек". Впрочем, возможно, где-то в глубине настроек скрыто управление этими процессами, как оно не раз обнаруживалось в ArcView.
Прожженые ловкачи по части шейп-файлов (из нашего коллектива) тут же подкинули мысль переписать файлы, находясь в проекции. ArcMap не стал, конешно, менять количество узелков, ArcView (как и ожидалось) записал в файл 6 штук. При загрузке последнего в ArcMap для контроля, видно, естественно, все 6 - 4 старых и два новых, в любой проекции.
Так что наш ответ на поставленный вопрос - это, скорее всего, изобразительская фича. Arc же View, в конце концов. Однако чем это может грозить мастодонтам, продолжающим там работать, стоит поразмышлять. В любом случае известно, например, что топология (там, во View) безусловно привязана к проекции, и менять оную после завершения топологии не стоит. Этот пример - лишнее тому подтверждение.
В ArcMap вроде все предсказуемо... хотя над следствиями еще не удалось как следует напрячь серое вещество. Хотелось бы услышать мнение уважаемых коллег по этому направлению!
Уф! (докладчик шумно пьет из графина) ))
- Максим Дубинин
- MindingMyOwnBusiness
- Сообщения: 9128
- Зарегистрирован: 06 окт 2003, 20:20
- Репутация: 747
- Ваше звание: NextGIS
- Откуда: Москва
- Контактная информация:
Ага, пронялоНе все так просто, уважаемые коллеги.
Честным? Но результате мы имеем неправильное отображение объекта в режиме перепроектирования "на лету".В ArcMap, похоже, отказались от этой ритмики и вернулись к более честным алгоритмам
Про проектирование, densify и т.д. можно не советовать, сами с усами Интересно с этим разобраться окончательно. Пошел писать на ESRI.
пристегивайтесь, турбулентность прямо по курсу
-
- Активный участник
- Сообщения: 143
- Зарегистрирован: 10 мар 2004, 08:07
- Репутация: 10
- Откуда: Redlands
- Контактная информация:
Как правильно заметил geologic, корень слова ArcView это всё-таки View. Приятно, что для красоты Вью AV при перепроецирования ВИДА втыкает автоматически эти дополнительные вертексы. Но доверять такой автоматике для построения новых ДАННЫХ я бы не стал.
Как совершенно верно заметил sim, надо быть с усами и для построения данных пользоваться нормальным инструментарием, получая то, что нужно пользователю, и никакой самодеятельности со стороны компьютера. А то так и до восстания терминаторов недалеко. hasta la vista baby айл би бэк
Концептуально, я не вижу противоречия в логике действия программ. ArcView выполняет свою функцию, показывая симпатичный View. В ArcMap течёт кровь поблагороднее, и она не занимается несвойственным ей делом, для этого есть другие инструменты. В качестве "бонуса" AV позволяет сохранить продукт своего Вью, полагая, что пользователь понимает цену этого продукта.
sim, я так и не настроил у себя софт, так что до экспериментов дело не дошло А куда в ESRI пишешь? Я там на форумах не нашёл.
Как совершенно верно заметил sim, надо быть с усами и для построения данных пользоваться нормальным инструментарием, получая то, что нужно пользователю, и никакой самодеятельности со стороны компьютера. А то так и до восстания терминаторов недалеко. hasta la vista baby айл би бэк
По-моему, нет гарантии правильности отображения и в AV, и может даже ОСОБЕННО в AV. Потому что положение "автоматических" вертексов непредсказуемо и неконтролируемо. Если уж нужно корректное отображение, то нужно идти через densify и нормальное перепроецирование, избегая "на лету". имхо.sim писал(а):Но результате мы имеем неправильное отображение объекта в режиме перепроектирования "на лету".
Концептуально, я не вижу противоречия в логике действия программ. ArcView выполняет свою функцию, показывая симпатичный View. В ArcMap течёт кровь поблагороднее, и она не занимается несвойственным ей делом, для этого есть другие инструменты. В качестве "бонуса" AV позволяет сохранить продукт своего Вью, полагая, что пользователь понимает цену этого продукта.
sim, я так и не настроил у себя софт, так что до экспериментов дело не дошло А куда в ESRI пишешь? Я там на форумах не нашёл.
- Максим Дубинин
- MindingMyOwnBusiness
- Сообщения: 9128
- Зарегистрирован: 06 окт 2003, 20:20
- Репутация: 747
- Ваше звание: NextGIS
- Откуда: Москва
- Контактная информация:
Можно еще немножечко поспорить насчет того, кто правее Arcview или ArcGIS? Все IMHO конечно.
На входе: линия, которая является дугой в определенной проекции
На выходе Arcview: набор отрезков, примерно апроксимирующая эту дугу Понятно, что кривых безье в формате нет, поэтому сколько не апроксимируй, все равно не дуга.
На выходе ArcGIS: хрен, то есть просто неправильный объект ни чуточки не напоминающий то, что ожидаем получить.
По-моему здесь дело решенное, иначе мы ляпа на карту бы такого не получили
На входе: линия, которая является дугой в определенной проекции
На выходе Arcview: набор отрезков, примерно апроксимирующая эту дугу Понятно, что кривых безье в формате нет, поэтому сколько не апроксимируй, все равно не дуга.
На выходе ArcGIS: хрен, то есть просто неправильный объект ни чуточки не напоминающий то, что ожидаем получить.
По-моему здесь дело решенное, иначе мы ляпа на карту бы такого не получили
пристегивайтесь, турбулентность прямо по курсу
-
- Гуру
- Сообщения: 852
- Зарегистрирован: 15 сен 2005, 13:19
- Репутация: 6
- Откуда: москва
- Контактная информация:
Господа, так мы далеко уйдем. Правильно... Неправильно... Это все-таки философские категории То, что нам кажется логичным, математикам ESRI показалось неразумным, вот и все. Тем более нельзя оценивать алгоритмы с точки выполнения отдельно взятой задачи. Меня, например, больше волнует топология и что с ней становится при таких "переобразованиях" - но я же молчу...
Наша общая беда, наверное, в том, что в ArcINFO (будем уж сразу в корень), несмотря на свое название, не умеет работать с дугами. Нет такого встроенного примитива. То, как такие примитивы аппроксимируются - вопрос тонкий. Всё это должно безусловно документироваться, а не замалчиваться - но это уже вопрос политики, а не ГИС, и не столь интересен. Вот интересно другое - как другие гисы, где-то есть реальные дуги? Например, АвтокадМап. Митрич обещал отписать сообществу, он корифей. Может, еще кто-то вспомнит - MGE? Geographics?
К слову сказать, sim, мы обильно пользовались вашими сетками, и именно для привязки растров до... той поры, пока не освоили ArcMap - там это не нужно, достаточно удобно пользоваться штатными гридами.
Наша общая беда, наверное, в том, что в ArcINFO (будем уж сразу в корень), несмотря на свое название, не умеет работать с дугами. Нет такого встроенного примитива. То, как такие примитивы аппроксимируются - вопрос тонкий. Всё это должно безусловно документироваться, а не замалчиваться - но это уже вопрос политики, а не ГИС, и не столь интересен. Вот интересно другое - как другие гисы, где-то есть реальные дуги? Например, АвтокадМап. Митрич обещал отписать сообществу, он корифей. Может, еще кто-то вспомнит - MGE? Geographics?
К слову сказать, sim, мы обильно пользовались вашими сетками, и именно для привязки растров до... той поры, пока не освоили ArcMap - там это не нужно, достаточно удобно пользоваться штатными гридами.
- Максим Дубинин
- MindingMyOwnBusiness
- Сообщения: 9128
- Зарегистрирован: 06 окт 2003, 20:20
- Репутация: 747
- Ваше звание: NextGIS
- Откуда: Москва
- Контактная информация:
Надо не молчать, надо ругаться, спорить и выяснять, а потом писать жестокую правду, чтобы весь мир узнал, как нас надувает ESRIМеня, например, больше волнует топология и что с ней становится при таких "переобразованиях" - но я же молчу..
Ну ими по разному ж можно пользоваться, если проектировать не на лету, а пересчитывать, то все ок будет. А что за штатные гриды в ArcGIS? Я ими до сих пор пользуюсь, для проверки привязки, на мой взгляд очень удобно.К слову сказать, sim, мы обильно пользовались вашими сетками, и именно для привязки растров до... той поры, пока не освоили ArcMap - там это не нужно, достаточно удобно пользоваться штатными гридами.
пристегивайтесь, турбулентность прямо по курсу
-
- Гуру
- Сообщения: 852
- Зарегистрирован: 15 сен 2005, 13:19
- Репутация: 6
- Откуда: москва
- Контактная информация:
Да уж, надуешь нас, пожалуй. У нас так даже вроде средства есть, так мы все равно... Хм... Ну не буду о запретном
Штатные гриды, ну те, что в Layout всякие там - километровые, десятичные. Но поскольку там же и привязывать можно, то какая разница? Правда, строить их не всегда просто, какие-то есть закавыки, но имея под рукой пару готовых шаблонов и об этом забываешь. Для проверки, мне кажется, самое то.
Штатные гриды, ну те, что в Layout всякие там - километровые, десятичные. Но поскольку там же и привязывать можно, то какая разница? Правда, строить их не всегда просто, какие-то есть закавыки, но имея под рукой пару готовых шаблонов и об этом забываешь. Для проверки, мне кажется, самое то.
-
- Активный участник
- Сообщения: 143
- Зарегистрирован: 10 мар 2004, 08:07
- Репутация: 10
- Откуда: Redlands
- Контактная информация:
Ну хорошо, давайте не молчать, спорить и выяснять. Надеюсь до ругани и рукоприкладства не дойдётsim писал(а):Надо не молчать, надо ругаться, спорить и выяснять
Ну да, но не нужно требовать от компьютерного алгоритма невозможного - хотя ясно, что линии при перепроецировании должны менять свою форму, то КАК они её будут менять может быть либо примерно апроксимировано алгоритмом, либо заложено при создании данных человеком в виде вертексов в тех местах, где таким вертексам наиболее логично положено находиться.sim писал(а):На входе: линия, которая является дугой в определенной проекции
По определению, любая дуга в компьютерном исполнении (в т.ч. любые апроксимированные дуги, кривые Безье и т.п.) - это в конечном счёте набор прямых отрезков между вертексами. Если доверить размещение этих вертексов алгоритму, получим красивую картинку (с точки зрения алгоритма). Если, зная природу данных, их исходный масштаб, качество и всё такое, попытаться с умом расставить на исходно прямой линии вертексы, по которым в последствии линия честно (С) geologic будет изогнута в дугу, то можно получить не просто красивую картинку, а картинку, максимально соответствующую действительности.
AV, рассчитанная на пользователся уровня beginner/medium, честно исполняет свою функцию построения красивого изображения.
ArcInfo, рассчитанная на пользователя medium/advanced, честно показывает: вот тут у тебя прямая, потрудись сделать из неё дугу как считаешь нужным.
Однако, подвох, который тут присутствует, это то, что ArcMap будет себя вести одинаково при любой лицензии: ArcView, ArcEditor, или ArcInfo. По всему судя, ArcView 8/9/... стратегически будет вымещать ArcView 3, и получается, что пользователь-beginner будет в ArcMap лишён тех поблажек, которые были в AV 3. "Впрочем, - правильно заметил ранее geologic, - возможно, где-то в глубине настроек скрыто управление этими процессами", что проверить сейчас мне не представляется возможным по причинческим технинам.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 10 гостей