Объявлен конкурс на лучшую идею

Вопросы общего характера по ГИС и дистанционному зондированию, не связанные с конкретным ПО.
Ответить
Ведьмак
Участник
Сообщения: 65
Зарегистрирован: 29 окт 2003, 17:12
Репутация: 0
Откуда: Москва
Контактная информация:

Объявлен конкурс на лучшую идею

Сообщение Ведьмак » 23 дек 2003, 17:42

Дано:
Линейные горизонтали рельефа, оцифрованные без учета направления оцифровки.
Требуется:
Обработать их таким образом, дабы, двигаясь вдоль гоизонтали справа всегда иметь бОльшую высоту, а слева - меньшую.
Т.е. выборочно изменить направление оцифровки.

Жду ваших соображений по поводу разработки алгоритма.
Ведьмак

Ведьмак
Участник
Сообщения: 65
Зарегистрирован: 29 окт 2003, 17:12
Репутация: 0
Откуда: Москва
Контактная информация:

Тема закрыта

Сообщение Ведьмак » 29 дек 2003, 11:26

Жаль, что ни у кого не возникло дельных мыслей по этому поводу. Задача решена, но, буде возникнут идеи - интересно ознакомится будет.
Если кого-либо заинтересует методика - готов поделиться соображениями.
Ведьмак

диЧь

Сообщение диЧь » 19 янв 2004, 03:20

Если кого-либо заинтересует методика - готов поделиться соображениями.
Ведьмак, у меня постоянно возникает такая проблема при редактировании. Поделитесь методикой, пожалуйста :) Если удобнее на мыло - то вот сюда collibry@hotbox.ru

Eugene
Новоприбывший
Сообщения: 9
Зарегистрирован: 18 дек 2003, 13:44
Репутация: 0
Откуда: Владивосток-Благовещенск

Сообщение Eugene » 21 янв 2004, 09:30

Есть анологичная проблема при построении ЦМР в Арке. Если при построении используешь гидросеть (линейную). Все линии должны быть отцифрованы от истока к устью, т.е. по течению. Иначе ЦМР строиться некоректно. Многие векторные карты изначально цифровались только для печати, понятно что напревление при этом не учитывалось. И теперь мы имеем что имеем.
Ведьмак, а твои соображения можно применить для такого рода задачи?
Жека.

Ведьмак
Участник
Сообщения: 65
Зарегистрирован: 29 окт 2003, 17:12
Репутация: 0
Откуда: Москва
Контактная информация:

Не, все понятно, но что конкретно? Чё ты имела в виду?

Сообщение Ведьмак » 23 янв 2004, 14:05

Я не совсем понял, чем интересуетесь? Самой методикой, или ее реализацией? Реализована она средствами Avenue в виде совокупности скриптов(3 или 4 - точно не помню). Методику опишу, если есть необходимость прямо здесь, но чуть позже.
Ведьмак

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

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

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

Eugene
Новоприбывший
Сообщения: 9
Зарегистрирован: 18 дек 2003, 13:44
Репутация: 0
Откуда: Владивосток-Благовещенск

Сообщение Eugene » 25 янв 2004, 09:11

Может не совсем все правильно расказал. Попытаюсь исправиться...
Всем известно что при построении грдов в акринфо можно использовать гидросеть. Обычно это линейная тема. А вся фишка в том что аркинфо при построении дема учитывает не только наличие или отсутствие реки, но и направление течения. Значит все линейные объекты реки должны иметь направление от истока к устью. Иначе если какой-либо отрезок реки имеет обратное направление, то в гриде будут косяки, типа этот отрезок течет в бугор. Вот и стоит вопрос: не использовать линейные обекты реки если они не соответствуют этим требованиям или все-таки это можно автоматически поравить. Представления не имею как это можно сделать вот и поинтересовался. Может как-то нужно указать устья речек, которые примыкают к полигональным объектам реки (это как раз последняя вершинка) и все стыкующиеся отрезки направить к ним????

Аватара пользователя
диЧь
Интересующийся
Сообщения: 17
Зарегистрирован: 19 янв 2004, 09:11
Репутация: 0
Откуда: НСО
Контактная информация:

Сообщение диЧь » 26 янв 2004, 08:05

Eugene, от та же самая фигня..

правда, с авеню я не особо.. но это не большая проблема, научусь)

Ведьмак
Участник
Сообщения: 65
Зарегистрирован: 29 окт 2003, 17:12
Репутация: 0
Откуда: Москва
Контактная информация:

Сообщение Ведьмак » 26 янв 2004, 11:41

C реками на самом деле все гораздо проще. Надо представить линию, которая пересекается с полигональным объектом реки в виде совокупности ее узлов. Затем взять первый узел и проверить - не лежит ли он внутри полигона реки (место устья). Если лежит (т.е. река оцифрована от устья к истоку) - "перевернуть" линию реки.

А представьте себе методику из исходной постановки задачи. В каждом узле надо проверить выполнение условия. Но ведь бывают случаи, когда в одном узле - справа - выше, а в соседнем - ниже изолинии. Т.е. линия ни при каких условиях не может удовлетворять предъявленному требованию. Такие линии хочешь, не хочешь пришлось ручками обрабатывать - смотреть че не так и исправлять.
Последний раз редактировалось Ведьмак 26 янв 2004, 11:54, всего редактировалось 2 раза.
Ведьмак

Ведьмак
Участник
Сообщения: 65
Зарегистрирован: 29 окт 2003, 17:12
Репутация: 0
Откуда: Москва
Контактная информация:

Сообщение Ведьмак » 26 янв 2004, 11:44

Реализацию "переворачивания" лини на авеню завтра выложу. Дискету дома оставил :oops:
Ведьмак

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

Сообщение Максим Дубинин » 26 янв 2004, 12:20

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

Почитай в AIHelp Topogrid\Preprocessing stream data там пара выходов из положения указана, но оба, это интерактивный процесс.
пристегивайтесь, турбулентность прямо по курсу

Ведьмак
Участник
Сообщения: 65
Зарегистрирован: 29 окт 2003, 17:12
Репутация: 0
Откуда: Москва
Контактная информация:

Сообщение Ведьмак » 27 янв 2004, 09:52

Примерный код скрипта. Скрипт вызывается через av.Run. В качестве аргумента требует собственно линию, которую надо перевернуть. Возвращает перевернутую линию.

Код: Выделить всё

thePolyLine = SELF
newList = {}
for each pnt in thePolyLine.AsMultipoint.AsList newList.Insert(pnt) end
newPolyLine = PolyLine.Make({newList})
return(newPolyLine)
Хочу сразу предостеречь - скрипт корректно работает только для полилиний без разрывов (см. последний пост от SIM). Он писался именно для изолиний рельефа, которые таких разрывов не имеют.
Ведьмак

LAS

Сообщение LAS » 30 апр 2004, 17:37

Я нельзя ли в Вопросы и ответы да ешо с примерчиками, а то ...плохо усваимость.

Ответить

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

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

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