Більше

Створення ліній з меж багатокутників з атрибутами полігону за допомогою ArcGIS/ArcPy?


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

Як це зробити за допомогою ArcGIS для робочого столу?


Ви можете зробити це за допомогою інструменту Перетинання. Зазвичай виконання перетину з багатокутниками повертає лише область перекриття. Але якщо змінитиoutput_typeвідВХІДдоЛІНІЯ, тоді можна отримати лише колінеарні кордони між багатокутниками.

Якщо це наш вхід:

І ми змінюємоoutput_typeпараметр:

Ми отримуємо зелені лінії як вихід:

Вихідні дані містять дві лінійні функції для кожного відрізка кордону. Щоб згорнути цю функцію до однієї функції на сегмент кордону, потрібно запустити команду Dissolve за допомогоюmulti_partпараметр встановлено наSINGLE_PART. Потім запустіть Spatial Join із розчиненими рядками якtarget_features, перетинаються лінії якjoin_features, вашmap_mappingналаштування з двома полями для кожного поля введення (одне з використаннямПЕРШИЙтип злиття та інше за допомогоюОСТАННІЙтип злиття) таmatch_optionвстановлений вARE_IDENTICAL_TO. Ваша таблиця атрибутів виводу виглядатиме так:


Ви можете зробити це за допомогою python, якщо ви є принаймні у ArcGIS 10.1. Якщо у вас є ArcInfo, ви можете скористатися інструментом Feature to Line. В іншому випадку ви можете скористатися цим простим сценарієм. Однак цей сценарій не підтримує справжні криві. Отримані лінії, якщо топологічно правильно, повинні перекриватися, то ви можете виконати перетин цієї лінії fc на собі, щоб знайти межі, які перекриваються, тобто лінії кордону.

import arcpy import os arcpy.env.overwriteOutput = True def polys_to_lines (fc, new_fc): шлях, ім'я = os.path.split (new_fc) sm = 'SAME_AS_TEMPLATE' arcpy.CreateFeatureclass_management (шлях, ім'я, 'POLYLINE', fc, sm, sm, fc) fields = [f.name for f in arcpy.ListFields (new_fc) if f.type not in ('OID', 'Geometry')] # get атрибути з arcpy.da.SearchCursor (fc, [ '[email protected]'] + поля) у вигляді рядків: значення = [(r [0] .boundary (),) + кортеж (r [1:]) для r у рядках] # вставити рядки з arcpy.da.InsertCursor (new_fc , ['[email protected]'] + поля) у вигляді стрілок: для vals у значеннях: irows.insertRow (vals) print 'Створено: "{0}"'. Format (name) повернути new_fc, якщо __name__ == '__main__': fc = r'C:  TEMP  parcel_test.shp 'new = r'C:  TEMP  parcel_Linetest2.shp' polys_to_lines (fc, новий)

Як ввести атрибут для багатокутника за допомогою ArcGIS API для Javascript?

Я новачок у програмуванні ArcGIS, я намагаюся ввести атрибут для багатокутника зі сценарієм малювання за допомогою ArcGIS API для JavaScript на основі цього: https://developers.arcgis.com/javascript/3/jssamples/toolbar_draw.html.

Я намагаюся ввести атрибут через спливаючі вікна (спливаючі вікна були для введення базової форми), використовуючи завершення малювання подій, виходячи з цього: https://developers.arcgis.com/javascript/3/jsapi/draw-amd. html#event-draw-complete, але я зазнаю невдачі, тому що не знаю, як його використовувати. Мій код був таким:

Будь -хто може сказати мені, як ввести атрибут іншим методом?


Створення ліній з меж багатокутників з атрибутами полігону за допомогою ArcGIS/ArcPy? - Геоінформаційні системи

Інструмент гідролінії та інструмент позначення меж багатокутника

Ендрю Гіббс, Тоні Ле Донн, Джон Кортенбах та Камілла Борроудейл

Усі кредити надходять оригінальним розробникам, якщо не зазначено інше.

Цей набір інструментів містить два картографічно зосереджених інструменти, які можна використовувати для покращення художніх якостей карт, створених у ArcGIS Pro. Інструменти включають:

  • Інструмент ватерлінії, який створює віньєтку (похідну від прибережної віньєтки) на основі даних користувача та параметрів.

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

  • Інструмент символіки межі багатокутника, який змінює граничну символіку даного багатокутника шляхом створення більш широкого контуру багатокутника всередині або за межами самої форми.

-Другий інструмент, що відноситься до символіки внутрішньої/зовнішньої межі полігону, спрощує методологію, за допомогою якої користувач може символізувати межу інтерфейсу між сусідніми шейп -файлами, використовуючи дві окремі символізовані межі.

2.1 Системні та програмні вимоги

Сумісні операційні системи

  • Обидва інструменти вимагають від користувача знань одиниць лінійного вимірювання (та проекції) шейп -файлу. Знання одиниць шейп -файлу допоможе користувачеві у визначенні ширини контуру.

2.3 Встановлення набору інструментів

  • Додайте панель інструментів до свого проекту ArcGIS Pro, клацнувши правою кнопкою миші & ldquoToolboxes & rdquo у вікні каталогу. Виберіть & ldquoДодати панель інструментів. & Rdquo У наступному діалоговому вікні перейдіть до розташування завантаженої панелі інструментів, клацніть її та натисніть & ldquook & rdquo

2.4 Видалення Панелі інструментів

  • Видаліть набір інструментів у своєму проекті ArcGIS Pro, клацнувши правою кнопкою миші відповідний набір інструментів у спадному меню & ldquoToolbox & rdquo. Натисніть & ldquo Видалити & rdquo

Інструмент, що використовується в ArcGIS Pro, який створює кілька контурів буфера навколо полігону шейп-файлу, використовуючи параметри, визначені користувачем. Цей інструмент допомагає у картографічному процесі створення тематичних карт.

3.2 Використання інструменту Waterlining

1. Робоча область: визначений користувачем шейп-файл

2. Клас характеристик виводу: визначена користувачем робоча область вихідного призначення

3. Відстань буфера: Введення користувача, сума буде залежати від географічного розміру шейп -файлу

4. Одиниці виміру: Введення користувача, залежно від шейп -файлу

5. Всередині або зовні: Введення користувача, залежно від бажаної користувачем символізації.

Наступні заголовки та підрозділи стосуються основи Python всередині самого інструменту:

import arcpy # включає бібліотеку ArcGIS

import sys # включає системну бібліотеку для доступу до кількості параметрів

Нижче наведено функціональні можливості ватерлінії разом з параметрами вказаної користувачем початкової відстані буфера та необхідної кількості буферів. Вихідні дані створюють серію буферів, всередині чи поза самим полігоном, що збільшується в геометричній прогресії з кожним наступним буфером. Для цього нам потрібно відфільтрувати кожен канал зображення за допомогою ArcGIS Pro Toolbox.

* Міні -функція для надсилання друкованих повідомлень на правий вихід

* - Повідомлення - рядок для друку

* - Повідомлення у вікні налагодження вводу -виводу Wing або у вікні ArcGIS Pro

if (len (sys.argv) & gt 1): # якщо працює в інструменті, друкуйте в ArcGIS

else: # else друкує для налагодження вводу -виводу

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

* - PolygonClassification - Визначає, чи є вхідний шар об’єкта суша або вода, тому водяна підкладка відображається на правій стороні

* - InitialBufferDistance - Встановлює відстань до початкового створеного буфера, що також є мінімальною відстанью наступних буферів

* - NumberOfBuffers - Встановлює загальну кількість буферів, які потрібно створити, а потім об’єднати разом

* - OutlineExpansionFactor - Значення, яке збільшує відстань між буферами протягом ітерацій створення буфера, починаючи з початкової відстані буфера та збільшуючи

* - Новий шейп -файл функціонального шару, який представляє водяну прокладку вхідного шару характеристик.

віньєтка def (PolygonClassification, InitialBufferDistance, NumberOfBuffers):

# Це дозволяє нам повторно запускати скрипт без видалення проміжних файлів

# Створіть курсор пошуку на основі шейп -файлу

# Створює буфери поза вхідним шаром функції для прибережної акварелі

if (PolygonClassification == & & quotLand & quot):

для x в діапазоні (0, NumberOfBuffers):

# формула для обчислення інтервалів між рядками. є негативним для дугової буферизації всередині багатокутника

distance = (InitialBufferDistance*math.exp (OutlineExpansionFactor*count)) - InitialBufferDistance

# та сама формула, що і вище, але позитивна для додавання до таблиці атрибутів.

distancePos = (InitialBufferDistance*math.exp (OutlineExpansionFactor*count)) - InitialBufferDistance

# Створює буфер за допомогою параметрів InitialBufferDistance, NumberOfBuffers та OutlineExpansionFactor та вхідного шару функцій

arcpy.Buffer_analysis (InputFeatureLayer, & quotBuffer_ & quot + OutputFeatureName + str (count) + & quot.shp & quot, відстань, & quotOUTSIDE_ONLY & quot, & quotROUND & quot, & quotALL & quot)

# Створює нове поле з відстанем буфера та обчислює значення

arcpy.AddField_management (& quotBuffer_ & quot+OutputFeatureName+str (count)+& quot.shp & quot, & quotbufferDist & quot, & quotFLOAT & quot)

arcpy.CalculateField_management (& quotBuffer_ & quot+OutputFeatureName+str (count)+& quot.shp & quot, & quotbufferDist & quot, distancePos, & quotPYTHON_9.3 & quot)

# Створює буфери всередині вхідного функціонального шару для підводки водойм

elif (PolygonClassification == & & quotWater & quot):

для x в діапазоні (0, NumberOfBuffers):

# формула для обчислення інтервалів між рядками. є негативним для дугової буферизації всередині багатокутника

відстань = -(InitialBufferDistance*math.exp (OutlineExpansionFactor*count)) + InitialBufferDistance

# та сама формула, що і вище, але позитивна для додавання до таблиці атрибутів.

distancePos = (InitialBufferDistance*math.exp (OutlineExpansionFactor*count)) + InitialBufferDistance

# Створює буфер за допомогою параметрів InitialBufferDistance, NumberOfBuffers та OutlineExpansionFactor та вхідного шару функцій

arcpy.Buffer_analysis (InputFeatureLayer, & quotBuffer_ & quot + OutputFeatureName + str (count) + & quot.shp & quot, відстань, & quotOUTSIDE_ONLY & quot, & quotROUND & quot, & quotALL & quot)

# Створює нове поле з відстанем буфера та обчислює значення

arcpy.AddField_management (& quotBuffer_ & quot+OutputFeatureName+str (count)+& quot.shp & quot, & quotbufferDist & quot, & quotFLOAT & quot)

arcpy.CalculateField_management (& quotBuffer_ & quot+OutputFeatureName+str (count)+& quot.shp & quot, & quotbufferDist & quot, distancePos, & quotPYTHON_9.3 & quot)

# Налаштуйте параметри за замовчуванням, а потім отримайте параметри зі списку аргументів, якщо ми працюємо як інструмент у ArcMap.

InitialBufferDistance = 700 # в метрах

if (len (sys.argv) & gt1): # якщо працює в інструменті, отримайте параметри з arc

InputFeatureLayer = arcpy.GetParameterAsText (0) # клас функцій введення

OutputWorkspace = arcpy.GetParameterAsText (1) # робочий каталог

OutputFeatureName = arcpy.GetParameterAsText (2) # рядок для імені вихідного файлу

PolygonClassification = arcpy.GetParameterAsText (3)#рядок 'land ' або 'water '

InitialBufferDistance = arcpy.GetParameter (4) #long int для кроків

NumberOfBuffers = arcpy.GetParameter (5) #long int для експоненціального збільшення кількості NumberOfBuffers

OutlineExpansionFactor = arcpy.GetParameter (6) #double

# Друк параметрів для налагодження

MyPrint (& quotInputFeatureLayer: & quot + InputFeatureLayer)

MyPrint (& quotOutputWorkspace: & quot + OutputWorkspace)

MyPrint (& quotOutputFeatureName: & quot + OutputFeatureName)

MyPrint (& quotPolygonClassification: & quot + PolygonClassification)

MyPrint (& quotInitialBufferDistance: & quot + формат (InitialBufferDistance))

MyPrint (& quotNumberOfBuffers: & quot + формат (NumberOfBuffers))

MyPrint (& quotOutlineExpansionFactor: & quot + формат (OutlineExpansionFactor))

# Це дозволяє нам повторно запускати скрипт без видалення проміжних файлів

# крок обробки друку на екран

MyPrint (& quotRunning Vignette function: Створення буферів на основі PolygonClassification, InitialBufferDistance, OutlineExpansionFactor та NumberOfBuffers. & Quot)

# запускає функцію віньєтки

Віньєтка (PolygonClassification, InitialBufferDistance, NumberOfBuffers)

# крок обробки друку на екран

# крок обробки друку на екран

# Створює порожній список для завантаження окремих файлів буфера

# додає окремі файли буфера до списку FClassesList

# об'єднує всі елементи списку FClassesList в один файл

# крок обробки друку на екран

MyPrint (& quotMerging буфери зроблено. & Quot)

# крок обробки друку на екран

MyPrint (& quotВидалення окремих класів функцій буфера. & Quot)

# Видаляє окремі буфери, використані в інструменті віньєтування

для функцій у FClassesList:

# крок обробки друку на екран

MyPrint (& quotВидалення окремих класів функцій буфера виконано. & Quot)

# крок обробки друку на екран

MyPrint (& quotЗавершено створення водопроводів! & Quot)

4.0 Полігональний інструмент межової символіки

Інструмент «Символіка границь багатокутника» дозволяє користувачеві змінювати контур межі багатокутника на внутрішній або зовнішній стороні межі полігону.

1. Особливості введення: визначений користувачем шейп-файл

2. Клас характеристик виводу: визначена користувачем робоча область вихідного призначення

3. Відстань буфера: кількість введеного користувачем буде змінюватись в залежності від географічного розміру шейп -файлу

4. Одиниці: Введення користувача, залежно від шейп -файлу

5. Усередині або зовні: Введення користувача залежить від бажаної користувачем символізації.

Наступні заголовки та підрозділи стосуються основи Python всередині самого інструменту:

import arcpy # включає бібліотеку ArcGIS

import sys # включає системну бібліотеку для доступу до кількості параметрів

if (len (sys.argv) & gt 1): # якщо працює в інструменті, друкуйте в ArcGIS

else: # else друкує для налагодження вводу -виводу

# Налаштуйте параметри за замовчуванням, а потім отримайте параметри з аргументу

# list, якщо ми працюємо як інструмент у ArcMap.

#Python скрипт для швидкого створення внутрішньої структури багатокутника в ArcGIS Pro.

#Налаштуйте для використання в наборі інструментів Arc.

InputPath = & quotC: temp lower48.shp & quot # визначає шлях до вхідного файлу

OutputPath = & quotC: temp lower48inside.shp & quot # назва вихідного файлу

BufferDistance = & quot20 миль & quot #кількість вхідної відстані буфера з плаваючою точкою

if (len (sys.argv) & gt1): # якщо працює в інструменті, отримайте параметри з ArcGIS Pro

InputPath = arcpy.GetParameterAsText (0)

OutputPath = arcpy.GetParameterAsText (1)

BufferDistance = arcpy.GetParameterAsText (2)

Вибір = arcpy.GetParameterAsText (3)

# Друк параметрів для налагодження

MyPrint (& quotInputPath: & quot +InputPath)

MyPrint (& quotOutputPath: & quot +OutputPath)

arcpy.AddMessage (& quotСтворення символьної межі багатокутника на основі вводу користувача. & quot)

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

print (& quotПочаток обробки. & quot)

#Повний аналіз за допомогою параметрів, визначених користувачем

arcpy.analysis.Buffer (InputPath, OutputPath, & quot- & quot+BufferDistance, & quotOUTSIDE_ONLY & quot, & quotROUND & quot, & quotNONE & quot, None, & quotPLANAR & quot)

arcpy.AddMessage (& quotCompleted Inner Boundary Outline. & quot)

print (& quotПочаток обробки. & quot)

#Повний аналіз за допомогою параметрів, визначених користувачем

arcpy.analysis.Buffer (InputPath, OutputPath, BufferDistance, & quotOUTSIDE_ONLY & quot, & quotROUND & quot, & quotNONE & quot, None, & quotPLANAR & quot)

arcpy.AddMessage (& quotЗавершений зовнішній межовий контур. & quot)

(Примітки) Початок цього блоку коду - це оператор & lsquoelse if & rsquo, який спонукає код продовжити, якщо користувач вибирає параметр & lsquooutside & rsquo обведення. Потім буфер створюється так само, як і в попередньому коді & lsquoinside & rsquo, але радше штрих малюється зовні. Нарешті, надрукується повідомлення, яке сповістить користувача після завершення буферизації.

5.0 Виправлення неполадок та контактна інформація

Якщо є якісь проблеми чи занепокоєння з цим набором інструментів, не соромтеся звертатися до таких:


Визначення напрямку полігонів за допомогою QGIS?

Чи можна отримати напрямок найдовшої сторони прямокутника в QGIS?

Я знаю, як отримати напрямок шару лінії. Але мені потрібно знати напрямок багатокутника. Можна почати в центрі багатокутника і знайти найкоротший шлях до кордону за допомогою лінії і взяти напрямок цієї лінії, але я не знаю, як намалювати цю лінію автоматично для 30000 полігонів.

3 відповіді

У QGIS 3.16+ є нова функція: main_angle (), яка полегшує роботу.

Відповів 1 місяць тому користувач Франческо Катані з 2 голосами "за"

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

Відповів 1 місяць тому користувач ndawson з 4 голосами

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

  • Перетворіть N полігональних об'єктів на N лінійних
  • Розгорніть N лінійних об’єктів на M простих відрізків лінії
  • М простих відрізків лінії мають змінну ID з полігонів. Виберіть сегменти рядків, довжина яких не дорівнює максимальній довжині, згруповані за цим ідентифікатором, і видаліть. Це залишає найдовший простий відрізок лінії з кожного багатокутника.
  • Додайте атрибут кута до решти простих відрізків лінії за допомогою функції atan2.
  • Приєднайте шар багатокутника до шару сегмента лінії на атрибуті ID.

Тепер ваш багатокутник має об’єднаний атрибут "кут", який є кутом найдовшої сторони (в радіанах).

Ось такий алгоритм. Реалізація наступна:

Вам знадобляться "Полігони до ліній" із набору інструментів QGIS, а потім "Розгорнути лінії" з панелі інструментів для перших двох кроків.

Щоб отримати найдовші прості сегменти рядків, згруповані за змінною "id", виконайте команду "Вибрати за виразом" і використовуйте: $ length! = Maximum ($ length, "id") - ваша змінна id може мати інше ім'я, воно має бути унікальним на багатокутник. Застосуйте це, і у вас має бути вибрано більшість простих сегментів лінії. Увімкніть редагування для цього шару та виріжте ці функції.

Створіть стовпець кута, додавши новий атрибут під назвою "кут" та оновивши його за такою формулою:

Потім вимкніть редагування для цього розірваного шару та збережіть.

Нарешті, використовуйте властивості шару багатокутника, щоб створити об’єднання з полігонів до сегментів лінії, що відповідає атрибуту id.

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

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


Python - отримання атрибутів з Line, що містяться у шрифтовому файлі MultiLineString, що перетинає багатокутник

У мене є 2 шейп -файли, 1 з яких містить багато ліній, що складають мережу доріг, а інший із багатьма точками GPS.

Поки що мені вдалося відкрити обидва шейп -файли та зробити перетин () за допомогою Shapely та Fiona, використовуючи код, знайдений тут - https://gis.stackexchange.com/a/128210/52590

Ось копія мого коду, що отримує точки перетину:

А ось як виглядають «міжсекціони» при друкуванні:

Отже, це означає, що між шейп -файлом ліній та першим багатокутником шейп -файлу багатокутників є 3 точки перетину.

Що мені потрібно, так це отримати два атрибути ('Nombre' і 'Sentido') з кожного рядка у шрифтовому файлі ліній, що перетинає багатокутники, на додаток до точної точки їх перетину, щоб я міг отримати відстань від центру полігону до точки перетину після.

Тому моє питання полягає в тому, чи є спосіб отримати ці атрибути за допомогою Shapely або будь -якої іншої бібліотеки Python. Крім того, який був би найкращий спосіб перебирати кожен полігон та зберігати дані? Можливо, я думаю про словник, який містить кожен багатокутник з атрибутами перетинаються ліній та відстані. І останнє, чи є більш ефективний спосіб знайти перехрестя? Обробка одного багатокутника займає близько 1 хвилини, і мені, ймовірно, це знадобиться швидше в майбутньому.

Якщо я пропускаю будь -яку інформацію, будь ласка, повідомте мені, щоб я міг відредагувати запитання.


Створення сітки квартального кварталу з Python

(Якщо ви використовуєте Firefox, клацніть правою кнопкою миші та збережіть посилання як)
Завантажте спеціальну панель інструментів сітки – працює з ArcGIS 10.1+
(містить 5 інструментів, 4 для створення сіток кварталу та чверті кварталу з мітками та 1 для створення власної сітки)

(будь -які пожертви йдуть на витрати на розміщення)

Подивіться, як користуватися Спеціальними інструментами сітки та відео#8212 Оновлено 16.07.2015

Мені було поставлено завдання створити сітку розрізу кварталу для кількох округів Небраски, оскільки BLM не мав такої. Хоча у них була сітка розділів. Тому мені потрібно було розбити кожну сітку розділів на 16 частин, а також додати атрибут, який буде використовуватися як мітка для кожної квартальної сітки розрізу кварталу. Крім того, я знаю, що це не замінює фактичну сітку розрізу кварталу кварталу, але іноді вам потрібно працювати з тим, що у вас є. І в цьому випадку електромережа використовуватиме мережу квартальних кварталів для імені своїх об’єктів та споживачів. Все залежить від того, що вам потрібно.

Мені довелося створити квартальні квартали приблизно для 3000 розділів у штаті Небраска, тому робити це вручну не могло бути й мови. Рішенням стало використання Python.

Для цього я створив da.SearchCursor на сітці з розділу Небраска, який проходив по кожному багатокутнику і використовував його поле SHAPE (геометрія) для запису координат кожної вершини в полігоні. Він також записав координати кожного кута для протяжності багатокутника.

Знайшовши координати кожної вершини, я потім знайшов відстань кожної вершини від кожного кута протяжності багатокутника. Це дозволило мені знайти, яка вершина відповідає якому кутку. Потім було проведено невелику математику, щоб визначити координати кожної чверті кварталу по зовнішній частині сітки, як показано нижче.

Далі я створив об’єкт геометрії «Полілінія» і запропонував йому з’єднати кожну точку з тією, що знаходиться навпроти неї. Потім було використано da.InsertCursor для вставлення кожного об’єкта Polyline у ​​новий клас об’єктів поліліній.

Потім я вручну використав інструмент Розділити багатокутники на панелі інструментів Розширене редагування в ArcMap, щоб розділити розділи на основі раніше створених поліліній. Необхідно було використовувати значення переповнення приблизно 30 футів, але це буде змінюватися залежно від використовуваної сітки розділу. Це пояснюється тим, що якби у багатокутника було більше однієї вершини на кожному куті, можливо, існує проміжок між полілініями та межею багатокутника. Після виправлення Overflow у мене залишилося саме те, що мені потрібно, але мені все ще потрібні мітки.

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

Думаючи, як це зробити, я зрозумів, що вже маю те, що мені потрібно. Мені просто потрібно було трохи більше розрахувати математику, щоб знайти центроїд кожної чверті. Цей сценарій був схожий на перший. Я використав da.SearchCursor у полі SHAPE, щоб прокрутити кожен розділ qq і знайти координати кожного кута. Звідти мені вдалося знайти координати центроїда для кожної секції qq. Це дозволило мені записати, яка мітка була пов’язана з тим кварталом кварталу, як показано вище.

Оскільки центроїд був розрахований для кожної секції qq, я також створив об’єкт геометрії точки для кожного з них. Потім я використав InsertCursor, щоб вставити кожен об’єкт точки разом із відповідним атрибутом мітки до нового класу об’єктів точки.

Нарешті, я зробив просторове об’єднання для новоствореного класу об’єктів точки та створеної раніше сітки з розділів qq. Це вивело нову сітку розрізу кварталу з відповідною міткою, приєднаною до неї.

Я вирішив позбутися жорсткого кодування та зробити ці інструменти доступними через ArcMap Toolbox, щоб інші могли ними користуватися. Я ’ve також створив два подібних сценарії для створення сітки та етикеток чверті. Якщо ви не помітили ’t, панель інструментів Користувацька сітка доступна для завантаження у верхній частині цієї сторінки.

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

52 думки про & ldquo Створення сітки квартального кварталу з Python & rdquo

Це фантастика! Після тривалого пошуку інструменту розбиття розділів і нічого, крім розчарування, я знайшов це. Цей інструмент робить саме те, що я сподівався зробити, і значно полегшить пошук та побудову приблизних меж власності. Дякую вам за те, що ви не лише зрозуміли це, але й опублікували код і навіть набір інструментів. Графічний інтерфейс робить його надзвичайно простим. Я опрацював увесь штат Міссурі (кілька мільйонів квартальних кварталів), і він зайняв лише кілька годин.

Ден, дякую за теплі слова! Я радий, що вам вдалося добре його використати.

По -перше, вау. Схоже, ви витратили багато часу на ці інструменти, величезне спасибі! Зараз я зіткнувся з подібним завданням. Мені потрібно створити 3 широкі/довгі сітки з різною роздільною здатністю: 1/4 градуса, 1/20 градуса та 1/100 градуса. Я вже створив шейп -файл лише на 1 градус за допомогою інструменту CreateFishnet, який мені довелося робити 16 окремих разів, а потім об’єднувати через обмеження розміру інструменту. Я можу тільки уявити, наскільки болюче було б зробити такий самий процес для сіток з більш високою роздільною здатністю. Схоже, що інструмент чверті буде застосовний до 1/4 градусів, але мені цікаво, чи можна змінити інструмент, щоб поділити кожну клітинку на 1/20, потім на 1/100? Або, можливо, зробити це іншою змінною? Дивлячись на два сценарії створення скриптів python, це не виглядає так, ніби останній був би життєздатним варіантом, але, чесно кажучи, це трохи над моєю головою, тому я не впевнений, що знаю ’d, як його змінити код сам. Я ’m навіть не впевнений, що це найкращий спосіб взагалі це зробити, оскільки кількість осередків настільки велика, але, можливо, ви могли б мені допомогти.

PS: Натискання посилання для завантаження набору інструментів, здається, не працює, воно просто відкривається у веб -переглядачі … ранку я щось пропускаю?

Панель інструментів для мене добре завантажується. Ви можете спробувати клацнути правою кнопкою миші на посиланні та зробити Зберегти як або Зберегти посилання як.

Щодо вашого питання, то створення сіток з більш високою роздільною здатністю з коду, який я опублікував, було б однозначно можливим. Це просто вимагало б ще деякого поділу. Створення функції для цього було б правильним шляхом. Я ’m не впевнений, чи створюєте ви свої широкі/довгі сітки на основі існуючої сітки або функції. Якщо я знайду трохи часу, я надішлю вам електронного листа, щоб отримати додаткову інформацію.

Так, це спрацювало, я не можу повірити, що я цього не спробував.

Це було б так корисно! Мені потрібні певні вказівки, але я думаю, що це було б корисно зробити людям, яким потрібно розділити сітки на різні більш високі роздільні здатності (я не можу бути єдиним, правда?).

У всякому разі, у мене є форматний файл шириною/довжиною 1 градус, у якому кожна клітинка представлена ​​у вигляді багатокутника. (Загалом 180 * 360 багатокутників). Мені потрібно розділити всі багатокутники у цьому файлі шейпів так, щоб кожна клітинка була поділена на 16 -и (тому я думаю, використовуючи ваш сценарій чверті кварталу). Я ’m не впевнений, що це відповідає на ваше запитання, але якщо у вас є можливість, я хотів би почути від вас.

Я просто хотів повідомити вам, що я ’m збираюся виконувати своє завдання по -іншому, тому не потрібно витрачати час, допомагаючи мені змінити алгоритм. Я ’m впевнений, що цей інструмент все ще буде мені дуже корисний у майбутньому, і я ’m радий відкрити вашу веб -сторінку! Ще раз дякую, що поділилися своїми ідеями.

Я радий#8217, що ви щось зрозуміли! Я просто хочу повідомити вам, що я додав новий інструмент до набору інструментів під назвою «Створити власну сітку», і я перейменував панель інструментів із «Інструменти сітки розділів» у «Інструменти користувацької сітки». Новий інструмент дозволяє вибрати вертикальний і горизонтальний поділ. Таким чином, ви можете створити 1/20, ввівши в параметри інструменту 5 ࡪ або 4 ࡫. Сподіваюся, що цей інструмент стане вам у пригоді в майбутньому, і дякую за коментарі та внесок щодо додаткових функцій. Новий набір інструментів можна завантажити у верхній частині цієї сторінки.

Я ’ве шукав такий інструмент, дякую! Чи є можливість зробити вихідний код доступним? Схоже, сценарій вбудований у панель інструментів.

Гранте, вибачте за це. Я нещодавно оновив сценарії і забув їх знову опублікувати. Я ’ve додав їх у верхню частину сторінки. Дякую, що нагадали мені, і я сподіваюся, що вони виявляться вам корисними.

Абсолютно ідеально підходить для того, що мені потрібно. Ти чоловік. Мені потрібно було щось розділити Quarter Quads для зображення NAIP, і це було ІДЕАЛЬНО!

Дякую, Томе! Мені ’m завжди цікаво почути різні способи використання інструментів людьми, тому я вдячний, що ви мені повідомили!


Створення ліній з меж багатокутників з атрибутами полігону за допомогою ArcGIS/ArcPy? - Геоінформаційні системи

Позаштатний ArcGIS Спеціаліст із 25+ -річним досвідом роботи з програмним забезпеченням Esri, що працює переважно з ArcGIS Pro, ArcGIS для настільних комп’ютерів, ArcPy/Python, геообробкою (включаючи служби геообробки та ModelBuilder), сторінками, керованими даними, зоологією та підсилювальною генеалогією.

  • ArcGIS Pro, ArcPy, ArcGIS для настільних комп’ютерів та електронне навчання Google Планета Земля, доступні за допомогою Discover Spatial ** БЕЗКОШТОВНО **

Доступний для комерційних консалтингових, навчальних та технічних завдань ArcGIS та готовий надати цитати для вирішення будь -яких нерозв’язних проблем ArcGIS Pro, ArcGIS для настільних комп’ютерів та ArcPy, які виникають на GIS Stack Exchange, коли вони можуть бути непридатними для ефективного вирішення за допомогою фокусованого формату запитань та підсилювачів відповідей .

Пройдіть коротке опитування, щоб скласти свій Навчання ArcGIS for Desktop (та ArcPy) потрібно знати!


Огляд елементів географічної інформації

Як і карта, ГІС базується на шарах. Як і тематичні шари на карті, набори даних ГІС представляють логічні сукупності окремих об’єктів з їх географічним розташуванням та формами, а також описову інформацію про кожну об’єктну структуру, що зберігається як атрибути.

До ГІС виробники карт створили серію шарів карт, які використовувалися для географічного опису та характеристики місцезнаходження. Вони часто використовували плівки, які можна накладати на світлий стіл. Ці інтегровані дисплеї використовувалися для візуалізації просторових відносин та отримання уявлення про відповідні характеристики місця. Практики використовуватимуть їх для інтерпретації та для того, щоб зробити цікаві висновки.

Одним з візіонерів, який використав цей процес для планування, був доктор Ян Макхарг, ландшафтний архітектор та відомий письменник з питань регіонального планування з використанням природних систем. Його основна книга була опублікована в 1969 році і сформулювала концепції екологічного планування, в яких застосовані ці принципи накладання карти. Ви можете дізнатися більше у Вікіпедії про Яна Макхарга та його творчість.

Приблизно в цей же час доктор Роджер Томлінсон, відомий як "батько ГІС", розробив свої ранні ідеї щодо ГІС. Серед інших аспектів ГІС, він додатково сформулював концепцію тематичних шарів та накладок як наріжного каменю для ГІС.

Ці ранні практики ГІС думали про те, як географічну інформацію можна розділити на ряд логічних інформаційних шарів - як більше, ніж випадкову сукупність об’єктів. Вони передбачали однорідні колекції уявлень, якими можна керувати як шарами. These GIS users organized information in individual data themes that described the distribution of a phenomenon and how each theme should be portrayed across a geographic extent. They found that they could use relatively simple GIS data types (points, lines, polygons, and rasters). These simple data layers could be combined through location—that is, georeferencing enabled datasets to be combined in a map or overlaid using geoprocessing operations such as polygon overlay.

These pioneers also provided a protocol for data collection and how to manage these collections as geographic data layers. Here is one example for representing soils.

Each and every area (polygon) in a specified extent could be assigned a dominant soil type, and the soil types could be consistently classified and described using properties or attributes of each polygon. In the case of soils, very involved sets of properties are typically recorded for each soil polygon.

A theme could be defined to delineate various areas representing the dominant soil type (that is, a layer collection of soil type polygons and their descriptions as attribute values).

This organizing principle of geographic layers became one of the universal GIS principles that provided the foundation for how GIS systems represent, operate on, manage, and apply geographic information.


Міністерство сільського господарства, продовольства та сільських питань

If you use the "Find an Address" search option, type in your street address in the "Address" box and type your town or city in the "Municipality" box.

How to add information to your map

Once you have found your location, you can add information to the map.

  1. Under the "Map Information" tab, click on the "Select Map Layers" button.
  2. Open the "Parcels," "Administrative" and "Environment/Base Data" lists by clicking on the plus sign icon beside the words.
  3. Choose the layers you wish to include or exclude by checking or unchecking the boxes on the left-hand side of the layer names.
    Примітка: Some of the layers can only be viewed when the map is zoomed to a certain scale. These layers will appear grey on the map until the map is zoomed to a viewable scale.
  4. Some layers will require you to click on the button beside the layer name to open a legend.

To find more information about a particular layer:

  1. Under the "Map Information" tab, click the "Select Map Layers" button and check the layer boxes you would like to see / identify.
  2. Click the "Identify" button.
  3. Click on a location of the map to see more information for that area. A list of results about the layer at the point where you clicked will appear in the "Identify Results" box to the left of the map. You can click each result to view details about that layer.
  4. To turn on the aerial photos, check the "Ontario Imagery/Air Photos" box at the bottom of the "Map Layers" list. You may need to decrease the transparency of layer groups, or uncheck them, to see the "Ontario Imagery/Air Photos" layer.

Примітка: You may get multiple results when you click on the map. Try to click in the centre of the map feature you want information about.

Navigation

The buttons under the "Navigation" tab allow you to move around the map. You can also create and save bookmarks to use whenever you visit the Agricultural Information Atlas website.

To create a bookmark

  1. Under the "Navigation" tab, click the "Bookmarks" button, or click the book icon on the left-hand side of the map. The "Bookmarked Locations" box will open
  2. Click "Bookmark Current Extent," enter in a name for your bookmark, then press "OK."

To return to a map you bookmarked

  1. Click the "Bookmarks" button under the "Navigation" tab or the book icon on the left-hand side of the map. Any bookmarks that you have saved will be listed in the "Bookmarked Locations" box.
  2. Click on the name of the bookmark you would like to use.

Create Maps

  1. Click the "Create Map" button under the "Markup & Printing" tab. A list of different map templates will appear.
  2. Click on the type of map you would like to create.

You can save and print maps that you create.

To save and print a "General Use Map":

  1. Fill in the fields in the left-hand column, then click "Print."
  2. The system will create a printable map. When the file is ready, click "Open File." The map will open in a new window.
  3. In the new window, you can select to print or save your map.

To save and print a specific map:

  1. Fill in the fields in the left-hand column. Примітка: When creating a map using one of the templates, you can auto-populate location information. Зробити це:
    1. Click on the "Pencil" icon found in the left-hand column.
    2. Click on the desired location in the map. "Upper Tier Municipality," "Lower Tier Municipality," "Geotownship," "Roll Number," "Concession" and "Lot" and "911 Address" information will fill in automatically.

    Maps are created with a static legend. Layers will appear in the legend even when they are not turned on in the map.

    Примітка: When you export a map, the map will open in a new window. To save a copy to your computer hover your mouse over the bottom of the map until a settings bar shows up and click the save icon. You could also use the keyboard function Shift + Ctrl + S to save a copy.

    Add text and draw shapes on your map

    You can add text, and draw points and shapes directly on your map. Click the "Point" button under the "Markup & Printing" tab to see all of the tools available. See the glossary section below for more information about each tool.

    Add Location Information to your map

    You can add text, latitude/longitude coordinates and points to your map. Right-click your mouse on the part of the map you would like to label and select the tool you would like to use.

    Draw Field Boundaries

    1. Under the "Markup & Printing" tab, click the "Point" button and select the "Polygon" tool from the "Markup Tools" drop down boxsection. You can change the style and colour of your polygon by clicking the "Styles" button found beside the "Edit" button.
    2. Click on a starting point on the map and continue clicking to add sides to the polygon. You can zoom in and out and pan around without affecting the polygon.
    3. Double-click the mouse to finish the polygon.
    4. To make changes to a polygon, click the "Edit" button, then click on a polygon you've made on your map.

    Measure the area of a field

      Under the "Map Information" tab, select the "Measure Area" button. Click on a starting point on the map and continue clicking to create a field boundary.

    Примітка: You can click on the "Hide Labels" button to remove the labels from your drawing.

    Measure distance

    1. Under the "Map Information" tab, click the "Measure Distance" button.
    2. Click on a starting point on the map and continue clicking along the path you want to measure.
    3. Double-click to finish the line. Line measurements of each section of the line will be displayed along the line on the map. The total distance will appear at the end of the line.
    4. Use the drop-down menu that appears when you click the "Measure Distance" button to select your preferred unit of measurement. The defaults are "m" (metres) and "m 2 " (square metres).

    Gathering Information to Register for a Premises Identification Number (PID)

    To register for a PID through the Provincial Premises Registry, at least one of one of the following pieces of information is required: (1) Assessment Roll Number, (2) 911 address, and/or (3) geographic coordinates (i.e. latitude and longitude).

    Obtaining your Assessment Roll Number (ARN)

    Create a map for a Tile Drainage Record

    1. Under the "Markup & Printing" tab, click the "Point" button and select the "Polygon" tool.
    2. Use the polygon tool to outline the area on the map where the drain is located. Once you have created your shape, double-click the mouse to finish.
    3. Under the "Markup & Printing tab, click the "Create Map" button.
    4. Choose "Tile Drainage Record" under the "Select Type of Map" list. Click on the "Pencil" icon found in the left-hand column to auto-populate information about the location.
    5. Click on the desired location on the map. "Upper Tier Municipality," "Lower Tier Municipality," "Geotownship," "Concession" and "Lot" information will fill in automatically.
    6. Fill in any missing information about the tile drain. Once all of the information is entered, enter in a title for the map and click "Export Map."
    7. The system will create a printable map. When the file is ready, click "Open File." The map will open in a new window.
    8. In the new window, you can select to print or save your map.

    Примітка: Once you close the map it is gone. It is good practice to save your map for your records.

    Create a map for a Nutrient Management Strategy or a Non-Agricultural Source Material (NASM) Plan

    1. Once you find your location, click the "Select Map Layers" button under the "Map Information" tab
    2. Choose the layers you wish to include or exclude by checking or unchecking the boxes to the left of the layer names.
    3. For a Nutrient Management Strategy or a NASM Plan, it is helpful to check the following layers:

    Create a map for AgErosion Information

    Create a map using the GLASI Checkup Map template

    1. First, you'll need to turn on the watershed and sub-watershed information for your map. Under the "Map Information" tab, click the "Select Map Layers" button. Click the plus sign icon beside "Environment/Base Data" to extend the list. Check the boxes beside "Secondary Watersheds" and "Tertiary Watersheds" in the list. You now have the information you need to create your GLASI Checkup Map.
    2. Under the "Markup & Printing" tab, click the "Create Map" button.
    3. Select "GLASI Checkup Map" from the list.
    4. Enter information about your operation in the "GLASI Checkup Map Information" column. Click on the "Pencil" icon to auto-populate information about the location. "Upper Tier Municipality," "Lower Tier Municipality," "Geotownship," "Roll Number," "Concession" and "Lot" information will fill in automatically.
    5. Fill in any missing information. The watershed and sub-watersheds information is displayed on the map: the "Watershed" information is displayed on the map in green font, and the "Sub-Watershed" information is in purple font.
    6. Enter in a title for your map and click "Export Map."
    7. The system will create a printable map. When the file is ready, click "Open File." The map will open in a new window.
    8. In the new window, you can select to print or save your map.

    Примітка: Once you close the map or web browser, the map is gone. It is good practice to save your map for your records.

    Create a map using the Pest Assessment Report Sketch

    See the different help topics above for help with searching for your farm's location, measuring your property, labelling your map, using the markup tools and adding other information to your map.

    1. Zoom to your farm property.
    2. Under the "Map Information" tab, click on the "Select Map Layers" button. Click the plus sign beside "Background Map and Imagery", if necessary, to expand the menu and check the "Ontario Imagery" box to turn on the layer. To see the "Ontario Imagery" layer on the map, uncheck the "LIO Topographic" box or increase the transparency by using the slider bar to the right of the layer name.
    3. Measure your application areas using the "Measure Area" button under the "Map Information" tab. See the "Measure the area of a field" section above for help using this function.
    4. Add points to your map to show the scouting locations where grubs and/or wireworms were detected.

    If you want to add latitude and longitude coordinates, click the button at the bottom of the map to see the latitude and longitude coordinate for the location of your mouse.
    1. When you are finished making your map, click on the "Create Map" button under the "Markup & Printing" tab.
    2. Select "Pest Assessment Report Sketch" from the "Create Map" list.
    3. Enter information about your operation in the "Pest Assessment Report Sketch" column. Click on the "Pencil" icon to auto-populate information about the location. Fill in any missing information.
    4. Click the "Export Map" button. The system will create a printable map. When the file is ready, click "Open File." The map will open in a new window.
    5. In the new window, you can select to print or save your map.

    Create a map for a BeeYard Registration Sketch

    Choose "Bee Yard Registration Sketch" under the "Select Type of Map" list. Click on the "Pencil" icon found in the left-hand column to auto-populate information about the location.

    Create a map for Fit 5 CLI Projects

    Create a map for Farm Fire Safety

    Agriculture and Agri-Food Canada Crop Inventory Legend

    Словник

    Про вкладку

    Takes you to a web page with contact information and important messages.

    Gives an overview of the AgMaps.

    Navigation Tab

    Create and save a bookmark of a map location to use at a later time.

    Zooms in on the map view.

    Zooms out from the map view

    Returns the map view to its original location or region.

    Go back to previous map view

    Go forward through sequence of map views.

    Map Information Tab

    Allows you to choose layers to include or exclude from the map.

    Allows you to click on a location and see layer information.

    Allows you to search for an area using different methods.

    Allows you to search for specific features on the map.

    Measure the distance and area of a feature on the map.

    When you click the "Measure Distance" or the "Measure Area" button, a drop-down menu will appear that allows you to choose a unit of measurement.

    When you click on the "Measure Area" button, the "Enable Snapping" button will appear. If you click on it then a circle with a point will follow your cursor allowing you to "snap" the vertices of your markup features, or points you want to measure, to other features.

    Let's you turn off the labels after you have measured an area or a distance.

    Lets you erase markings made on the map.

    Deletes all markings made on the map.

    Allows you to load your data into the map for viewing.

    Markup and Printing Tab

    Allows you to create a map using different pre-loaded templates.

    Contains tools for drawing on maps.

    Let's you edit an existing drawing on your map.

    These tools are available in the drop-down menu of the "Edit" button. You can edit a markup, erase a markup or clear all markups on your map.

    Allows you to choose the style of a drawing tool, such as colour and type of line.

    Allows you to download, in shp file format, the points, lines, or polygons, you created on the map.

    Allows you to export an image of the map, in various formats, and include georeference data if you choose.

    Markup Tools drop-down menu

    Adds a point on the map.

    Adds text to the map.

    Draws straight lines on the map

    Allows you to draw your own lines shapes not using straight lines.

    Allows you to draw your own polygon shape not using straight lines.

    Draws ovals on the map.

    Draws circles on the map.

    Draws straight line polygons on the map.

    Draws rectangles on the map.

    Ontario Soil Survey Complex Lay Labels Контур

    Outlines the boundaries of different soils found throughout Ontario.

    Soil Code, Slope Class, and Stoniness

    A component of the SOILTYPE Soil code was created by the federal government under the Canadian Soil Information Service (CanSIS). Non-mineral soil codes begin with Z and are as follows: ZAL = Bottom Land, ZUR = Urban, ZZZ = Water, ZBH = Beach, ZCR = Breypen variable, ZDL = Disturbed Land, ZDN = Dune, ZER = Eroded Channel, ZES = Escarpment, ZMD = Man Made, ZMH = Marsh, ZMK = Muck, ZML = Marl, ZNM = Not Mapped, ZOR = Organic, ZPT = Peat, ZQY= Quarry or Gravel Pit, ZRD = Ridge, ZRL = Rockland, ZRV = Ravine, ZSC = Scarp, ZST = Stream Channel/Course, ZUN = Unclassified (Island), ZVC = Valley Complex.

    Slope Class

    A letter designation commonly used in soil surveys, which symbolizes both the slope magnitude and relative slope length. Each letter, be it upper or lower case, represents a range of slope magnitude commonly expressed as a percent. If the letter is upper case it represents a simple slope meaning that it is >50m in length. If the letter is lower case it represents a complex slope meaning that it is <50m in length. CLASS A, a B, b C, c D, d E, e F, f G, g H, h I, i J, j.

    Occurrence of surface stoniness. Field manual for describing soils in Ontario (Department of Land Resources, University of Guelph, 4th Edition): Class Meaning - Not Applicable, 0 = Non-stony 1 = Slightly stony, 2 = Moderately stony, 3 = Very stony, 4 = Exceedingly stony, 5 = Excessively stony In Peterborough, Leeds and Grenville Rockiness was also included: Class Meaning 5 = Rockfree, 6 = Slightly rocky, 7 = Moderately rocky, 8 = Very rocky, 9 = Exceedingly rocky

    The original map symbol used on original hardcopy soil survey maps. This character symbol is an abbreviation of the soil name. For example, the symbol for TAVISTOCK LOAM is: Ta.

    Hydrologic Soil Group

    Hydrologic Soil Groups are used to estimate runoff from precipitation. Classification of soils by their reference to intake rate of infiltration of water, which is influenced by texture, organic matter content, stability of the soil aggregates and soil horizon development. Soils are assigned to one of four groups. They are grouped according to the infiltration of water when the soils are thoroughly saturated. Class Description A Soils having a high infiltration rate (low runoff potential) when thoroughly wet. These consist mainly of deep, well drained to excessively drained sands or gravelly sands. These soils have a high rate of water transmission. B Soils having a moderate infiltration rate when thoroughly wet. These consist chiefly of moderately deep or deep, moderately well drained or well drained soils that have moderately fine texture to moderately coarse texture. These soils have a moderate rate of water transmission. C Soils having a slow infiltration rate when thoroughly wet. These consist chiefly of soils having a layer that impedes the downward movement of water or soils of moderately fine texture or fine texture. These soils have a slow rate of water transmission. D Soils having a very slow infiltration rate (high runoff potential) when thoroughly wet. These consist chiefly of clays that have high shrink-swell potential, soils that have a permanent high water table, soils that have a claypan or clay layer at or near the surface, and soils that are shallow over nearly impervious material. These soils have a very slow rate of water transmission.

    Indicates classification of how well the soil drains. Drainage Classes - VR = Very Rapidly, R = Rapidly W = Well MW = Moderately Well I = Imperfectly, P = Poorly, VP = Very Poorly, WA = Water, VA= Variable.

    Soil Capability for Agriculture (Canada Land Inventory Rating for Soil)

    Canada Land Inventory (CLI) rating for the soil component. The Canada Land Inventory for agriculture is an interpretative system for assessing the effects of climate and soil characteristics on the limitations of land for growing common field crops (corn, soybeans, small grains, forages). In the CLI rating system there are seven classes: Class Descriptions: Class 1 No significant limitations in use for Crops Class 2 moderate limitations on use for crops Class 3 moderately severe limitations on use for crops. Class 4 Severe limitations on use for crops. Class 5 Very severe limitations preclude annual cultivation improvements feasible. Class 6 Natural grazing only no improvements feasible. Class 7 No capability for agriculture. O Organics. W Water. 0 not rated (example: urban land). Classifying Prime and Marginal Agricultural Soils and Landscapes: Guidelines for the Application of the Canada Land Inventory in Ontario.

    Surface Texture (Soil texture)

    Soil texture of the surface or 'A' horizon. Soil texture is determined by the relative proportion of sand, silt and clay found in a given soil. The term "texture" refers to the size of the individual soil particles and has nothing to do with the amount of organic matter present in the soil. ATEXTURE Description: C = Clay, CL = Clay Loam, CSL = Coarse Sandy Loam, FS = Fine Sand, FSL = Fine Sandy Loam, GL = Gravelly Loam, GRAV = Gravel, GS = Gravelly Sand, GSL = Gravelly Sandy Loam, L = Loam, LFS = Loamy Fine Sand, LS = Loamy Sand, LVFS = Loamy Very Fine Sand, ORG = Organic, S = Sand, SIC = Silty Clay SICL = Silty Clay Loam, SIL = Silt Loam, SL = Sandy Loam, VFSL = Very Fine Sandy Loam, VAR = Variable

    Three component label separated by dashes. Component percentages are a superscript of the Texture. Component 1 has Texture GL with component percentage 60, Component 2 has Texture FSL with component percentage 20 and Component 3 has Texture SL with component percentage 20.

    *Примітка: Some soil polygons will have the same attributes for more than one component. These polygons will present a label like the Drainage label example below. The first component Drainage attribute has an "R" value representing 50% of the polygon, while the second component takes up 30%, and the third component takes up 20%. Both component 2 and component 3 have the same Drainage attribute value, so they were combined to represent one value with the combined percentage to show that 50% of the polygon represents a Drainage value of "W", even though it consists of two components.

    Geographical Information Services at the Ministry of Agriculture and Food and Ministry of Rural Affairs


    1 Answer 1

    You can use functions from the rgeos package to extract such regions (e.g. gIntersection , gDifference ). I use gDifference in this example, because gIntersection returns a SpatialCollections object here:

    It is important to note that this area is in square degrees. You have to use spTransfrom with an appropriate projection (see @WHuber's comment below).
    gArea returns also a warning (you didn't fixed it, you used a workaround):

    What are the units in which that area is reported? If seems like square degrees, which would be inappropriate for data that extend so far in latitude. It is crucial to perform the computation with data projected in a cylindrical equal area projection.

    yes, it's square degrees, I've just reused the code from the question gArea returns also a warning: gArea(ao): Spatial object is not projected GEOS expects planar coordinates


    Подивіться відео: استخدم Python لاستخراج بيانات Twitter من MongoDB إلى ArcGIS (Жовтень 2021).