Створити буфер у метрах?


15

Я дуже новачок у світі ГІС, тому моя проблема може бути дуже дурною, але я все одно спробую.

Об'єктивна

Враховуючи список координат по довготі / широті, що зберігається у вигляді .csvфайлу, я хочу створити буфер з відстані xкм навколо цих координат. (У випадку, якщо це доречно, ці координати є місцями товариств у наборі даних SCCS . Ці товариства розкидані по всьому світу.)

Проблема

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

Що я спробував ...

  1. Я запускаю QGIS (v2.4) і Add delimited text layer
  2. виберіть мій .csvфайл та поля x / y, натиснітьOK
  3. вибрати WGS 84як мій CRS (також спробував, NAD83але нічого не змінило), клацнітьOK
  4. клацніть правою кнопкою миші на шарі та Save As...в діалоговому вікні виберіть наступне та натисніть OK: введіть тут опис зображення
  5. додати sccs_meter.shpяк шар до поточного проекту
  6. Виберіть Vector> Geoprocessing Tools> Buffers> набір буфера відстань як 10

В результаті виходить буфер радіусом приблизно 1068 км, що говорить про те, що відстань буфера становить 10 градусів, а не 10 метрів.

Що я тут зробив не так?


1
"Який робочий процес для буферизації в метрах / км за допомогою шарів WGS84?" чи вирішує вашу проблему, будь ласка, прочитайте коментарі. Коли ви використовуєте інструмент буфера, він використовує шари CRS-одиниць, вибираючи wgs84, він буде використовувати градуси. Ви можете розмістити свій файл _meters, але ви дійсно не змінили систему координат.
Олександр Нето

@AlexandreNeto: Я прочитав відповідь Джейка на це питання. Ви мали на увазі частину про створення проекції Azimuthal Equidistant або частину про збереження поточного шару за допомогою іншої CRS? Я врятував шахту за допомогою NAD83 (як показано на малюнку), який повинен бути в метрах, але він все ще створює буфери в градусах.
Гер К. К.

3
NAD83 також використовує ступені для одиниць. Існує багато проекцій, які використовують дані NAD83, які використовують лічильники, можливо, ви мали намір вибрати один із них.
Злий геній

Відповіді:


17

На кроці 4 вам потрібно змінити CRS з NAD83 на іншу проекцію, яка використовує лічильники як одиниці.

Це залежить від обсягу ваших даних, який із них найкращий. На жаль, ваші дані знаходяться по всьому світу, тому ви можете:

  1. Створіть власну CRS, використовуючи aeqd (або tmerc) для кожного, і намалюйте з нею лише один буфер. Практично вам потрібно створити буфер лише один раз і обмінятися інформацією CRS у файлах .prj та .qpj. Координати буфера щодо його центру завжди будуть однаковими.
  2. Згрупуйте дані згідно з зонами UTM та використовуйте UTM CRS цієї зони для цих точок.
  3. Подібно до UTM, групуйте свої точки по зонах широти (наприклад, кожні 10 градусів) та створіть власні конформні ламбертові конічні 2SP CRS для кожної групи. Це буде значно швидше, ніж використання всіх північних та південних зон UTM у світі.
  4. Використовуйте псевдо меркатор EPSG: 3857 для всіх. Буфери будуть виглядати як хороші кружечки, але реальні розміри будуть меншими та спотвореними, чим більше до полюсів, на які ви підходите.

Привіт, у мене схожа ситуація (але з полілініями, розташованими по всій стелі, і потрібні буфери по 50 км в обидві сторони), і я трохи розгублений, чому б ви використовували один із найкращих варіантів, якщо ви можете використовувати четвертий ( що здається найлегшим). Це лише тому, що воно не буде чітко показувати спотворення, яке ви, можливо, хочете побачити, незважаючи на точний результат? Спасибі! :)
Amroco

@Amroco EPSG: 3857 слід уникати, якщо це буде саме певна відстань, а ви далеко від екватора.
AndreJ

2

Швидкий і брудний спосіб: використовуйте буферну відстань 0,01 ° на км. Це середні градуси на км при 37 ° лат. і спотворює ступінь буфера NS та EW. Але це може бути досить точним для вашої мети.


привіт, ти знаєш, наскільки великі спотворення на рівні. а полюси?
Amroco

Якщо припустити досконалу сферу (не геоїд): Екватор: 1 ° лат. = ~ 111111 м, довжина 1 ° = ~ 111133 м, сер. = 111122 м. Полюси: 1 ° шир. = ~ 111111 м, довжина 1 ° = 0 м, сер. = 55556 м
Фло

1

Ви можете перевірити посилання geospatialearth сайт посилання . Вам потрібно дозволити Adobe Flash у вашому браузері. Firefox рекомендується.

Як програміст, для створення буфера точки ви можете використовувати javascript Geographiclib разом із js2shapefile. Ви зможете створити численні прямокутні точки на фіксованій відстані x навколо кожної точки файлу csv за допомогою geographiclib, а потім перетворити його у shapefile за допомогою js2shapefile.

Просто перевірте посилання вище, ви будете на сто відсотків задоволені.


Додавання трохи додаткової інформації про те, що пояснює посилання, що вирішить проблему, є корисним. Зовнішні посилання сильно змінюються / розриваються.
MaryBeth

@MatyBeth Згадане вище посилання - це невелика форма, за допомогою якої користувач завантажує файл .csv, який читається у браузері за допомогою javascript. Тут буде показано попередній перегляд цього файлу CSV. Користувачеві потрібно вибрати стовпчик широти та довготи та тип геометрії, який він / вона хоче завантажити, як точковий файл форми, буфер прямокутника із заданою довжиною та висотою у метрах або маслом кола із заданим радіусом у метрі та кількості сегментів. Користувач має можливість зберегти буфер у вигляді файлу форми або KML-файлу.
GeoSpatialEarth.in
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.