qgis: артефакты при перепроецировании
-
- Гуру
- Сообщения: 920
- Зарегистрирован: 30 дек 2008, 14:11
- Репутация: 236
- Откуда: Ханты-Мансийск
- Контактная информация:
qgis: артефакты при перепроецировании
При перепроецировании слоев глобального охвата, во многих случаях возникают артефакты (см. приложение). Кто-нибудь знает, как это можно побороть?
В приложении слой береговой линии из NaturalEarth (ГСК) перепроецирован в World_Van_der_Grinten_I (EPSG:54029)
В приложении слой береговой линии из NaturalEarth (ГСК) перепроецирован в World_Van_der_Grinten_I (EPSG:54029)
- Вложения
-
- reproj_artefactsd.png (71.74 КБ) 9528 просмотров
Последний раз редактировалось bolotoved 19 сен 2013, 14:23, всего редактировалось 1 раз.
- Игорь Белов
- Гуру
- Сообщения: 2241
- Зарегистрирован: 04 янв 2011, 22:00
- Репутация: 1514
- Откуда: Казань
Re: qgis: артефакты при перепроецировании
Предварительно разрежьте объекты по меридиану, на 180° отстоящему от осевого. По-хорошему, надо бы после этого куски, вылезающие за 180° от осевого меридиана, перенести на 360°.
Это решает проблему частично, поскольку один из краёв разреза будет восприниматься как чужой (скажем, точки на долготе +180° программа будет переносить на долготу -180°). Для окончательного решения придётся чуть-чуть сместить этот край внутрь.
Кроме того, полезно на края разреза добавить дополнительные точки, чтобы сохранить линию меридиана.
Это решает проблему частично, поскольку один из краёв разреза будет восприниматься как чужой (скажем, точки на долготе +180° программа будет переносить на долготу -180°). Для окончательного решения придётся чуть-чуть сместить этот край внутрь.
Кроме того, полезно на края разреза добавить дополнительные точки, чтобы сохранить линию меридиана.
The purpose of computing is insight, not numbers
-
- Гуру
- Сообщения: 920
- Зарегистрирован: 30 дек 2008, 14:11
- Репутация: 236
- Откуда: Ханты-Мансийск
- Контактная информация:
Re: qgis: артефакты при перепроецировании
А можно ли описанный процесс хоть частично автоматизировать, например, с помощью OGR? Можно ли с пом. OGR разрезать слой по заданному меридиану? Гуглом нашел, что вроде как нужно использовать функцию -wrapdateline, но с пом. нее я результата добиться не смог. Артефактные линии лишь изменяют свое положение:
Код: Выделить всё
ogr2ogr -wrapdateline -t_srs EPSG:4326 110m_coastline_wrap.shp 110m_coastline.shp
-
- Гуру
- Сообщения: 920
- Зарегистрирован: 30 дек 2008, 14:11
- Репутация: 236
- Откуда: Ханты-Мансийск
- Контактная информация:
Re: qgis: артефакты при перепроецировании
На всякий случай приложу файл для экспериментов. Есть подозрение, что там данные выходят за диапазон -180, 180.
- Вложения
-
110m_physical.zip
- (76.15 КБ) 323 скачивания
- Игорь Белов
- Гуру
- Сообщения: 2241
- Зарегистрирован: 04 янв 2011, 22:00
- Репутация: 1514
- Откуда: Казань
Re: qgis: артефакты при перепроецировании
Если резать ogr2ogr, то не так. Однако в данном случае всё уже порезано, как надо. Пришлось лишь один отрезочек подправить, чтобы не залезал за 180.
QGIS-1.8.0, проекция
Всё отображается зер гут.
Возможны проблемы при смене датума. Тогда пересчитанные долготы могут вылезать за границу 180 градусов.
QGIS-1.8.0, проекция
Код: Выделить всё
+proj=vandg +lon_0=0 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs
Возможны проблемы при смене датума. Тогда пересчитанные долготы могут вылезать за границу 180 градусов.
- Вложения
-
- Ван дер Гринтен
- vandg.png (2.93 КБ) 9459 просмотров
The purpose of computing is insight, not numbers
-
- Гуру
- Сообщения: 920
- Зарегистрирован: 30 дек 2008, 14:11
- Репутация: 236
- Откуда: Ханты-Мансийск
- Контактная информация:
Re: qgis: артефакты при перепроецировании
Можно поподробнее? Как вы этот отрезок нашли и что именно с ним сделали?ErnieBoyd писал(а):Пришлось лишь один отрезочек подправить, чтобы не залезал за 180.
-
- Гуру
- Сообщения: 5173
- Зарегистрирован: 26 сен 2009, 16:26
- Репутация: 792
- Ваше звание: званий не имею
- Откуда: Москва
Re: qgis: артефакты при перепроецировании
Подтверждаю то, что написал ErnieBoyd. Я немного подтянул на запад несколько вершин в самой восточной части (около 180 град.) — стало перепроецироваться "на лету" без артефактов.
Редактор материалов, модератор форума
- Игорь Белов
- Гуру
- Сообщения: 2241
- Зарегистрирован: 04 янв 2011, 22:00
- Репутация: 1514
- Откуда: Казань
Re: qgis: артефакты при перепроецировании
Сохранил слой как файл MapInfo с расширением ".mif". В текстовом редакторе искал строку "180", нашёл "180.00000044181", исправил на "179.99998". Были ещё долготы 180 ровно, но я их не трогал.bolotoved писал(а):Можно поподробнее? Как вы этот отрезок нашли и что именно с ним сделали?
The purpose of computing is insight, not numbers
-
- Гуру
- Сообщения: 920
- Зарегистрирован: 30 дек 2008, 14:11
- Репутация: 236
- Откуда: Ханты-Мансийск
- Контактная информация:
Re: qgis: артефакты при перепроецировании
Спасибо, все понял. Значит проблема была в том, что данные выходили за 180 меридиан.
- Игорь Белов
- Гуру
- Сообщения: 2241
- Зарегистрирован: 04 янв 2011, 22:00
- Репутация: 1514
- Откуда: Казань
Re: qgis: артефакты при перепроецировании
Это "во-вторых". Во-первых, проблема в том, что QGIS сворачивает узлы объектов, вылезающие за 180 градусов от осевого меридиана.bolotoved писал(а):Значит проблема была в том, что данные выходили за 180 меридиан.
Странная идеология. Могли бы оставить картографу право решать, где и как резать свою карту. Заодно таких конфузов не возникало бы.
The purpose of computing is insight, not numbers
-
- Интересующийся
- Сообщения: 27
- Зарегистрирован: 19 авг 2013, 18:01
- Репутация: 0
Re: qgis: артефакты при перепроецировании
Странно всё это. У меня такие же проблемы, всегда, бесят. Нет ли чего-то типа фильтра для отображения, чтобы округлять с отбрасыванием дробной части до +-180 градусов?
-
- Гуру
- Сообщения: 920
- Зарегистрирован: 30 дек 2008, 14:11
- Репутация: 236
- Откуда: Ханты-Мансийск
- Контактная информация:
Re: qgis: артефакты при перепроецировании
Помогает точная обрезка с пом. ogr2ogr:Странник писал(а):Нет ли чего-то типа фильтра для отображения, чтобы округлять с отбрасыванием дробной части до +-180 градусов?
Код: Выделить всё
ogr2ogr -clipsrc -180.0 -90.0 180.0 90.0 output.shp input.shp
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость