Страница 1 из 2
Сдвиг темы
Добавлено: 28 сен 2009, 15:47
gisnick
Есть тема в спроецированном виде (она с файлом .prj). Необходимо ее сдвинуть на несколько десятков метров. Пробовал несколько популярных расширений, легко это делающих (которые не раз пользовал). Но, после смещения, шейп "забывает", что был в спроецированном виде, и туда уже не подгружается... Грузится в неспроецированный вид с искажением формы, т.е. метры "родительского" шейпа из спрецированного вида становятся "попугаями" ( 1000м около 0,01"его"). Пытался "подсунуть" .prj файл от исходной, подменив имя - не сработало. Кстати, тот-же эффект при попытке сделать "Convert to Shapefile..."
Возвращаюсь к вопросу о
размерности viewtopic.php?f=15&t=2763 ...
Очень прошу уважаемого "
simа" не обижаться за мою непонятливость

Т.к. "поплясав с бубном", кое-что удалось сделать, но ясности так и нет...
Пример не пришлю, т.к. в рабочих шейпах 4 000 - 40 000 объектов. Самый показательный пример - квадрат со стороной 1 км в любом реальном месте. Я "тренеровался" на километровых сетках в разных проекциях, скачанных здесь
http://gis-lab.info/qa/kmgrids.html (для чистоты экспериментов). Спасибо за поддержку!
Re: Сдвиг темы
Добавлено: 28 сен 2009, 15:49
nadiopt
а что за проекция? если метровая, то можно просто в файле проекции задать смещения на нужную величину
Re: Сдвиг темы
Добавлено: 28 сен 2009, 16:14
gisnick
Да, проекция метровая. А как угадать смещение, если в .prj WGS_1984 единицы "Degree", а не метры?
Понятно, что бензопилой и без бензина пилить можно... Так уж устроен, что в работе предпочитаю как-то прогнозировать результат, следовательно - понимать что из чего следует, чтоб не наступать на грабли, и другим не подсовывать.
При создании или преобразовании шейпа данные вида (проекция, зона, единицы, и т.п.) нигде не фиксируются, а в .prj летит по умолчанию или от фонаря??? Как работать в спроецированных видах правильно, т.е. стабильно и предсказуемо?
Спасибо за быстрый отклик!
Re: Сдвиг темы
Добавлено: 28 сен 2009, 16:22
nadiopt
в свое время при привязке шейпов в Гугль мы меряли смещение линейкой... точности мало, это только для прикидки.
http://www.dataplus.ru/Arcrev/Number_48/18_google.html
я так понимаю, что исходный файл у вас в метрах, а спроецированный вид - в WGS?
Re: Сдвиг темы
Добавлено: 28 сен 2009, 18:22
gisnick
Правильно понимаете! За ссылку спасибо, необходимое смещение мне известно, не удается корректно его сделать... т.е. без "шаманства". Надеюсь, что это просто не достаточное знание инструмента, вот и вопрошаю народ

Re: Сдвиг темы
Добавлено: 29 сен 2009, 03:09
Максим Дубинин
если тема в спроецированном виде в Arcview GIS, то сама она значит в lat/long, она не может быть в метрах.
нужно расширение которое будет сдвигать с учетом проекции вида, а не проекции самой темы (которая отсутствует в случае lat/long). Иначе вы прибавите 100 метров к 50 градусам и получите 150 чего-то непонятного. prj-файл здесь совершенно непричем.
то что тема в неспроецированном виде выглядит не так как в спроецированном не вижу никакой проблемы, поэтому и используются спроецированные виды, чтобы проецировать данные.
Re: Сдвиг темы
Добавлено: 29 сен 2009, 10:37
gisnick
sim писал(а):если тема в спроецированном виде в Arcview GIS, то сама она значит в lat/long, она не может быть в метрах.
Я наивно считаю, что установив в виде WGS84, и указав необходимую зону, тем самым я спроецировал(?) вид, получив попутно метры. Если заблуждаюсь - прокомментируйте пожалуйста...
sim писал(а):нужно расширение которое будет сдвигать с учетом проекции вида, а не проекции самой темы (которая отсутствует в случае lat/long). Иначе вы прибавите 100 метров к 50 градусам и получите 150 чего-то непонятного. prj-файл здесь совершенно непричем.
то что тема в неспроецированном виде выглядит не так как в спроецированном не вижу никакой проблемы, поэтому и используются спроецированные виды, чтобы проецировать данные.
... даже не удобно как-то

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

Re: Сдвиг темы
Добавлено: 29 сен 2009, 20:44
gisnick
Спасибо за "рецепт"! Но...
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 (8.74 КБ) 15782 просмотра
отвечая Да, я получал шейп в DD, который не грузился в мой вид, ответив Нет, получил полный КЛОН шейпа в метрах! Снова вопрос ГДЕ шейп знает в чем он??? Никаких .prj не присутствует, а как вид определяет "свой-чужой"?
В общем отправляю пример проекта с километровым квадратом (в море у Ялты). Архив развернуть в С:/0.

- 2.jpg (57.54 КБ) 15782 просмотра
testline - исходный в метрах, clon_01 - его полная копия(попробуйте сместить не объектом, а шейпом)
clon_00 - "копия" в DD, легко смещаемая любым способом (попробуйте подгрузить в "родительский" вид)
0.rar
- (3.32 КБ) 638 скачиваний
Буду признателен за описание удачных проб (приемлемых к не маленьким шейпам)! Спасибо!
Re: Сдвиг темы
Добавлено: 29 сен 2009, 21:47
SS_Rebelious
Надеюсь, простите меня за то, что лезу в чужой огород) Могу посоветовать альтернативный вариант (может и подойдёт). Экспортируйте свои шейпы в MIF (в этом текстовом файле будут все координаты ваших объектов и сведения с явным указанием единиц измерения), а его импортируйте опенофис калком или ему подобным софтом, где напишите небольшой скрипт

, который будет изменять значения в колонках с координатами на заданную величину (+10 к иксу, -5 к игреку и т.п.). Полученное копируете обратно в MIF, а его конвертируете обратно в шейп. Такой вот изврат...
P.S. Сам такого не делал в отношение шейпов, просто знаю, что арквью умеет конвертить в MIF и обратно...
Re: Сдвиг темы
Добавлено: 30 сен 2009, 01:55
Максим Дубинин
Прислали бы данные сразу, было бы понятнее. clon_00 - уже спроецированные данные, разумеется в метрах, а не в DD как вы пишете. Арквью НЕ работает в спроецированных видах со предварительно спроецированным вектором. Подгружать спроецированные данные в вид и устанавливать проекцию - бессмысленно. Если вам нужны метры - установите метры, не трогайте проекции.
Для сдвига данных в метрах.
0. Открываете чистый вид. Ничего не устанавливаете.
1. Берете шейп в метрах.
2. Делаете его копию.
3. Подгружаете оба в вид.
4. У копии открываете таблицу
5. Включаете редактирование.
6. Выделяете поле shape и включаете Field Calculator
7. Вводите команду:
Re: Сдвиг темы
Добавлено: 30 сен 2009, 08:53
gisnick
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, лежит в Ялтинском заливе, а его "гиперметровый клон" - далекова-то в океане (там уже кратер от моих экспериментов

?)

- сюда попадают все, "псевдометровые" материалы...
- view1.jpg (72.19 КБ) 15745 просмотров

- ... а сюда надо
- WGS-84.jpg (68.32 КБ) 15745 просмотров
Пожалуйста, не повторяйте очевидных "рецептов", вынуждая повторять проблему :
1. Как clon_00 вернуть в WGS-84 ?
2. Чем в
ArcView3.3 сместить шейп в
WGS-84?
Прошу прощения за непонятливость и упорство

(хочу познать...) Спасибо!
Re: Сдвиг темы
Добавлено: 01 окт 2009, 00:56
Максим Дубинин
гугл тут непричем абсолютно, не мешайте все в кучу, вы знакомы с разницей понятий географическая и спроецированная (прямоугольная) система координат? Вы в курсе, что сказать "мои данные находятся в wgs84" - недостаточно, ваши данные могут быть в спроектированной системе координат, единицы измерений метры и иметь в основе эллипсоид WGS84.
Короче говоря, ваши вопросы имеют мало смысла
1. Как clon_00 вернуть в WGS-84 ?
Кто вам сказал, что он уже не в WGS-84? Что по-вашему значит, вернуть в WGS84?
Re: Сдвиг темы
Добавлено: 01 окт 2009, 14:53
gisnick
sim писал(а):гугл тут непричем абсолютно, не мешайте все в кучу
а как быть, если нужно "белые пятна" векторных наработок увидеть в Гугле, и редактировать? Благодаря такой возможности можно работать там где карты не обновлялись более 50лет.
sim писал(а): вы знакомы с разницей понятий географическая и спроецированная (прямоугольная) система координат? Вы в курсе, что сказать "мои данные находятся в wgs84" - недостаточно, ваши данные могут быть в спроектированной системе координат, единицы измерений метры и иметь в основе эллипсоид WGS84.
Извините еще раз! Специального образования не имею... "Сасмообразовываюсь" как могу, за что и Вам благодарен.
sim писал(а):Короче говоря, ваши вопросы имеют мало смысла
Еще раз ивините, не со скуки лезу в интернет (и не Вас раздражать

), а с целью осмыслить непонятное...
sim писал(а):1. Как clon_00 вернуть в WGS-84 ?
Кто вам сказал, что он уже не в WGS-84? Что по-вашему значит, вернуть в WGS84?
Отправив пример, я и вопросы задал в его контексте, т.е. "вернуть в WGS84" = в одноименный вид.
Надеюсь что кто-то сумеет объяснить дилетанту, как из выше приведенного примера, файл темы "clon_00" загрузить в вид "WGS84". Очень прошу не комментировать мою неопытность, и не предлагать "рецептов", которые невозможно повторить с темами, аналогичными "clon_00", но содержащими десятки тысяч полигонов с большим количеством атрибутов. Спасибо за помощь и понимание.
P.S. Это далеко не первый, и давно читаемый мною форум, зарегистрировался на нем, чтоб задать вопросы, на которые ответов не нашел...
Re: Сдвиг темы
Добавлено: 02 окт 2009, 08:14
Максим Дубинин
судя по проекту - вид "WGS 84 meters" имеет проекцию UTM и эллипсоид WGS84
вам нужно:
1) точно определить проекцию и эллипсоид данных слоя clon00
2) перепроецировать слой в проекцию geographic lat/long, эллипсоид WGS84, например с помощью Projection Utility
3) загрузить перепроецированный слой в этот вид
4) для сдвига темы посмотреть рецепт номер 1
Количество объектов в слое значения не имеет.