Хочу создать два отдельных векторных слоя

ArcGIS 8.x,9.x,10.x (Arcview, ArcEditor, Arcinfo).
AndreyL
Завсегдатай
Сообщения: 483
Зарегистрирован: 17 авг 2006, 14:04
Репутация: 0
Откуда: Новосибирск

Re: Хочу создать два отдельных векторных слоя

Сообщение AndreyL » 10 окт 2009, 23:42

Прохожий писал(а):Правда немного в первое время смущали данные вытянутые им в угловых расстояниях...
Что значит "в угловых расстояниях"?

Прохожий
Интересующийся
Сообщения: 27
Зарегистрирован: 09 мар 2009, 15:05
Репутация: 0

Re: Хочу создать два отдельных векторных слоя

Сообщение Прохожий » 11 окт 2009, 01:36

Ммм... Вот в таких http://gis-lab.info/qa/great-circles.html. Может просто я не правильно выразился?
Идут они вот в таком виде 0,001335. Это явно не метры, ни километры.

AndreyL
Завсегдатай
Сообщения: 483
Зарегистрирован: 17 авг 2006, 14:04
Репутация: 0
Откуда: Новосибирск

Re: Хочу создать два отдельных векторных слоя

Сообщение AndreyL » 11 окт 2009, 17:22

У Вас, наверное, точечный слой (городов) в географических координатах (в градусах). Можно попробовать перевести его в какую-нибудь прямоугольную проекцию, чтобы координаты в метрах были. Иначе будет не совсем кратчайшее расстояние - масштабы разные за счет схождения меридианов.
Вложения
Dits.png
Dits.png (8.07 КБ) 11999 просмотров

Прохожий
Интересующийся
Сообщения: 27
Зарегистрирован: 09 мар 2009, 15:05
Репутация: 0

Re: Хочу создать два отдельных векторных слоя

Сообщение Прохожий » 13 окт 2009, 12:17

Отдал пару дней на изучение этого вопроса. Наверно что-то не так делаю. Результат не меняться. Выбирал разные географические системы а все остается как было. :(
p. s. Вот что пишет при поиске расстояния :
Выполнение команды: Near Nas_punkt Reki
# NO_LOCATION NO_ANGLE Nas_punkt

Nas_punkt - слой населенных пунктов.

Вот данные из Свойства слоя, закладка Источник:
Тип данных: Класс пространственных объектов шейп-файла
Шейп-файл: K:\Project\PMP\Nas_punkt.shp
Тип геометрии: Точка

Система координат проекции: WGS_1984_UTM_Zone_55N
Проекция: Transverse_Mercator
False_Easting: 500000,00000000
False_Northing: 0,00000000
Central_Meridian: 147,00000000
Scale_Factor: 0,99960000
Latitude_Of_Origin: 0,00000000
Линейная единица: Meter

Географическая система координат: GCS_WGS_1984
Датум: D_WGS_1984
Начальный меридиан: Greenwich
Угловая единица: Degree

Те же данные по слою рек:

Тип данных: Класс пространственных объектов шейп-файла
Шейп-файл: K:\Project\PMP\Reki.shp
Тип геометрии: График

Система координат проекции: WGS_1984_UTM_Zone_55N
Проекция: Transverse_Mercator
False_Easting: 500000,00000000
False_Northing: 0,00000000
Central_Meridian: 147,00000000
Scale_Factor: 0,99960000
Latitude_Of_Origin: 0,00000000
Линейная единица: Meter

Географическая система координат: GCS_WGS_1984
Датум: D_WGS_1984
Начальный меридиан: Greenwich
Угловая единица: Degree

AndreyL
Завсегдатай
Сообщения: 483
Зарегистрирован: 17 авг 2006, 14:04
Репутация: 0
Откуда: Новосибирск

Re: Хочу создать два отдельных векторных слоя

Сообщение AndreyL » 13 окт 2009, 14:33

Прохожий писал(а):Отдал пару дней на изучение этого вопроса. Наверно что-то не так делаю. Результат не меняться. Выбирал разные географические системы а все остается как было.
Круто! В 55-ой зоне UTM в северном полушарии только Курилы, кусок Сахалина и Японии.
Ну да ладно, вопрос не в том. Расскажите, как проверяли. По идее, если Вы в таблицу точек (городов) кроме расстояний будете писать еще и координаты ближайших точек на реках (в Near поставить галочку LOCATION), то точки двух слоев (если один слой городов в географических, а другой в прямоугольных) не совпадут. Если Вы теперь построите линейный слой, где линии соединяют исходные точки (города) с ближайшими точками на реках, и рассчитаете их длину в метрах (калькулятором геометрии), то длины тоже не совпадут.

Прохожий
Интересующийся
Сообщения: 27
Зарегистрирован: 09 мар 2009, 15:05
Репутация: 0

Re: Хочу создать два отдельных векторных слоя

Сообщение Прохожий » 13 окт 2009, 14:52

AndreyL писал(а): Круто! В 55-ой зоне UTM в северном полушарии только Курилы, кусок Сахалина и Японии.
Да это я проверял все подряд, это из последних настроек осталось :oops: Но суть-то не в этом...
AndreyL писал(а): Ну да ладно, вопрос не в том. Расскажите, как проверяли. По идее, если Вы в таблицу точек (городов) кроме расстояний будете писать еще и координаты ближайших точек на реках (в Near поставить галочку LOCATION), то точки двух слоев (если один слой городов в географических, а другой в прямоугольных) не совпадут. Если Вы теперь построите линейный слой, где линии соединяют исходные точки (города) с ближайшими точками на реках, и рассчитаете их длину в метрах (калькулятором геометрии), то длины тоже не совпадут.
Самый простой способ как это проверял, создал новую карту, загрузил один слой, к примеру рек. И взял обычный инструмент Измерить. Ну, тот который с линеечкой и вопросительным знаком над ним. Вот что он к примеру показывает:
Изображение
Это совсем непонятно что показывает. Да и в реальности цифры там совершенно другие...

AndreyL
Завсегдатай
Сообщения: 483
Зарегистрирован: 17 авг 2006, 14:04
Репутация: 0
Откуда: Новосибирск

Re: Хочу создать два отдельных векторных слоя

Сообщение AndreyL » 13 окт 2009, 17:20

Я только не понял, а чего измерял-то линеечкой? Длину рек, что ли? А где сами точки-города? К тому же, если измеряете линеечкой, то менять надо не проекцию слоя, а проекцию вида.
Но разговор шел о том, что ближайшая точка будет находится по разному в прямоугольных и в географических координатах. Попробуйте вынести на карту ближайшие точки для разных проекций, и все увидите.

Прохожий
Интересующийся
Сообщения: 27
Зарегистрирован: 09 мар 2009, 15:05
Репутация: 0

Re: Хочу создать два отдельных векторных слоя

Сообщение Прохожий » 14 окт 2009, 11:04

Я понимаю что ничего не понимаю. На данном рисунке я просто продемонстрировал что при измерении расстояния между устьями рек, результат даже Линейкой не выдается в метрической системе. Такая же ситуация и со слоем населенных пунктов. Соответственно при вычислении минимального расстояния от нас. пункта до объекта результат тоже получается не в метрической системе. Хотя у каждого слоя Линейная единица: Meter :(

AndreyL
Завсегдатай
Сообщения: 483
Зарегистрирован: 17 авг 2006, 14:04
Репутация: 0
Откуда: Новосибирск

Re: Хочу создать два отдельных векторных слоя

Сообщение AndreyL » 14 окт 2009, 11:48

Закинте шейпы архивом, и заодно, скажите, какая это территория

Прохожий
Интересующийся
Сообщения: 27
Зарегистрирован: 09 мар 2009, 15:05
Репутация: 0

Re: Хочу создать два отдельных векторных слоя

Сообщение Прохожий » 14 окт 2009, 12:03

Прикрепил архив. Территория, западная Беларусь, приграничье с Литвой.
Вложения
arhiv.RAR
(122.25 КБ) 483 скачивания

AndreyL
Завсегдатай
Сообщения: 483
Зарегистрирован: 17 авг 2006, 14:04
Репутация: 0
Откуда: Новосибирск

Re: Хочу создать два отдельных векторных слоя

Сообщение AndreyL » 14 окт 2009, 16:12

Так. Во-первых, у Вас экстент городов значительно больше экстента рек. Я взял только те города, которые более-менее рядом с рекой, это слой Towns. Далее считаем по этому слою расстояние до ближайшей реки и координаты точки на реке, которая ближе всего к городу [поля NEAR_X и NEAR_Y]. Кроме того получаем координаты самой точки - города [поля POINT_X и POINT_Y]. Теперь по полученным координатам строим линии, соединяющие города с ближайшими точками на реках (слой ConnectLines) и считаем их длину в метрах.
Перепроектируем слой Towns в UTM 35N, получаем слой TownsUTM. Повторяем для него все процедуры и видим, что от того, в какой проекции находился слой зависит не только численное значение расстояния, но и то, до какой реки будет ближе: в географической системе ближе до одной реки, в прямоугольной - до другой.
Вложения
Archive.rar
(207.89 КБ) 415 скачиваний

Прохожий
Интересующийся
Сообщения: 27
Зарегистрирован: 09 мар 2009, 15:05
Репутация: 0

Re: Хочу создать два отдельных векторных слоя

Сообщение Прохожий » 15 окт 2009, 00:47

Брр.... Я совсем запутался... То что Вы объяснили мне, это все замечательно. Но это совершенно не приблизило меня к решению задачи. Хорошо, давайте так. Я взял топографическую карту километровку. Взял линейку. Замерил расстояние от точки А до точки Б. Посчитал руководствуясь масштабом и оно, к примеру, получилось 500 м. В реальности оно составит то же расстояние. Стоит ли мне думать в этом случае, в географической системе карта или в прямоугольной? Тоже самое и здесь. Я привязал километровку. На основе нее создал слой нас. пунктов и слой рек. Сохранятся расстояния в данном случае? Логика подсказывает что сохранятся. Так почему у меня вместо 500 метров получается что-то вроде 0,00003245? Вот что меня сейчас интересует. Как получить реальные метры?

AndreyL
Завсегдатай
Сообщения: 483
Зарегистрирован: 17 авг 2006, 14:04
Репутация: 0
Откуда: Новосибирск

Re: Хочу создать два отдельных векторных слоя

Сообщение AndreyL » 15 окт 2009, 01:27

Прохожий писал(а):Стоит ли мне думать в этом случае, в географической системе карта или в прямоугольной? Тоже самое и здесь. Я привязал километровку. На основе нее создал слой нас. пунктов и слой рек. Сохранятся расстояния в данном случае? Логика подсказывает что сохранятся.
Логика подвела. Если Вы на Вашу карту нанесете сетку с географическими координатами, то увидите, что это не квадратики, а прямоугольники. Одна секунда по широте около 30 метров, а по долготе около 20. Если одна река находится к северу на 550 метров, то это 18 с копейками секунд, а вторая к востоку на 450 метров, то это 22 с половиной секунды. Получается, что в географических координатах северная река ближе.
Другой вариант: отобразите Вашу карту в географической проекции и посмотрите, как ее поколбасит. Сохранятся после этого расстояния?

Прохожий
Интересующийся
Сообщения: 27
Зарегистрирован: 09 мар 2009, 15:05
Репутация: 0

Re: Хочу создать два отдельных векторных слоя

Сообщение Прохожий » 15 окт 2009, 01:47

Не успел исправить предыдущий пост. :oops: Я наконец-то понял!!! Решил исправить и поблагодарить, а Вы уже ответили. :oops:
Спасибо огромное!!!! Я все понял. Посидел, повозился с тем материалом что вы сбросили и до меня наконец-то дошло :)
Что бы я делал без Вас!!!! Еще раз огромное спасибо!!!!!

AndreyL
Завсегдатай
Сообщения: 483
Зарегистрирован: 17 авг 2006, 14:04
Репутация: 0
Откуда: Новосибирск

Re: Хочу создать два отдельных векторных слоя

Сообщение AndreyL » 15 окт 2009, 02:25

You are Welcome!

Ответить

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

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

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