Расстановка километровых столбиков

ArcGIS 8.x,9.x,10.x (Arcview, ArcEditor, Arcinfo).
Tereha
Завсегдатай
Сообщения: 419
Зарегистрирован: 15 май 2010, 06:13
Репутация: 4

Расстановка километровых столбиков

Сообщение Tereha » 25 окт 2014, 10:24

Уважаемые Гуру!
Имеется слой дорог. Каждая дорога состоит из нескольких отрезков. Как вдоль всей дороги расставить значки километровых столбиков? Если я правильно понимаю, нужна команда редактирования типа divide с созданием отдельного слоя.

Monstria
Активный участник
Сообщения: 133
Зарегистрирован: 17 май 2011, 06:22
Репутация: 50
Откуда: Нижний Новгород

Re: Расстановка километровых столбиков

Сообщение Monstria » 25 окт 2014, 12:10

Интересная задачка, которой тоже собираюсь заняться в ближайшее время... Будут интересны решения.

giser
Завсегдатай
Сообщения: 388
Зарегистрирован: 09 ноя 2012, 09:25
Репутация: 113
Откуда: Москва

Re: Расстановка километровых столбиков

Сообщение giser » 25 окт 2014, 15:49

Tereha писал(а):Каждая дорога состоит из нескольких отрезков. Как вдоль всей дороги...
Несмотря на то, что каждая дорога разбита на отрезки, думаю, они (отрезки) все-таки имеют какой-то общий атрибут-код, который индивидуален для каждой дороги. Поэтому я сначала посоветовал бы Вам сделать Dissolve слоя дорог на основе поля вышеупомянутого атрибута.
Далее создать точечный слой для "столбиков". Затем по очереди выбирать каждую дорогу и делать для каждой "Построить точки" (меню "Редактор"), там прописываете расстояние 1000 м (если у Вас такие единицы измерения). Как-то так. К сожалению, похоже, в ArcToolbox нет инструмента, который мог бы пакетно сразу весь слой дорог таким образом обработать. Там для таких целей есть инструменты "Системы линейных координат". В данной ситуации, думаю, не стоит так заморачиваться, учитывая, что нужно расставить точки через равные километровые интервалы.

Tereha
Завсегдатай
Сообщения: 419
Зарегистрирован: 15 май 2010, 06:13
Репутация: 4

Re: Расстановка километровых столбиков

Сообщение Tereha » 26 окт 2014, 08:41

Спасибо!!!
1. Из сегментов дорогу сделал.
2. В acrCatalog сделал точечный shape file. Добавил его в качестве слоя.
3. Вошел в режим редактирования этого файла - на панели редактирования EditorToolbar -> Editor -> start editing -> выбрал созданный слой точек.
4 Кликнул на дорогу - вышло окошко где указал что нужно разбить через 1000 метров.

Разбило. Осталось неясность как создавать поле для подписи номера километра .
Автоматически при создании shape файла создались 3 поля FID, Shape, Id. Поле Id - нулевое, FID - автоинкрементное поле можно использовать для именования номера километра.
Но это если бы дорога была одна. На следующей FID уже не будет соответствовать километрам.

?

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

Re: Расстановка километровых столбиков

Сообщение nadiopt » 26 окт 2014, 09:46

ну попробовать пронумеровать дороги, сделать какое-нить пространственное соединение, а дальше в экселе перенумеровать точки как надо с помощью фильтра и назад подсоединить
ин гроссен фамилен нихт клювен клац клац

giser
Завсегдатай
Сообщения: 388
Зарегистрирован: 09 ноя 2012, 09:25
Репутация: 113
Откуда: Москва

Re: Расстановка километровых столбиков

Сообщение giser » 26 окт 2014, 12:44

Tereha писал(а):Но это если бы дорога была одна. На следующей FID уже не будет соответствовать километрам.
Да, я бы сначала километровым точкам добавил Id соответствующих дорог. Сделать это можно соединением на основе пространственного положения. А затем уже с помощью выборки и калькулятора добиться нужного результата (это можно, как сказали выше, сделать в Excel, но лично я люблю все в одной проге делать :) ).
Последний раз редактировалось giser 26 окт 2014, 17:37, всего редактировалось 2 раза.

Tereha
Завсегдатай
Сообщения: 419
Зарегистрирован: 15 май 2010, 06:13
Репутация: 4

Re: Расстановка километровых столбиков

Сообщение Tereha » 26 окт 2014, 14:18

Спасибо! Идею понял. Мне проще это программно сделать. Когда точечный слой уже есть - выбрать точки для каждой дороги ... Правда при этом приходится надеяться, что выборка точек упорядочена в заданном направлении дороги.
Я правда рассчитывал, что эта задача стандартная и должна быть соответствующая методика.
Есть такой еще метод - resources.arcgis.com/en/help/main/10.2/index.html#/About_hatching_route_feature_classes/00390000001n000000/
И такой - http://resources.arcgis.com/en/help/mai ... 000z000000

giser
Завсегдатай
Сообщения: 388
Зарегистрирован: 09 ноя 2012, 09:25
Репутация: 113
Откуда: Москва

Re: Расстановка километровых столбиков

Сообщение giser » 26 окт 2014, 14:29

Про первый я упоминал, сам особо в нем не разбираюсь пока.
giser писал(а):К сожалению, похоже, в ArcToolbox нет инструмента, который мог бы пакетно сразу весь слой дорог таким образом обработать. Там для таких целей есть инструменты "Системы линейных координат".
Про программно - верно, можно и в МоделБилдере инструмент сделать легко. Просто я же не знаю Ваш уровень знаний :)

А как именно здесь применить второй не очень понял.
Последний раз редактировалось giser 26 окт 2014, 18:12, всего редактировалось 2 раза.

giser
Завсегдатай
Сообщения: 388
Зарегистрирован: 09 ноя 2012, 09:25
Репутация: 113
Откуда: Москва

Re: Расстановка километровых столбиков

Сообщение giser » 26 окт 2014, 14:35

Tereha писал(а):Правда при этом приходится надеяться, что выборка точек упорядочена в заданном направлении дороги.
Перед тем как создавать точки я все-таки бы проверил хотя бы визуально направление дорог, где нужно -перевернуть. А порядок нумерации создаваемых точек обычно адекватен.

Tereha
Завсегдатай
Сообщения: 419
Зарегистрирован: 15 май 2010, 06:13
Репутация: 4

Re: Расстановка километровых столбиков

Сообщение Tereha » 27 окт 2014, 15:59

Инструмент Create Routes (найти инструмент можно на вкладке Search - набрать Create Routes) - во первых объединяет линии в одну дорогу по определенному полю, скажем routeID. Работает также как и Dissolve, но делает несколько больше. Теперь на свойствах слоя появляется вкладка Hatches (переводится типа "Штриховка" - как на сантиметре). А затем создается несколько уровней штриховки resources.arcgis.com/en/help/main/10.1/index.html#/About_hatching_route_feature_classes/00390000001n000000/
Скажем как на сантиметровой линейке - три штриховки: для штриховки через 1 см - большие "деления", которые подписываются, через 0,5 см поменьше, а через 1 мм - самые маленькие без подписей. Это так называемые Hatch definitions. Совокупность их определяет Hatch класс. Для определения начального километра на дороге можно завести специальное поле , скажем км_начало во вновь созданном слое инструментом create routes. При определении Hatch класса есть кнопка Hatch placement - на ней это поле можно указать в качестве начального километра.
Имеет смысл сделать выборку дорог, скажем одну для начала чтобы попробовать - как все это будет выглядеть и как работает. Для этого есть кнопка SQL Query ...
Если выбрать все дороги сразу ( параметры типа начального км - можно задать в слое дорог) - то одним кликом создается разметка для всех дорог.
Я не все попробовал, так что возможно что-то не так понял. Но попробую - напишу.

Tereha
Завсегдатай
Сообщения: 419
Зарегистрирован: 15 май 2010, 06:13
Репутация: 4

Re: Расстановка километровых столбиков

Сообщение Tereha » 27 окт 2014, 16:00

Инструмент Create Routes (найти инструмент можно на вкладке Search - набрать Create Routes) - во первых объединяет линии в одну дорогу по определенному полю, скажем routeID. Работает также как и Dissolve, но делает несколько больше. Теперь на свойствах слоя появляется вкладка Hatches (переводится типа "Штриховка" - как на сантиметровой линейке). А затем создается несколько уровней штриховки resources.arcgis.com/en/help/main/10.1/index.html#/About_hatching_route_feature_classes/00390000001n000000/
Скажем как на сантиметровой линейке - три штриховки: для штриховки через 1 см - большие "деления", которые подписываются, через 0,5 см поменьше, а через 1 мм - самые маленькие без подписей. Это так называемые Hatch definitions. Совокупность их определяет Hatch класс. Для определения начального километра на дороге можно завести специальное поле , скажем км_начало во вновь созданном слое инструментом create routes. При определении Hatch класса есть кнопка Hatch placement - на ней это поле можно указать в качестве начального километра.
Имеет смысл сделать выборку дорог, скажем одну для начала чтобы попробовать - как все это будет выглядеть и как работает. Для этого есть кнопка SQL Query ...
Если выбрать все дороги сразу ( параметры типа начального км - можно задать в слое дорог) - то одним кликом создается разметка для всех дорог.
Я не все попробовал, так что возможно что-то не так понял. Попробую - напишу.

giser
Завсегдатай
Сообщения: 388
Зарегистрирован: 09 ноя 2012, 09:25
Репутация: 113
Откуда: Москва

Re: Расстановка километровых столбиков

Сообщение giser » 27 окт 2014, 16:21

Попробуйте) Для меня с первого захода показалось сложновато...да и серьезной цели не было разобраться, но тоже интересно.

Monstria
Активный участник
Сообщения: 133
Зарегистрирован: 17 май 2011, 06:22
Репутация: 50
Откуда: Нижний Новгород

Re: Расстановка километровых столбиков

Сообщение Monstria » 27 окт 2014, 17:16

Итак - как обещал интересное решение задачки - выполняю

http://youtu.be/B3IDCnCh0Hg
MilePointer(1.1).rar
(72.7 КБ) 471 скачивание
Несколько замечаний:
1. Данный плагин является тестовым (не полностью готовое решение), распостраняется как есть, без всяких обязательств ;)
2. Для начала работы плагина нужно как минимум раз кликнуть по кнопке плагина (зашита приложения от левых ловушек)
3. Кнопка инструмента активизируется только если выбран один слой с линейными объектами и соответственно есть выделенные полилинии
4. Работа с составной геометрией (разрывы в выделенных линиях) могут приводить к противоречивым результатам, посему выведено предупреждение
5. После добавления карты в слой - обновите экстент (просто забыл сделать обновление автоматом)
Последний раз редактировалось Monstria 27 окт 2014, 18:48, всего редактировалось 2 раза.

giser
Завсегдатай
Сообщения: 388
Зарегистрирован: 09 ноя 2012, 09:25
Репутация: 113
Откуда: Москва

Re: Расстановка километровых столбиков

Сообщение giser » 27 окт 2014, 17:53

Есть какие-то тонкости? ...в плане СК и единиц измерения фрейма. У меня какую-то проблему трансформации датума выдает и ставит только одну точку (начальную) на линии 8 км. Я использую неопределенную СК (типа план-схема (метры)).

Monstria
Активный участник
Сообщения: 133
Зарегистрирован: 17 май 2011, 06:22
Репутация: 50
Откуда: Нижний Новгород

Re: Расстановка километровых столбиков

Сообщение Monstria » 27 окт 2014, 17:56

giser писал(а):Есть какие-то тонкости? ...в плане СК и единиц измерения фрейма. У меня какую-то проблему трансформации датума выдает и ставит только одну точку (начальную) на линии 8 км. Я использую неопределенную СК (типа план-схема (метры)).
Проверьте что бы СК фрейма и СК данных были одинаковы

PS.. Заметил косяки если СК фрейма WGS84 - постараюсь поправить
Последний раз редактировалось Monstria 27 окт 2014, 18:22, всего редактировалось 1 раз.

Ответить

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

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

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