Створення форм-файлу на рівні округу з набору точок на відстані 30 х 30 км за допомогою ArcGIS для Desktop?


9

У мене є набір даних у форматі CSV, наприклад:

latitude, longitude, value
-45, 45, 10
....

Я хотів би обчислити засоби на рівні округу з цих даних, використовуючи ArcGIS або R + траву.

У мене є рівень ArcGIS USA Counties, але мені не вдалося успішно виконати просторове з'єднання.

Як я можу це зробити?

Відповіді:


4

Робочий процес, який використовується для генерування файлу форми округу із середнім значенням (z) у кожному окрузі з таблиці даних xyz в ArcGIS

зауважте, що це засновано на пропозиції @ MLowry, додаючи майже покрокові інструкції.


Відкрийте ArcCatalog

  1. створити нову персональну базу даних (наприклад, foo.mdb)
  2. файл -> новий -> персональна база даних
  3. додати дані

    • клацніть правою кнопкою миші на map.csv -> експорт у базу даних геоданих (одиночний) -> foo.mdb
    • клацніть правою кнопкою миші на counties.lyr -> експорт у базу даних геоданих (одиночний) -> foo.mdb
  4. створити особливий клас (.shp файли) з таблиці xy

    • відкрити foo.mdb
    • клацніть правою кнопкою миші таблицю map.csv -> створити особливий клас з xytable
    • поля введення x = lon, y = lat, z = вихід
    • система координат імпорту координат вводу -> з counties.lyr (або, що рівнозначно, -> географічний .. -> світ -> wgs_1984 -> відкрити -> ок)
  5. імпорт класів функцій у базу даних геоданих (декілька)

    • виберіть shp-файли, створені в поперед. крок -> додати -> добре

Відкрийте ArcMap

  1. Додайте дані

    • виберіть foo.mdb -> CTL + виберіть таблиці -> відкрити
  2. Просторове приєднання

    • ArcToolbox -> Інструменти аналізу -> Накладання -> Просторове з'єднання ->
    • Цільові особливості: counties.lyr
    • Особливості приєднання: карта таблиці xyz
    • Клас функцій виводу: ім'я файлу_просторога
    • Приєднайтеся до операції: JOIN_ONE_TO_ONE
    • Варіант відповідності: Найближче
    • Карта поля функцій приєднання: видаліть небажані поля (потрібні лише STATE_FIPS, CNTY_FIPS, z-значення
    • Радіус пошуку: 30 км
    • клацніть OK
    • Z значення = вихід; виберіть "середній" (або альтернативну статистику)

@David Дякую за детальну відповідь ... доведеться перевірити це.
Абе

@Будьте вільні редагувати, коли це робити. Я зробив це CW
David LeBauer

@David У цій обстановці IDW дасть неправильні результати для зональної статистики: див. Дискусію після відповіді @ scw.
whuber

@whuber. Дякуємо, що вказали на це. До мого закінчення я забув, що початковою точкою було просторове з'єднання пунктів з графствами; фіксований.
Девід Лебоуер

@David Дякую Але зараз я розгублений. По-перше, де в цьому робочому процесі ви фактично створюєте "растровий шар", як оголошує ваша назва? По-друге, як виходить три шари? Файл CSV представляє лише набір точок (x, y), кожна з яких має один числовий атрибут (z).
whuber

6

Здається, ви могли б перетворити .csv у тему події, потім експортувати до .shp, потім зробити просторове з'єднання з новим .shp у графському шарі та BOOM, ви добре піти на обчислення.


6

Загальний підхід полягає в перетворенні регулярно розподілених точкових даних у растрові (XYZ до растрових у Arc *; v.in.xyz у GRASS), після чого виконується зональний оператор статистики для агрегування значень комірок у кожному окрузі та обчислення статистики ( середнє значення є однією зі стандартних обчислених статистичних даних). Для проведення статистики використовуйте Zonal Statistics in Arc * або v.rast.stats в GRASS.

Якщо вам необхідно зробити більш розширену статистику, ви могли б зробити аналіз в R з rasterта , spале його трохи складніше.


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

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

@scw Resampling відбувається незалежно від того, який розмір клітинок (якщо дані вже ідеально вирівняні з сіткою). Використовуючи більш тонкий розмір клітинок, ви, швидше за все, отримаєте гірші відповіді, оскільки більшість значень сітки інтерполюються між оригіналами. Якщо ви не використовуєте інтерполяцію найближчого сусіда, це призводить до недостатнього представлення крайніх значень. Середнє буде лише незначно постраждало; інші статистичні дані, такі як стандартне відхилення, можуть сильніше позначитися.
whuber

@whuber Я думаю, я бачу, звідки беруться наші нерозуміння - я не виступаю за перетворення даних у суцільну поверхню, а лише розміщення точкових значень (коли вони існують) у звичайну растрову сітку. Таким чином, переважна більшість сітки залишиться NULL, і лише випадкові значення в місцях розташування комірок збігаються з точками розташування.
scw

@scw Ах, дуже добре! Дякую за роз’яснення. Ви фактично робите на сітці еквівалент просторового з'єднання, рекомендованого @MLowry.
whuber
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.