Как поменять оси местами?
-
- Активный участник
- Сообщения: 153
- Зарегистрирован: 14 окт 2009, 05:07
- Репутация: 0
- Откуда: Красноярск
- Контактная информация:
Как поменять оси местами?
В продолжении темы применение "Применение GRASS в геологии и геофизике" возник вопрос об подмене осей местами.
Например есть геологические разрезы по линиям. хотелось бы развернуть (поменять местами X>Y, Y>Z, Х=const - это частный случай, когда линия разреза в плане проходит параллельно оси Х) и увеличить (изменить масштаб).
Приведенный пример является не совсем стандартным случаем, но часто встречающемся. Для него надо ось Z взять из оси Y с уменьшением в 10 раз, т.е. Z=Y/10, оси X и Y расчитываются по формуле вида Y=aX+b. Описание внутри (примечание в экселевском файле в ОпенОфис не читаются)
Часть атрибутивной информации убрана.
Область для грасс создана amuriy и размещена на 3 странице этой темы
Например есть геологические разрезы по линиям. хотелось бы развернуть (поменять местами X>Y, Y>Z, Х=const - это частный случай, когда линия разреза в плане проходит параллельно оси Х) и увеличить (изменить масштаб).
Приведенный пример является не совсем стандартным случаем, но часто встречающемся. Для него надо ось Z взять из оси Y с уменьшением в 10 раз, т.е. Z=Y/10, оси X и Y расчитываются по формуле вида Y=aX+b. Описание внутри (примечание в экселевском файле в ОпенОфис не читаются)
Часть атрибутивной информации убрана.
Область для грасс создана amuriy и размещена на 3 странице этой темы
- Вложения
-
- рисунок.png (18.33 КБ) 15625 просмотров
-
- primer.rar
- (119.39 КБ) 542 скачивания
Последний раз редактировалось Trace 20 дек 2010, 11:32, всего редактировалось 6 раз.
-
- Гуру
- Сообщения: 4056
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1054
- Ваше звание: программист
- Откуда: Казань
Re: Как поменять оси местами?
уже было - делаете линейное преобразование координат, X_new=0*X +1*Y, Y_new=1*X + 0*Y.
-
- Гуру
- Сообщения: 5173
- Зарегистрирован: 26 сен 2009, 16:26
- Репутация: 793
- Ваше звание: званий не имею
- Откуда: Москва
Re: Как поменять оси местами?
Создал область (ну или "проект") GRASS с двумя этими слоями.
Trace, как соотносятся сам разрез и линия разреза? Линия разреза -- в географ. координатах, сам разрез -- в условных? Или это всё неважно, главное
Trace, как соотносятся сам разрез и линия разреза? Линия разреза -- в географ. координатах, сам разрез -- в условных? Или это всё неважно, главное
?(поменять местами X>Y, Y>Z, Х=const) и увеличить (изменить масштаб)
Последний раз редактировалось Александр Мурый 30 ноя 2010, 09:41, всего редактировалось 1 раз.
Редактор материалов, модератор форума
-
- Активный участник
- Сообщения: 153
- Зарегистрирован: 14 окт 2009, 05:07
- Репутация: 0
- Откуда: Красноярск
- Контактная информация:
Re: Как поменять оси местами?
вы правы, координаты разреза условные, в основном все разрезы начинаются с 0 для X и для Z - отметка высоты в точке начала маршрута и далее в соответствии с масштабом. координаты метровые. начало разреза на плоскости - крайняя левая точка. Координаты оси Z = Z*2000
я с вами не согласен там не все так просто. потому что для расчета координат надо применит формулу по которой можно узнать приращение для X и для Y. и не возникнет ли проблем при сборке полигонов. я волнуюсь за сохранность атрибутивной информации...gamm писал(а):уже было - делаете линейное преобразование координат, X_new=0*X +1*Y, Y_new=1*X + 0*Y.
Последний раз редактировалось Trace 30 ноя 2010, 08:59, всего редактировалось 1 раз.
-
- Гуру
- Сообщения: 5173
- Зарегистрирован: 26 сен 2009, 16:26
- Репутация: 793
- Ваше звание: званий не имею
- Откуда: Москва
Re: Как поменять оси местами?
Trace, объясните подробнее, как должен идти разрез (желательно на русском с примерами и картинками..)
Покрутил разрез туда-сюда с помощью v.transform, ничего не понял..
Покрутил разрез туда-сюда с помощью v.transform, ничего не понял..
В вект. карте razrez (top=0.000000 bottom=0.000000), что делать с высотой? 0*2000=0Координаты оси Z = Z*2000
Редактор материалов, модератор форума
-
- Активный участник
- Сообщения: 153
- Зарегистрирован: 14 окт 2009, 05:07
- Репутация: 0
- Откуда: Красноярск
- Контактная информация:
Re: Как поменять оси местами?
Разрез идёт из точки А в точку В. координаты точек указаны на рисунке. соотношение вертикальных масштабов видно на рисунке (справа единици шейп-файла, слева метры, получается 1:10, т.е. координату Z надо разделить на 10) соотношение горизонтальных масштабов 1 к 1 (единицы измерения - метры).
Заменил файл "razrez_xy.shp" не заметил лишних точек на линии
Заменил файл "razrez_xy.shp" не заметил лишних точек на линии
- Вложения
-
- пример расположения разреза
- пример.png (93.94 КБ) 15977 просмотров
-
- Гуру
- Сообщения: 5173
- Зарегистрирован: 26 сен 2009, 16:26
- Репутация: 793
- Ваше звание: званий не имею
- Откуда: Москва
Re: Как поменять оси местами?
Покрутил ещё. Мне кажется, или такая задача не для ГИС в принципе? В том числе, не для GRASS?
Просьба: опишите конечный разрез (как он должен идти и т.д.) Как понять X>Y, Y>Z, Х=const? X>Y понятно, Y>Z уже хуже, как при этом Х=const ?
Просьба: опишите конечный разрез (как он должен идти и т.д.) Как понять X>Y, Y>Z, Х=const? X>Y понятно, Y>Z уже хуже, как при этом Х=const ?
Формулу в студию.я так понимаю Х и У можно расчитать по формуле
Редактор материалов, модератор форума
-
- Активный участник
- Сообщения: 153
- Зарегистрирован: 14 окт 2009, 05:07
- Репутация: 0
- Откуда: Красноярск
- Контактная информация:
Re: Как поменять оси местами?
Экспортировал разрез в грасс. сделал все шаги из предыдущей темы загнал в эксель, расчитал формулу для перевода координат, экспортировал-импортировал в грасс обратно. но что то у меня не получилось создать 3Д. и не совсем понятно как потом соодинить все обратно в полигоны?!
Последний раз редактировалось Trace 29 ноя 2010, 13:17, всего редактировалось 1 раз.
-
- Гуру
- Сообщения: 5173
- Зарегистрирован: 26 сен 2009, 16:26
- Репутация: 793
- Ваше звание: званий не имею
- Откуда: Москва
Re: Как поменять оси местами?
Запутываюсь всё больше..
В экселевском файле пересчитываются координаты разреза XY из условных в географические? А коорд. Z делится на 10, так? И все оси уже повёрнуты как надо?
Просто, чтобы загнать что-то в GRASS (ос-но в 3D), надо понять, что мы загоняем-то..;)
В экселевском файле пересчитываются координаты разреза XY из условных в географические? А коорд. Z делится на 10, так? И все оси уже повёрнуты как надо?
Просто, чтобы загнать что-то в GRASS (ос-но в 3D), надо понять, что мы загоняем-то..;)
Редактор материалов, модератор форума
-
- Активный участник
- Сообщения: 153
- Зарегистрирован: 14 окт 2009, 05:07
- Репутация: 0
- Откуда: Красноярск
- Контактная информация:
Re: Как поменять оси местами?
Вы правы, координаты в метрах. В предыдущем файле все оси повернуты как надо.В экселевском файле пересчитываются координаты разреза XY из условных в географические? А коорд. Z делится на 10, так? И все оси уже повёрнуты как надо?
осталось только теперь собрать полигоны и все... но что то я думаю что это не так просто.
Появился вопрос???
Если экспоритровать через команду
Код: Выделить всё
"v.out.ascii input=razrez_xy@primer output=C:/Temp/razrez.dat format=standard fs=| dp=8 layer=1 "
Код: Выделить всё
"v.in.ascii input=C:/Temp/razrez.dat output=razrez_xyz format=standard {fs= } skip=0 x=1 y=2 z=0 cat=0 --overwrite"
привожу вам полученный файл. возможно у Вас получится его визуализировать.
могу показать что у меня получается при визуализации точек с помощью арквью
Последний раз редактировалось Trace 30 ноя 2010, 09:00, всего редактировалось 2 раза.
-
- Гуру
- Сообщения: 5173
- Зарегистрирован: 26 сен 2009, 16:26
- Репутация: 793
- Ваше звание: званий не имею
- Откуда: Москва
Re: Как поменять оси местами?
v.out.ascii с опцией format=standard экспортирует не точки, а векторные объекты целиком (т.е. должны быть полигоны)
Надо попробовать сделать ещё одну область с EPSG:28476, туда импортировать razrez.dat со сменой осей.
Надо попробовать сделать ещё одну область с EPSG:28476, туда импортировать razrez.dat со сменой осей.
Редактор материалов, модератор форума
-
- Активный участник
- Сообщения: 153
- Зарегистрирован: 14 окт 2009, 05:07
- Репутация: 0
- Откуда: Красноярск
- Контактная информация:
Re: Как поменять оси местами?
я это и сделал. но видать где то промахнулся с настройками региона
вот что я имею ввиду (см картинку) но для точек, когда говорю "повернуть" и "поменять местами" (координаты осей метровые) не пойму как из точек сделать полигоны
вот что я имею ввиду (см картинку) но для точек, когда говорю "повернуть" и "поменять местами" (координаты осей метровые) не пойму как из точек сделать полигоны
- Вложения
-
- визуализация
- viewer1.jpg (137.57 КБ) 15883 просмотра
Последний раз редактировалось Trace 29 ноя 2010, 13:18, всего редактировалось 1 раз.
-
- Активный участник
- Сообщения: 153
- Зарегистрирован: 14 окт 2009, 05:07
- Репутация: 0
- Откуда: Красноярск
- Контактная информация:
Re: Как поменять оси местами?
УРА! у меня все получилось. завтра распишу что делал, приведу пример и конкретизирую вопрос который вызывает у меня сложности.
-
- Гуру
- Сообщения: 5173
- Зарегистрирован: 26 сен 2009, 16:26
- Репутация: 793
- Ваше звание: званий не имею
- Откуда: Москва
Re: Как поменять оси местами?
А я тем временем импортировал в GRASS razrez.dat без смены осей (т.к. это только для "точечного" режима), задал по нему 3D-регион. Вот что получилось в NVIZ (сетка сверху имеет высоту 200 м, снизу разрез в усл. коорд-х):
Редактор материалов, модератор форума
-
- Активный участник
- Сообщения: 153
- Зарегистрирован: 14 окт 2009, 05:07
- Репутация: 0
- Откуда: Красноярск
- Контактная информация:
Re: Как поменять оси местами?
У нас с Вами одинаковый результат...
проделал следующие действия (привожу пример без команд потому что они указаны в этой теме и предыдущих):
проделал следующие действия (привожу пример без команд потому что они указаны в этой теме и предыдущих):
- 1. импортировал шейп-файл в Грасс
2. экспоритовал шейп-файл из грасс в текстовый формат
3. произвел расчет в экселе и экспортировал полученные данные назад в текстовый файл
4. импортировал текстовый файл в грасс
5. визуализировал в грасс с помощью NVIZ
- 1. Как присвоит атрибутивную информацию полученным полигонам (по идее поле "cat" осталось прежним)
2. Как перенести расчет данных в грасс для автоматизации действий (вместе с расчетом формулы)
- Вложения
-
- primer.rar
- пример
- (119.39 КБ) 594 скачивания
Последний раз редактировалось Trace 18 дек 2010, 17:49, всего редактировалось 2 раза.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 9 гостей