Проекція, що нагадує рибий очей


12

Мені потрібна спеціальна проекція для ефективної презентації на плакаті. Я хотів би представити досліджувану область (Чеська республіка) в контексті всієї Європи таким чином, що Чеська республіка займає найбільшу площу (як 70%) у центрі, а решта Європи навколо неї, але смішно мало. Тобто, як масове спотворення на користь Чехії, як лінза з риб'ячим оком, коли ви поставите їх близько до якогось предмета, і вони масово збільшать його в порівнянні з оточенням.

Чи є проекція, яку я можу використати для цієї мети в Quantum GIS? EPSG або стандартна формула (яку можна використовувати в QGIS) вітається.


1
Ви можете зробити це за допомогою дистанційної або районної картограми . Мені невідомі будь-які рішення QGIS. Ви також можете це зробити за допомогою простого спеціального перетворення координат, якщо ви вмієте програмувати такі речі. Жодна стандартна проекція не створить для вас таку карту через екстремальні спотворення.
whuber

1
Це можна зробити, але ви повинні бути розумними в цьому. Почавши в проектованих координатах, а потім не спроектувавшись проекцією, яка використовує менший сфероїд, ви фактично зможете зробити невелику частину світу більшою частиною півкулі. Відмова від отриманих координат практично з будь-якою проекцією, яка підходить для цієї півкулі, зробила б свою справу. Те, що ви отримуєте в плані того, що не потрібно кодувати самостійно будь-які перетворення координат, повинно бути врівноважене (а) необхідності робити багато експериментів із спробами та помилками та (б) мати мінімальний контроль над спотвореннями по краях.
whuber

4
Я б використав маршрут картограми. Прості інструменти з готовою реалізацією. Просто зробіть значення для чеського представника. набагато більше, ніж у решті Європи: scapetoad.choros.ch
HeikkiVesanto

1
Якщо ви не обмежені растрами на цій карті, то, безумовно, слід експортувати в SVG та використовувати Inkspace або інший редактор векторної графіки для створення ефекту лупи. Якщо ви працюєте з векторами, не виникатиме негативних проблем із пікселями. +1 для Чехії :)
Miro

1
Ось підручник для CorelDraw: youtube.com/watch?v=YE9hu1g20Gc , у Inkscape вам доведеться досягти подібної деформації конверта: wiki.inkscape.org/wiki/index.php/Envelope_Deformation
Miro

Відповіді:


6

Не маючи риб'ячих очей, ви можете скласти цей стиль карти як картограму.

Переваги цього полягають у тому, що для роботи є готові інструменти, які працюватимуть із надійним набором наборів даних.

Просто зробіть цінність для Чехії набагато більшою, ніж для решти Європи, коригуючи значення відповідно до потреб.

Прекрасним інструментом для цього є: ScapeToad

введіть тут опис зображення


Дякую Весанто, саме це мені було потрібно! :-) Готовий до використання, зручний інструмент! Нарешті я цим скористався. І це мені дуже схоже на риб'яче око :-)
Томаш

Єдине, що слід зазначити, це було дуже дуже повільно, тому мені довелося вибирати найповільніші налаштування і навіть знижувати кількість комірок сітки вручну .. але це виглядає чудово. Я шкодую лише про те, що зробити це з растрами буде непросто.
Томаш

2
ви можете пришвидшити справи, використовуючи qgis для спрощення геометрії, або скористайтеся форм-файлом з меншою роздільною здатністю (наприклад, 50 м або 110 м від Природного Землі)
Стівен Кей

8

Ви можете спробувати одну з проектів Снайдера, Magnifying Glassзнайдену на веб-сайті http://www.csiss.org/map-projections/Azimuthal.html № 32 до 36.

Вони базуються на цій публікації: https://pubs.er.usgs.gov/publication/70014498

Я не впевнений, чи є інтернет-ресурс з формулами.

Логарифмічна карта Hägerstrand також може відповідати вашим потребам: http://www.ncgia.ucsb.edu/projects/tobler/Projections/sld105.htm

Або азимутальна проекція квадратного кореня: http://www.ncgia.ucsb.edu/projects/tobler/Projections/sld109.htm

Посилання можна знайти на веб-сайті http://www.cartoperspectives.org/index.php/journal/article/download/cp59-tobler/307 та у "Дизайні проекцій малих масштабів" від Франка Кентерса (доступний з книг Google).


Дякую Андрію! Це все виглядає дуже цікаво! Але без формул чи epsgs чи будь-якого іншого простого способу їх використання я не зможу ним скористатися :-(
Томаш

1
Коду EPSG не буде (пошук цих масел за допомогою цих карт не проводиться!), Але ви можете оглянути публікації.
AndreJ

7

Ось псевдо-рибалка, зроблена в Postgres / Postgis. Я використовував плагін QChaining для створення 1000 пунктів уздовж кожної кордони країни. Точки відновлювали навколо нульового острова (0,0), використовуючи логарифм відстані, але з збереженим азимутом.

введіть тут опис зображення

Я використовував Plat Caree, щоб зробити його круглим, оскільки wgs84 надає більш еліпсоїдний вигляд.

select
    st_asewkt(
        st_endpoint(
            st_scale(
                st_rotate(
                    st_makeline(
                        st_setsrid(st_makepoint(0,0),4326),
                        st_setsrid(st_makepoint(0,1),4326)
                    ),
                    st_azimuth(
                        st_setsrid(
                            st_makepoint(0,0),
                            4326
                        )
                        ,
                        ST_translate(geom,-15.0,-50.0)
                    ) 
                ),
                -(1.0+(7.0*log(ST_Distance(st_setsrid(st_makepoint(0,0),4326),ST_translate(geom,-15.0,-50.0))))),
                (1.0+(7.0*log(ST_Distance(st_setsrid(st_makepoint(0,0),4326),ST_translate(geom,-15.0,-50.0)))))

            )   
        )
    ) as pt

from
    qqq3lines

цікаво, спасибі Стівен! Чи можна зробити більше, щоб Чеська Реп була ще більшою порівняно з рештою?
Томаш

@tomas так ... вам потрібно налаштувати константи, які я використовував у st_scale () .. спробуйте збільшити 1,0 до 2,0 і зменшити 7,0 на щось менше.
Стівен Кей

1

У D3 є плагін для спотворення риб'ячих очей , який я виявив за допомогою "Googling трансформації svg fisheye" у Googling. Це може бути корисно для вашої ситуації. В основному, я пропоную перетворити деякі свої файли форм у SVG (або GeoJSON?), Зробивши свою карту за допомогою все більш популярної бібліотеки D3.js.

Моє мислення було: я знав, що геометрії кордонів країни можуть бути перетворені на векторні типи SVG, і я підозрював, що як SVG, можуть бути більш підходящі підходи для здійснення трансформації риб'ячого ока, яку ви бажаєте.

Я погоджуюся з іншими коментаторами, що ілюстративно-графічне програмне забезпечення більше відповідає вашому сценарію, і оскільки D3 працює з деякими загальними форматами даних (SVG та GeoJSON), він може запропонувати вам рішення.


дякую, але чи D3 не є бібліотекою для програмістів, для веб-творців? Можливо, мені потрібна програма, яка створить для мене єдину картинку, можливо, без потреби програмування.
Томаш

@Tomas, досить справедливо. Оскільки ваше запитання просто називається "Fisheye projection", однак, у Google вийде чіткий рейтинг пошуку за подібними запитами, який з часом, ймовірно, включатиме деяких розробників. Врешті-решт ця відповідь може стати в нагоді комусь іншому.
elrobis

0

Я думаю, вам буде потрібно надзвичайне спотворення Чехії, щоб виглядати так. Існує досить популярна фотографічна техніка "стереографічної проекції", яка іноді використовується в панорамній фотографії для створення "світів земної кулі", які можуть спрацювати, якщо ви використали результат як накладення на Європу. (Не вважайте це відповіддю, оскільки це суто гіпотетично, і я ніколи не пробував це з картою) Крім того, це було б більше проектом редагування графіки / фотографій, тому що вам, мабуть, доведеться сфотографувати друковану карту або, можливо, експортувати її з ГІС на зображення високої роздільної здатності, потім скопіюйте та обріжте серію зображень навколо центральної точки (з центром на рівномірну область посередині з достатнім накладом), щоб вони могли бути використані як вхід у функцію панорами. Після отримання "стереографічної проекції"

Звичайно, вам потрібно буде додавати мітки після факту в Illustrator, Corel Draw або імпортувати остаточне зображення як растрове назад у GIS та створюючи деякі графічні / анотації.

"Панорама стереографічної проекції" Google, щоб побачити приклади.

Ось приклад навчального посібника: http://www.photographymad.com/pages/view/little-planet-photos-5-simple-steps-to-making-panorama-worlds

введіть тут опис зображення

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.