У яких системах координат справжні кола з’являються круглими?


10

Я деякий час розвивався в Google Maps і перемикаюся на OpenLayers, але я застряг в одній точці: я малюю вектори, які в основному є круговими, але також містять певну власну геометрію, тому я не можу використовувати createRegularPolygon. Я створюю масив точок і відправлю його на об’єкт OpenLayers.Layer.Vector. Це чудово працює, але отримані "кола" круглі лише біля екватора, а не на більш високих широтах. Вони розбиті приблизно на стільки ж, скільки основна карта знаходиться на більш високих широтах, що, здається, має сенс. Якщо я використовую Google як базовий шар, то вони мають правильну форму на всіх широтах, але я створюю офлайн-рішення для мобільних пристроїв, щоб це не було.

Що я використовую для базового шару (або які параметри встановити), щоб моя геометрія залишалася круглою на всіх широтах без використання Google або онлайн-карт?

Відповіді:


12

Я думаю, ваші кола виглядають приблизно так:

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

(Джерело: блог центру створення Есрі )

Ви хочете використовувати веб-Mercator EPSG: 900913 замість WGS84 EPSG: 4326 для ідеальних кіл

Більше про цю тему та приклад того, як виглядають кола в Меркатора: Індикатриця Тіссота допомагає проілюструвати спотворення проекції карти

Щоб змушені користувачі використовували Mercator, вам слід встановити параметр sphericalMercator у базовому шарі.

sphericalMercator: true,

Дякую! це була саме та інформація, яка мені була потрібна. Я думав, що працюю з шаром, що був у EPSG: 900913, але це було не так. Я також повинен був переконатися, що всі перетворення йшли від EPSG: 4326 до EPSG: 900913, і це працює чудово. Тепер мені залишається лише зрозуміти, як не відображатись значки зламаного зображення, коли він намагається завантажувати в плитки карти в режимі офлайн.
kschaos

14

Не існує карти всієї землі, на якій усі (справжні, сферичні) кола залишаються справді круглими. Однак існують способи відображення землі, в яких майже всі досить малі кола круглі. Вони ґрунтуються на конформних прогнозах . За визначенням, зміни, які здійснює конформна проекція на відстані в межах невеликих областей, мають лише два типи: рівномірне розтягнення та обертання. Очевидно, що ці зміни не роблять кола менш круглими.

Серпень епіциклоїдний

Карта землі із серпневою епіциклоїдною проекцією . Більшість кіл з’являться справді круглими на цій карті.

Найчастіше використовуються конформні проекції - Меркатор (циліндрична проекція), Стереографічна (азимутальна проекція) та Конформна конічна форма Ламберта (очевидно, конічна проекція). Вони охоплюють три основні сімейства проекцій, надаючи вам гнучкість у виборі певного "погляду" на шарнірні меридіани та лінії широти. Додаткові параметри, які можуть бути доступні у деяких ГІС, включають стереографічну облямовуваність Міллера , Літтроу , Біполярну косичну конічну конформал , Лагранж , Айзенлор , Август Епіциклоїдальну , Гію , Періс Квінкунсіал, GS50 , різні проекції Адамса та Лі . (Джерело: Snyder & Voxland, Альбом картографічних проекцій. Професійний документ USGS 1453.) Ці останні два вказують на багатство можливих конформних проекцій, які можна створити, і показують, наскільки конформні проекції справді не "зберігають форму": проекції Адамса конформно відображають півсфера в квадрат, а проекція Лі розміщує її в трикутник. Насправді, теорема картографії Римана про комплексний аналіз показує, що ви можете відповідним чином відобразити півсферу в будь-який багатокутник!

OpenLayers використовує бібліотеку проекцій Proj4js . Вихідний код для проекцій розподіляється в папці / proj4js / lib / projCode /. Відповідні проекції, що входять до останнього випуску (1.0.2), - це Меркатор , два поперечні Меркатори , два косих Меркатори («Гарячий» та «Швейцарський косий »), Ламберт Конформний Конік та Стереографічний .

Якщо ваша програма не призначена для роботи у всьому світі, вивчіть та вивчіть ці варіанти, щоб визначити, який варіант буде найкращим для вашого регіону, що цікавить вас . Все це може бути легко переглянуто та переосмислено, щоб мінімізувати загальне спотворення (не лише форм, але й областей та відстаней) у межах певної області. Рішення у всьому світі за замовчуванням - це якийсь варіант Меркатора, популяризований картами Google.


Більше про цю відповідь можна знайти тут: pasda.psu.edu/help/projection.asp
DPSSpatial

@mapBaker Дякую, що запропонували це посилання На жаль, його характеристика конформної проекції, на жаль, невірна: "Конформна проекція підтримує форми, такі як прямокутники". Це справедливо лише для нескінченно малих фігур, а не для форм кінцевого розміру.
whuber

чи знаєте ви когось із PSU, який міг би допомогти скоригувати цей документ?
DPSSpatial

@mapBaker На жаль, ні; У мене немає жодних поточних контактів там. Я навіть не впевнений, що вони хотіли б це налаштувати. Існує тонка грань між правильністю і педантичністю. Я вважаю, що вони могли оцінити простоту експозиції і - для своєї конкретної аудиторії - не хотіли вдаватись до розрізнення між збереженням геометричних властивостей на великих масштабах проти малих масштабів. Я також ціную простоту експозиції, але доклав зусиль у цій відповіді, щоб знайти більш точний компроміс між простотою та правильністю, підкреслюючи достатньо невеликі кола.
whuber

2

Ну, очевидно, у вас виникнуть проблеми, поки ви використовуєте базову карту в проекції EPSG: 4326. Вам потрібна сферична проекція Mercator - це, як ви помітили, Карти Google та інші постачальники комерційних карт. Далі читайте це, щоб краще зрозуміти цю проблему.

Для вашого мобільного рішення в режимі офлайн OpenStreetMap , ймовірно, буде хорошим рішенням.

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