Объявлен конкурс на лучшую идею
-
- Участник
- Сообщения: 65
- Зарегистрирован: 29 окт 2003, 17:12
- Репутация: 0
- Откуда: Москва
- Контактная информация:
Объявлен конкурс на лучшую идею
Дано:
Линейные горизонтали рельефа, оцифрованные без учета направления оцифровки.
Требуется:
Обработать их таким образом, дабы, двигаясь вдоль гоизонтали справа всегда иметь бОльшую высоту, а слева - меньшую.
Т.е. выборочно изменить направление оцифровки.
Жду ваших соображений по поводу разработки алгоритма.
Линейные горизонтали рельефа, оцифрованные без учета направления оцифровки.
Требуется:
Обработать их таким образом, дабы, двигаясь вдоль гоизонтали справа всегда иметь бОльшую высоту, а слева - меньшую.
Т.е. выборочно изменить направление оцифровки.
Жду ваших соображений по поводу разработки алгоритма.
Ведьмак
-
- Участник
- Сообщения: 65
- Зарегистрирован: 29 окт 2003, 17:12
- Репутация: 0
- Откуда: Москва
- Контактная информация:
Тема закрыта
Жаль, что ни у кого не возникло дельных мыслей по этому поводу. Задача решена, но, буде возникнут идеи - интересно ознакомится будет.
Если кого-либо заинтересует методика - готов поделиться соображениями.
Если кого-либо заинтересует методика - готов поделиться соображениями.
Ведьмак
Ведьмак, у меня постоянно возникает такая проблема при редактировании. Поделитесь методикой, пожалуйста Если удобнее на мыло - то вот сюда collibry@hotbox.ruЕсли кого-либо заинтересует методика - готов поделиться соображениями.
-
- Новоприбывший
- Сообщения: 9
- Зарегистрирован: 18 дек 2003, 13:44
- Репутация: 0
- Откуда: Владивосток-Благовещенск
Есть анологичная проблема при построении ЦМР в Арке. Если при построении используешь гидросеть (линейную). Все линии должны быть отцифрованы от истока к устью, т.е. по течению. Иначе ЦМР строиться некоректно. Многие векторные карты изначально цифровались только для печати, понятно что напревление при этом не учитывалось. И теперь мы имеем что имеем.
Ведьмак, а твои соображения можно применить для такого рода задачи?
Жека.
Ведьмак, а твои соображения можно применить для такого рода задачи?
Жека.
-
- Участник
- Сообщения: 65
- Зарегистрирован: 29 окт 2003, 17:12
- Репутация: 0
- Откуда: Москва
- Контактная информация:
Не, все понятно, но что конкретно? Чё ты имела в виду?
Я не совсем понял, чем интересуетесь? Самой методикой, или ее реализацией? Реализована она средствами Avenue в виде совокупности скриптов(3 или 4 - точно не помню). Методику опишу, если есть необходимость прямо здесь, но чуть позже.
Ведьмак
- Максим Дубинин
- MindingMyOwnBusiness
- Сообщения: 9128
- Зарегистрирован: 06 окт 2003, 20:20
- Репутация: 747
- Ваше звание: NextGIS
- Откуда: Москва
- Контактная информация:
-
- Новоприбывший
- Сообщения: 9
- Зарегистрирован: 18 дек 2003, 13:44
- Репутация: 0
- Откуда: Владивосток-Благовещенск
Может не совсем все правильно расказал. Попытаюсь исправиться...
Всем известно что при построении грдов в акринфо можно использовать гидросеть. Обычно это линейная тема. А вся фишка в том что аркинфо при построении дема учитывает не только наличие или отсутствие реки, но и направление течения. Значит все линейные объекты реки должны иметь направление от истока к устью. Иначе если какой-либо отрезок реки имеет обратное направление, то в гриде будут косяки, типа этот отрезок течет в бугор. Вот и стоит вопрос: не использовать линейные обекты реки если они не соответствуют этим требованиям или все-таки это можно автоматически поравить. Представления не имею как это можно сделать вот и поинтересовался. Может как-то нужно указать устья речек, которые примыкают к полигональным объектам реки (это как раз последняя вершинка) и все стыкующиеся отрезки направить к ним????
Всем известно что при построении грдов в акринфо можно использовать гидросеть. Обычно это линейная тема. А вся фишка в том что аркинфо при построении дема учитывает не только наличие или отсутствие реки, но и направление течения. Значит все линейные объекты реки должны иметь направление от истока к устью. Иначе если какой-либо отрезок реки имеет обратное направление, то в гриде будут косяки, типа этот отрезок течет в бугор. Вот и стоит вопрос: не использовать линейные обекты реки если они не соответствуют этим требованиям или все-таки это можно автоматически поравить. Представления не имею как это можно сделать вот и поинтересовался. Может как-то нужно указать устья речек, которые примыкают к полигональным объектам реки (это как раз последняя вершинка) и все стыкующиеся отрезки направить к ним????
- диЧь
- Интересующийся
- Сообщения: 17
- Зарегистрирован: 19 янв 2004, 09:11
- Репутация: 0
- Откуда: НСО
- Контактная информация:
-
- Участник
- Сообщения: 65
- Зарегистрирован: 29 окт 2003, 17:12
- Репутация: 0
- Откуда: Москва
- Контактная информация:
C реками на самом деле все гораздо проще. Надо представить линию, которая пересекается с полигональным объектом реки в виде совокупности ее узлов. Затем взять первый узел и проверить - не лежит ли он внутри полигона реки (место устья). Если лежит (т.е. река оцифрована от устья к истоку) - "перевернуть" линию реки.
А представьте себе методику из исходной постановки задачи. В каждом узле надо проверить выполнение условия. Но ведь бывают случаи, когда в одном узле - справа - выше, а в соседнем - ниже изолинии. Т.е. линия ни при каких условиях не может удовлетворять предъявленному требованию. Такие линии хочешь, не хочешь пришлось ручками обрабатывать - смотреть че не так и исправлять.
А представьте себе методику из исходной постановки задачи. В каждом узле надо проверить выполнение условия. Но ведь бывают случаи, когда в одном узле - справа - выше, а в соседнем - ниже изолинии. Т.е. линия ни при каких условиях не может удовлетворять предъявленному требованию. Такие линии хочешь, не хочешь пришлось ручками обрабатывать - смотреть че не так и исправлять.
Последний раз редактировалось Ведьмак 26 янв 2004, 11:54, всего редактировалось 2 раза.
Ведьмак
-
- Участник
- Сообщения: 65
- Зарегистрирован: 29 окт 2003, 17:12
- Репутация: 0
- Откуда: Москва
- Контактная информация:
- Максим Дубинин
- MindingMyOwnBusiness
- Сообщения: 9128
- Зарегистрирован: 06 окт 2003, 20:20
- Репутация: 747
- Ваше звание: NextGIS
- Откуда: Москва
- Контактная информация:
Река то может разрываться по тысяче разных причин, не только из-за ошибок цифровщика, но и например небольшой полигональный участок обычно тоже ее разрывает (хотя это зависит от того как цифровали).Может как-то нужно указать устья речек, которые примыкают к полигональным объектам реки (это как раз последняя вершинка) и все стыкующиеся отрезки направить к ним????
Почитай в AIHelp Topogrid\Preprocessing stream data там пара выходов из положения указана, но оба, это интерактивный процесс.
пристегивайтесь, турбулентность прямо по курсу
-
- Участник
- Сообщения: 65
- Зарегистрирован: 29 окт 2003, 17:12
- Репутация: 0
- Откуда: Москва
- Контактная информация:
Примерный код скрипта. Скрипт вызывается через av.Run. В качестве аргумента требует собственно линию, которую надо перевернуть. Возвращает перевернутую линию.
Хочу сразу предостеречь - скрипт корректно работает только для полилиний без разрывов (см. последний пост от SIM). Он писался именно для изолиний рельефа, которые таких разрывов не имеют.
Код: Выделить всё
thePolyLine = SELF
newList = {}
for each pnt in thePolyLine.AsMultipoint.AsList newList.Insert(pnt) end
newPolyLine = PolyLine.Make({newList})
return(newPolyLine)
Ведьмак
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 13 гостей