FeatureClassToNumPyArray
Краткая информация
Функция FeatureClassToNumPyArray выполняет преобразование класса объектов в структурированный массив NumPy.
Обсуждение
NumPy – это основной пакет для научных вычислений в Python, включая поддержку мощного N-мерного массива. Дополнительные сведения см. в разделе NumPy в ArcGIS.
Для преобразования таблицы в массив NumPy используйте вместо этого функцию TableToNumPyArray.
Синтаксис
FeatureClassToNumPyArray(in_table, field_names, {where_clause}, {spatial_reference}, {explode_to_points}, {skip_nulls}, {null_value})
| Параметр | Объяснение | Тип данных |
|---|---|---|
|
in_table |
Входной класс объектов, слой, таблица или табличное представление. |
String |
|
field_names |
Список (или кортеж) имен полей. Для одного поля можно использовать строку вместо списка строк. Используйте звездочку ( Поля растра и типа BLOB не поддерживаются. Объекты геометрии не поддерживаются при использовании токена Доступ к дополнительной информации можно получить, используя токены (такие как
Export a feature class to a NumPy array. The output array will include a field for the Object ID and a field containing a tuple of the feature's centroid's x,y coordinates.
(Значение по умолчанию — *) |
String |
|
where_clause |
Возвращается дополнительное выражение, которое ограничивает записи. Более подробно об условиях WHERE и выражений SQL см. Основы SQL для выражений запроса, применяемых в ArcGIS. (Значение по умолчанию — "") |
String |
|
spatial_reference |
Пространственная привязка класса объектов. Когда этот аргумент задан, объект будет спроецирован (или преобразован) из пространственной привязки входных данных. Если не указан, то будет использоваться пространственная привязка входных классов пространственных объектов. Допустимыми значениями этого аргумента являются объект Use the spatial_reference argument to return coordinates in a different spatial reference. Here, a second feature class is described to access a spatial reference object.
(Значение по умолчанию — None) |
SpatialReference |
|
explode_to_points |
Разбивает объект на отдельные точки или вершины. Если для (Значение по умолчанию — False) |
Boolean |
|
skip_nulls |
Управляет тем, пропускаются ли записи со значениями NULL. Это может быть логическое значение Если задано значение Skip all records that include a null.
Функцию Python и выражение Use a function to capture all records that are skipped because of nulls.
Use a lambda expression to capture all records that are skipped because of nulls.
Примечание:В массивах NumPy строки с null представляются в типах с плавающей запятой, как (Значение по умолчанию — False) |
Variant |
|
null_value |
Заменяет NULL из входных данных на новое значение.
Mask all None's in integer fields with a -9999.
Mask None's in integer fields with different values using a dictionary.
Внимание:Указание маски, например -9999, позволяет экспортировать целочисленные поля без значений (NULL) в массив NumPy, но будьте осторожны при использовании этих значений при анализе. Результаты могут быть искажены данным значением. (Значение по умолчанию — None) |
Integer |
Возвращаемое значение
| Тип данных | Объяснение |
|---|---|
|
NumPyArray |
Структурированный массив NumPy. |
Пример кода
Преобразуйте таблицу в массив numpy и выполните базовую статистику с использованием numpy.
import arcpy
import numpy
input = "c:/data/usa.gdb/USA/counties"
arr = arcpy.da.FeatureClassToNumPyArray(input, ('STATE_NAME', 'POP1990', 'POP2000'))
# Sum the total population for 1990 and 2000
print(arr["POP1990"].sum())
print(arr["POP2000"].sum())
# Sum the population for the state of Minnesota
print(arr[arr['STATE_NAME'] == "Minnesota"]['POP2000'].sum())
Используйте TableToNumPyArray для определения коэффициентов корреляции для двух полей.
import arcpy
import numpy
input = "c:/data/usa.gdb/USA/counties"
field1 = "INCOME"
field2 = "EDUCATION"
arr = arcpy.da.FeatureClassToNumPyArray(input, (field1, field2))
# Print correlation coefficients for comparison of 2 field values
print(numpy.corrcoef((arr[field1], arr[field2])))