Линейная регулярная сетка fTools(?)
-
- Гуру
- Сообщения: 920
- Зарегистрирован: 30 дек 2008, 14:11
- Репутация: 236
- Откуда: Ханты-Мансийск
- Контактная информация:
Линейная регулярная сетка fTools(?)
Поскольку я пользователь не очень опытный, то не уверен, что это ошибка программы, возможно я не улавливаю какой-то специфичной логики перепроецирования...
Хотел написать инструкцию "Нанесение градусной сетки на спроектированную карту в QGIS" но столкнулся со сложностью которую не смог преодолеть.
Для примера использовал слой административных границ из геосэмпла.
---
Если я правильно понял, то в макетах карты QGIS нет возможности нанесения градусной сетки на спроектированные карты. Градусную сетку в макете карты можно получить только если проект находится в географической системе координат.
Тем не менее, существует способ как это ограничение обойти.
Открываем необходимые нам данные в новом проекте, в свойствах проекта указываем географическую систему координат, например GSC WGS 84 (EPSG:4326).
Далее создадим регулярную сетку, воспользовавшись модулем fTools(?) Вектор/Выборка/Регулярная сетка.
В появившемся меню, укажем слой имеющий наибольший пространственный охват (или слой, пространственного охвата которого достаточно для необходимой нам карты). Нажмем кнопку "Получить из слоя".
Отредактируем полученные значения координат: увеличим-уменьшим, округлим (выбрать нужное).
В графе параметры укажем шаг сетки, в случае с выбранной нами географической системой координат, 1 единица шага сетки будет равна 1 градусу.
Далее предлагается выбрать: создать сетку как полигоны или как линии. Выберем линии.
Укажем путь, куда необходимо сохранить сгенерированный Shape-файл. Жмем "ОК".
Если зайти в таблицу атрибутов сгенерированного Shape-файла, то в графе COORD будут значения координат полученных линий: у горизонтальных -- широта, у вертикальных -- долгота.
Теперь меняем систему координат проекта на спроектированную, например WGS 84/UTM zone 44N (EPSG32245). Создаем подписи и вставляем полученную карту в макет.
---
НО! Удивительное дело, горизонтальные линии перепроецируются неадекватно. Сохраним идентичную градусную сетку в виде полигонов, наложим их друг на друга и перепроцируем. Картинка получается следующей (см. прилагающийся файл). Синим показана перепроецированная линейная сетка, черным -- полигональная.
---
Интересно, что если преобразовать полученную полигональную сетку в линии, то она перепроецируется нормально. Видимо проблема в сгенерированном fTools линейном Shape-файле?
Кстати, если на полученную (полигональную) сетку нанести градусную сетку в ArcGIS они все равно не совпадут (вернее совпадут не на всем протяжении) и максимальная величина несовпадения на примере Новосибирской обл., может достигать более 50 м.
---
Версия QGIS 1.7.0-Trunk 15645
ОС Windows XP SP3
Хотел написать инструкцию "Нанесение градусной сетки на спроектированную карту в QGIS" но столкнулся со сложностью которую не смог преодолеть.
Для примера использовал слой административных границ из геосэмпла.
---
Если я правильно понял, то в макетах карты QGIS нет возможности нанесения градусной сетки на спроектированные карты. Градусную сетку в макете карты можно получить только если проект находится в географической системе координат.
Тем не менее, существует способ как это ограничение обойти.
Открываем необходимые нам данные в новом проекте, в свойствах проекта указываем географическую систему координат, например GSC WGS 84 (EPSG:4326).
Далее создадим регулярную сетку, воспользовавшись модулем fTools(?) Вектор/Выборка/Регулярная сетка.
В появившемся меню, укажем слой имеющий наибольший пространственный охват (или слой, пространственного охвата которого достаточно для необходимой нам карты). Нажмем кнопку "Получить из слоя".
Отредактируем полученные значения координат: увеличим-уменьшим, округлим (выбрать нужное).
В графе параметры укажем шаг сетки, в случае с выбранной нами географической системой координат, 1 единица шага сетки будет равна 1 градусу.
Далее предлагается выбрать: создать сетку как полигоны или как линии. Выберем линии.
Укажем путь, куда необходимо сохранить сгенерированный Shape-файл. Жмем "ОК".
Если зайти в таблицу атрибутов сгенерированного Shape-файла, то в графе COORD будут значения координат полученных линий: у горизонтальных -- широта, у вертикальных -- долгота.
Теперь меняем систему координат проекта на спроектированную, например WGS 84/UTM zone 44N (EPSG32245). Создаем подписи и вставляем полученную карту в макет.
---
НО! Удивительное дело, горизонтальные линии перепроецируются неадекватно. Сохраним идентичную градусную сетку в виде полигонов, наложим их друг на друга и перепроцируем. Картинка получается следующей (см. прилагающийся файл). Синим показана перепроецированная линейная сетка, черным -- полигональная.
---
Интересно, что если преобразовать полученную полигональную сетку в линии, то она перепроецируется нормально. Видимо проблема в сгенерированном fTools линейном Shape-файле?
Кстати, если на полученную (полигональную) сетку нанести градусную сетку в ArcGIS они все равно не совпадут (вернее совпадут не на всем протяжении) и максимальная величина несовпадения на примере Новосибирской обл., может достигать более 50 м.
---
Версия QGIS 1.7.0-Trunk 15645
ОС Windows XP SP3
- Вложения
-
- qgis_greed_error.gif (50.59 КБ) 10372 просмотра
- Максим Дубинин
- MindingMyOwnBusiness
- Сообщения: 9129
- Зарегистрирован: 06 окт 2003, 20:20
- Репутация: 747
- Ваше звание: NextGIS
- Откуда: Москва
- Контактная информация:
Re: Линейная регулярная сетка fTools(?)
скорее всего горизонтальные линии не "гнутся" потому что там узлов не хватает, если будет больше узлов - "погнутся" как надо.
пристегивайтесь, турбулентность прямо по курсу
-
- Гуру
- Сообщения: 920
- Зарегистрирован: 30 дек 2008, 14:11
- Репутация: 236
- Откуда: Ханты-Мансийск
- Контактная информация:
Re: Линейная регулярная сетка fTools(?)
Да, узлов в горизонтальных линиях ровно 2 -- начальный и конечный. Буду думать как это обойти.
--
Т.е. механизм перепроецирования гнет линии исключительно по узлам? Не знал. Это накладывает ограничения на данные, нужно значит чаще ставить узлы иначе данные будут отображаться некорректно.
--
Т.е. механизм перепроецирования гнет линии исключительно по узлам? Не знал. Это накладывает ограничения на данные, нужно значит чаще ставить узлы иначе данные будут отображаться некорректно.
- Максим Дубинин
- MindingMyOwnBusiness
- Сообщения: 9129
- Зарегистрирован: 06 окт 2003, 20:20
- Репутация: 747
- Ваше звание: NextGIS
- Откуда: Москва
- Контактная информация:
Re: Линейная регулярная сетка fTools(?)
это не только в QGIS так, сейчас так вообще "модно" стало
viewtopic.php?f=15&t=806
обратите внимание на год дискуссии.
viewtopic.php?f=15&t=806
обратите внимание на год дискуссии.
пристегивайтесь, турбулентность прямо по курсу
-
- Гуру
- Сообщения: 920
- Зарегистрирован: 30 дек 2008, 14:11
- Репутация: 236
- Откуда: Ханты-Мансийск
- Контактная информация:
Re: Линейная регулярная сетка fTools(?)
Да уж. Было у меня такое нехорошее подозрение. Теперь, при подсчете погрешностей измерения площадей (которые и так сложно посчитать) еще нужно будет думать как учитывать это явление.
На счет градусной сетки: изящного решения проблемы так и не обретено. Видимо нужно расширять возможности нанесения сеток в макетах карт QGIS. В том числе важно задавать интервал в минутах и секундах, а не только в десятичных градусах. Ну и подписи отображать соответственно.
Пока что, наиболее простое решение такое -- создавать градусную сетку в качестве линий и полигонов. Полигоны визуализировать, а линии делать невидимыми, визуализируя лишь подписи. Для целоградусных сеток прокатывает, хотя эстетики никакой.
На счет градусной сетки: изящного решения проблемы так и не обретено. Видимо нужно расширять возможности нанесения сеток в макетах карт QGIS. В том числе важно задавать интервал в минутах и секундах, а не только в десятичных градусах. Ну и подписи отображать соответственно.
Пока что, наиболее простое решение такое -- создавать градусную сетку в качестве линий и полигонов. Полигоны визуализировать, а линии делать невидимыми, визуализируя лишь подписи. Для целоградусных сеток прокатывает, хотя эстетики никакой.
-
- Гуру
- Сообщения: 2627
- Зарегистрирован: 29 мар 2007, 14:12
- Репутация: 34
- Откуда: Ukraine
Re: Линейная регулярная сетка fTools(?)
Как я понял, возможность вставки дополнительных узлов в линию решит проблему. Карсон обещал добавить инструмент для этих целей. Или можем сами доработать построение сеток, не думаю, что это сильно сложно
- Максим Дубинин
- MindingMyOwnBusiness
- Сообщения: 9129
- Зарегистрирован: 06 окт 2003, 20:20
- Репутация: 747
- Ваше звание: NextGIS
- Откуда: Москва
- Контактная информация:
Re: Линейная регулярная сетка fTools(?)
лучше не патчить именно этот инструмент, а создать новый - Densify, добавляющий новые узлы через заданный промежуток.
пристегивайтесь, турбулентность прямо по курсу
- Максим Дубинин
- MindingMyOwnBusiness
- Сообщения: 9129
- Зарегистрирован: 06 окт 2003, 20:20
- Репутация: 747
- Ваше звание: NextGIS
- Откуда: Москва
- Контактная информация:
Re: Линейная регулярная сетка fTools(?)
пристегивайтесь, турбулентность прямо по курсу
-
- Гуру
- Сообщения: 2627
- Зарегистрирован: 29 мар 2007, 14:12
- Репутация: 34
- Откуда: Ukraine
Re: Линейная регулярная сетка fTools(?)
Новый инструмент добавлен в ad1a4e2cde
- Максим Дубинин
- MindingMyOwnBusiness
- Сообщения: 9129
- Зарегистрирован: 06 окт 2003, 20:20
- Репутация: 747
- Ваше звание: NextGIS
- Откуда: Москва
- Контактная информация:
Re: Линейная регулярная сетка fTools(?)
а я правильно понял, что он будет встроен в Simplify? или почему там файлы doSimplify, frmSimplify в коммите?
пристегивайтесь, турбулентность прямо по курсу
-
- Гуру
- Сообщения: 2627
- Зарегистрирован: 29 мар 2007, 14:12
- Репутация: 34
- Откуда: Ukraine
Re: Линейная регулярная сетка fTools(?)
Чтоб никто не догадался
Ну а если серьезно, то все очень просто: используется одно и то же диалоговое окно, код отвечающий за функционал тоже в одном файле. Такой подход используется во многих инструментах fTools, например, весь геопроцессинг тоже использует одну форму и один файл с кодом.
Ну а если серьезно, то все очень просто: используется одно и то же диалоговое окно, код отвечающий за функционал тоже в одном файле. Такой подход используется во многих инструментах fTools, например, весь геопроцессинг тоже использует одну форму и один файл с кодом.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость