Сдвиг темы

Arcview GIS 3.x, Arcinfo Workstation, Mapobjects
gisnick
Интересующийся
Сообщения: 16
Зарегистрирован: 10 июл 2006, 08:40
Репутация: 0
Откуда: Crimea

Сдвиг темы

Сообщение gisnick » 28 сен 2009, 15:47

Есть тема в спроецированном виде (она с файлом .prj). Необходимо ее сдвинуть на несколько десятков метров. Пробовал несколько популярных расширений, легко это делающих (которые не раз пользовал). Но, после смещения, шейп "забывает", что был в спроецированном виде, и туда уже не подгружается... Грузится в неспроецированный вид с искажением формы, т.е. метры "родительского" шейпа из спрецированного вида становятся "попугаями" ( 1000м около 0,01"его"). Пытался "подсунуть" .prj файл от исходной, подменив имя - не сработало. Кстати, тот-же эффект при попытке сделать "Convert to Shapefile..."
Возвращаюсь к вопросу о размерности viewtopic.php?f=15&t=2763 ... :roll:
Очень прошу уважаемого "simа" не обижаться за мою непонятливость :oops: Т.к. "поплясав с бубном", кое-что удалось сделать, но ясности так и нет...
Пример не пришлю, т.к. в рабочих шейпах 4 000 - 40 000 объектов. Самый показательный пример - квадрат со стороной 1 км в любом реальном месте. Я "тренеровался" на километровых сетках в разных проекциях, скачанных здесь http://gis-lab.info/qa/kmgrids.html (для чистоты экспериментов). Спасибо за поддержку!

Аватара пользователя
nadiopt
Гуру
Сообщения: 4744
Зарегистрирован: 29 янв 2009, 13:27
Репутация: 495
Ваше звание: хрюкало
Откуда: Санкт-Петербург
Контактная информация:

Re: Сдвиг темы

Сообщение nadiopt » 28 сен 2009, 15:49

а что за проекция? если метровая, то можно просто в файле проекции задать смещения на нужную величину
ин гроссен фамилен нихт клювен клац клац

gisnick
Интересующийся
Сообщения: 16
Зарегистрирован: 10 июл 2006, 08:40
Репутация: 0
Откуда: Crimea

Re: Сдвиг темы

Сообщение gisnick » 28 сен 2009, 16:14

Да, проекция метровая. А как угадать смещение, если в .prj WGS_1984 единицы "Degree", а не метры?
Понятно, что бензопилой и без бензина пилить можно... Так уж устроен, что в работе предпочитаю как-то прогнозировать результат, следовательно - понимать что из чего следует, чтоб не наступать на грабли, и другим не подсовывать.
При создании или преобразовании шейпа данные вида (проекция, зона, единицы, и т.п.) нигде не фиксируются, а в .prj летит по умолчанию или от фонаря??? Как работать в спроецированных видах правильно, т.е. стабильно и предсказуемо?
Спасибо за быстрый отклик!

Аватара пользователя
nadiopt
Гуру
Сообщения: 4744
Зарегистрирован: 29 янв 2009, 13:27
Репутация: 495
Ваше звание: хрюкало
Откуда: Санкт-Петербург
Контактная информация:

Re: Сдвиг темы

Сообщение nadiopt » 28 сен 2009, 16:22

в свое время при привязке шейпов в Гугль мы меряли смещение линейкой... точности мало, это только для прикидки.
http://www.dataplus.ru/Arcrev/Number_48/18_google.html
я так понимаю, что исходный файл у вас в метрах, а спроецированный вид - в WGS?
ин гроссен фамилен нихт клювен клац клац

gisnick
Интересующийся
Сообщения: 16
Зарегистрирован: 10 июл 2006, 08:40
Репутация: 0
Откуда: Crimea

Re: Сдвиг темы

Сообщение gisnick » 28 сен 2009, 18:22

nadiopt писал(а):в свое время при привязке шейпов в Гугль мы меряли смещение линейкой... точности мало, это только для прикидки.
http://www.dataplus.ru/Arcrev/Number_48/18_google.html
я так понимаю, что исходный файл у вас в метрах, а спроецированный вид - в WGS?
Правильно понимаете! За ссылку спасибо, необходимое смещение мне известно, не удается корректно его сделать... т.е. без "шаманства". Надеюсь, что это просто не достаточное знание инструмента, вот и вопрошаю народ :oops:

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

Re: Сдвиг темы

Сообщение Максим Дубинин » 29 сен 2009, 03:09

если тема в спроецированном виде в Arcview GIS, то сама она значит в lat/long, она не может быть в метрах.

нужно расширение которое будет сдвигать с учетом проекции вида, а не проекции самой темы (которая отсутствует в случае lat/long). Иначе вы прибавите 100 метров к 50 градусам и получите 150 чего-то непонятного. prj-файл здесь совершенно непричем.

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

gisnick
Интересующийся
Сообщения: 16
Зарегистрирован: 10 июл 2006, 08:40
Репутация: 0
Откуда: Crimea

Re: Сдвиг темы

Сообщение gisnick » 29 сен 2009, 10:37

sim писал(а):если тема в спроецированном виде в Arcview GIS, то сама она значит в lat/long, она не может быть в метрах.
Я наивно считаю, что установив в виде WGS84, и указав необходимую зону, тем самым я спроецировал(?) вид, получив попутно метры. Если заблуждаюсь - прокомментируйте пожалуйста...

sim писал(а):нужно расширение которое будет сдвигать с учетом проекции вида, а не проекции самой темы (которая отсутствует в случае lat/long). Иначе вы прибавите 100 метров к 50 градусам и получите 150 чего-то непонятного. prj-файл здесь совершенно непричем.

то что тема в неспроецированном виде выглядит не так как в спроецированном не вижу никакой проблемы, поэтому и используются спроецированные виды, чтобы проецировать данные.
... даже не удобно как-то :oops: -ну пускай я чайник и ламер в одном лице, но такие вещи мне зачем повторять? Извините, мне кажется это не ответ...
Повторю вопрос иначе (проще) :
Как сделать дубликат шейпа в спроецированном (метровом) виде, и подгрузить его в этот же вид?
Мне кажется, сдвиг потому и не получается, что "дочерний" шейп летит туда-же, куда и дубликат при "конвертировании в шейп"...
Буду признателен примеру, который смогу повторить в ArcView3.3 его средствами. Спасибо за участие!

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

Re: Сдвиг темы

Сообщение Максим Дубинин » 29 сен 2009, 17:27

gisnick писал(а):Я наивно считаю, что установив в виде WGS84, и указав необходимую зону, тем самым я спроецировал(?) вид, получив попутно метры.
Это верно.

1. Берете шейп в ДД.
2. Делаете его копию.
3. Подгружаете оба в вид.
4. У копии открываете таблицу
5. Включаете редактирование.
6. Выделяете поле shape и включаете Field Calculator
7. Вводите команду:

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

[Shape].returnprojected(av.Finddoc("View1").Getprojection).Move(10,10).returnunprojected(av.Finddoc("View1").Getprojection)
Сохраняете. Примечание: вид с данными должен называться View1.

Изображение
пристегивайтесь, турбулентность прямо по курсу

gisnick
Интересующийся
Сообщения: 16
Зарегистрирован: 10 июл 2006, 08:40
Репутация: 0
Откуда: Crimea

Re: Сдвиг темы

Сообщение gisnick » 29 сен 2009, 20:44

Спасибо за "рецепт"! Но...
sim писал(а):
1. Берете шейп в ДД.
Именно этого и не нужно, т.к. очень многие так брали, и проставив "метры" (чтоб масштаб работал) наваяли кучу материала в "попугаях", см. viewtopic.php?f=15&t=2763
sim писал(а):
2. Делаете его копию.
3. Подгружаете оба в вид.
4. У копии открываете таблицу
5. Включаете редактирование.
6. Выделяете поле shape и включаете Field Calculator
7. Вводите команду: ....
Дальнейшее без проблем даже без пересчета через таблицу... Вопрос , а 10,10 в каких единицах мы смещаем???

Да, каюсь - разобрася с "Convert to Shapefile..." При ответе на вопрос
1.jpg
1.jpg (8.74 КБ) 15731 просмотр
отвечая Да, я получал шейп в DD, который не грузился в мой вид, ответив Нет, получил полный КЛОН шейпа в метрах! Снова вопрос ГДЕ шейп знает в чем он??? Никаких .prj не присутствует, а как вид определяет "свой-чужой"?
В общем отправляю пример проекта с километровым квадратом (в море у Ялты). Архив развернуть в С:/0.
2.jpg
2.jpg (57.54 КБ) 15731 просмотр
testline - исходный в метрах, clon_01 - его полная копия(попробуйте сместить не объектом, а шейпом)
clon_00 - "копия" в DD, легко смещаемая любым способом (попробуйте подгрузить в "родительский" вид)
0.rar
(3.32 КБ) 637 скачиваний
Буду признателен за описание удачных проб (приемлемых к не маленьким шейпам)! Спасибо!

Аватара пользователя
SS_Rebelious
Гуру
Сообщения: 1304
Зарегистрирован: 24 фев 2009, 16:51
Репутация: 99
Ваше звание: GIS pro-fan
Откуда: Lahti / Газ-ПУТИНбург
Контактная информация:

Re: Сдвиг темы

Сообщение SS_Rebelious » 29 сен 2009, 21:47

Надеюсь, простите меня за то, что лезу в чужой огород) Могу посоветовать альтернативный вариант (может и подойдёт). Экспортируйте свои шейпы в MIF (в этом текстовом файле будут все координаты ваших объектов и сведения с явным указанием единиц измерения), а его импортируйте опенофис калком или ему подобным софтом, где напишите небольшой скрипт :mrgreen: , который будет изменять значения в колонках с координатами на заданную величину (+10 к иксу, -5 к игреку и т.п.). Полученное копируете обратно в MIF, а его конвертируете обратно в шейп. Такой вот изврат...

P.S. Сам такого не делал в отношение шейпов, просто знаю, что арквью умеет конвертить в MIF и обратно...
Look for something long enough, and you will find it. Look for something without understanding, and it will find you...
"All paid jobs absorb and degrade the mind." Aristotle
If you take 1 step towards freedom it'll take 2 steps towards you!

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

Re: Сдвиг темы

Сообщение Максим Дубинин » 30 сен 2009, 01:55

Прислали бы данные сразу, было бы понятнее. clon_00 - уже спроецированные данные, разумеется в метрах, а не в DD как вы пишете. Арквью НЕ работает в спроецированных видах со предварительно спроецированным вектором. Подгружать спроецированные данные в вид и устанавливать проекцию - бессмысленно. Если вам нужны метры - установите метры, не трогайте проекции.

Для сдвига данных в метрах.
0. Открываете чистый вид. Ничего не устанавливаете.
1. Берете шейп в метрах.
2. Делаете его копию.
3. Подгружаете оба в вид.
4. У копии открываете таблицу
5. Включаете редактирование.
6. Выделяете поле shape и включаете Field Calculator
7. Вводите команду:

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

[Shape].Move(10,10)
пристегивайтесь, турбулентность прямо по курсу

gisnick
Интересующийся
Сообщения: 16
Зарегистрирован: 10 июл 2006, 08:40
Репутация: 0
Откуда: Crimea

Re: Сдвиг темы

Сообщение gisnick » 30 сен 2009, 08:53

sim писал(а): Прислали бы данные сразу, было бы понятнее. clon_00 - уже спроецированные данные, разумеется в метрах, а не в DD как вы пишете. Арквью НЕ работает в спроецированных видах со предварительно спроецированным вектором. Подгружать спроецированные данные в вид и устанавливать проекцию - бессмысленно.
Если можно, вот это подробнее :?
1. Если clon_00 в метрах, почему он не принимается метровым (WGS-84) видом? И как тогда с ними (типа WGS-84) работать?
sim писал(а): Если вам нужны метры - установите метры, не трогайте проекции.
2. И что получится в итоге? Уже есть много такого материала, который теперь очень проблемно вернуть на свое реальное место (см.выше)... Каким образом согласуется "Projections of the World" "Geographic" с метрами?...
sim писал(а):
0. Открываете чистый вид. Ничего не устанавливаете.
1. Берете шейп в метрах.
Если "в метрах" clon_00, попробуйте посмотреть в Гугле, куда попадете...
clon_01 в WGS-84, лежит в Ялтинском заливе, а его "гиперметровый клон" - далекова-то в океане (там уже кратер от моих экспериментов :oops: ?)
view1.jpg
сюда попадают все, "псевдометровые" материалы...
view1.jpg (72.19 КБ) 15694 просмотра
WGS-84.jpg
... а сюда надо
WGS-84.jpg (68.32 КБ) 15694 просмотра
Пожалуйста, не повторяйте очевидных "рецептов", вынуждая повторять проблему :
1. Как clon_00 вернуть в WGS-84 ?
2. Чем в ArcView3.3 сместить шейп в WGS-84?
Прошу прощения за непонятливость и упорство :oops: (хочу познать...) Спасибо!

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

Re: Сдвиг темы

Сообщение Максим Дубинин » 01 окт 2009, 00:56

гугл тут непричем абсолютно, не мешайте все в кучу, вы знакомы с разницей понятий географическая и спроецированная (прямоугольная) система координат? Вы в курсе, что сказать "мои данные находятся в wgs84" - недостаточно, ваши данные могут быть в спроектированной системе координат, единицы измерений метры и иметь в основе эллипсоид WGS84.

Короче говоря, ваши вопросы имеют мало смысла
1. Как clon_00 вернуть в WGS-84 ?
Кто вам сказал, что он уже не в WGS-84? Что по-вашему значит, вернуть в WGS84?
пристегивайтесь, турбулентность прямо по курсу

gisnick
Интересующийся
Сообщения: 16
Зарегистрирован: 10 июл 2006, 08:40
Репутация: 0
Откуда: Crimea

Re: Сдвиг темы

Сообщение gisnick » 01 окт 2009, 14:53

sim писал(а):гугл тут непричем абсолютно, не мешайте все в кучу
а как быть, если нужно "белые пятна" векторных наработок увидеть в Гугле, и редактировать? Благодаря такой возможности можно работать там где карты не обновлялись более 50лет.
sim писал(а): вы знакомы с разницей понятий географическая и спроецированная (прямоугольная) система координат? Вы в курсе, что сказать "мои данные находятся в wgs84" - недостаточно, ваши данные могут быть в спроектированной системе координат, единицы измерений метры и иметь в основе эллипсоид WGS84.
Извините еще раз! Специального образования не имею... "Сасмообразовываюсь" как могу, за что и Вам благодарен.
sim писал(а):Короче говоря, ваши вопросы имеют мало смысла
Еще раз ивините, не со скуки лезу в интернет (и не Вас раздражать :oops: ), а с целью осмыслить непонятное...
sim писал(а):
1. Как clon_00 вернуть в WGS-84 ?
Кто вам сказал, что он уже не в WGS-84? Что по-вашему значит, вернуть в WGS84?
Отправив пример, я и вопросы задал в его контексте, т.е. "вернуть в WGS84" = в одноименный вид.
Надеюсь что кто-то сумеет объяснить дилетанту, как из выше приведенного примера, файл темы "clon_00" загрузить в вид "WGS84". Очень прошу не комментировать мою неопытность, и не предлагать "рецептов", которые невозможно повторить с темами, аналогичными "clon_00", но содержащими десятки тысяч полигонов с большим количеством атрибутов. Спасибо за помощь и понимание.
P.S. Это далеко не первый, и давно читаемый мною форум, зарегистрировался на нем, чтоб задать вопросы, на которые ответов не нашел...

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

Re: Сдвиг темы

Сообщение Максим Дубинин » 02 окт 2009, 08:14

судя по проекту - вид "WGS 84 meters" имеет проекцию UTM и эллипсоид WGS84
вам нужно:
1) точно определить проекцию и эллипсоид данных слоя clon00
2) перепроецировать слой в проекцию geographic lat/long, эллипсоид WGS84, например с помощью Projection Utility
3) загрузить перепроецированный слой в этот вид
4) для сдвига темы посмотреть рецепт номер 1
Количество объектов в слое значения не имеет.
пристегивайтесь, турбулентность прямо по курсу

Ответить

Вернуться в «Arcview GIS»

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

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