Краткая информация
Объекты RecordSet являются упрощенным представлением таблицы. Они представляют собой особый элемент данных, который содержит не только схему, но и данные. Объект RecordSet – это также способ передачи и получения таблиц с сервера.
Обсуждение
Примечание:
При загрузке таблицы в новый RecordSet и изменении RecordSet с помощью инструмента геообработки, изменяющего входные данные, как инструмент Вычислить поле, или функцию как UpdateCursor, исходная таблица также будет изменена.
Синтаксис
RecordSet ({table})
Параметр | Описание | Тип данных |
table | The table to load into the RecordSet object. The input can be a catalog path to a feature class, a URL to a hosted feature layer, a JSON with the syntax {"url":"<url>", "serviceToken":"<serviceToken>"} to load data from external sources that require an access token, or an Esri (FeatureSet) JSON string. An Esri JSON (.json) is a standard for encoding feature (geometry and attribute) data as a JSON object. For tables, the JSON does not include geometryType, spatialReference, or geometry keys. | String |
Свойства
Свойство | Описание | Тип данных |
JSON (только чтение) | Возвращает представление геометрии Esri JSON в виде строки. Подсказка:Возвращаемая строка может быть конвертирована в словарь с помощью функции loads модуля json. | String |
Обзор метода
Метод | Описание |
load (table_path, {where_clause}) | Импротирует таблицу в объект RecordSet. |
save (table_path) | Экспорт в таблицу. |
Методы
load (table_path, {where_clause})
Параметр | Описание | Тип данных |
table_path | The table to load into the RecordSet object. The input can be a catalog path to a feature class, a URL to a hosted feature layer, a JSON with the syntax {"url":"<url>", "serviceToken":"<serviceToken>"} to load data from external sources that require an access token, or an Esri JSON string. | String |
where_clause | An SQL expression used to select a subset of records. For more information on SQL syntax, see SQL reference for query expressions used in ArcGIS. (Значение по умолчанию — None) | String |
Дополнительные аргументы могут быть только позиционными, передать их по именованным аргументам нельзя.
save (table_path)
Параметр | Описание | Тип данных |
table_path | Создаваемая выходная таблица. | String |
Пример кода
Импортировать набор инструментов с сервера; получить RecordSet из указанного параметра серверного инструмента.
import arcpy
# Add a custom server toolbox
arcpy.ImportToolbox("http://myserver/arcgis/services;Geocode")
# Get recordset from server tool's first parameter to use as schema
in_recordset = arcpy.GetParameterValue("GeocodeAddress", 0)
Создать RecordSet и загрузить поднабор в размещенную таблицу.
import arcpy
# Set data
in_dataset = "https://maps.my.org/arcgis/rest/services/Tables/MapServer/0"
query = "Country_Code: 'IT'"
# Create empty RecordSet
record_set = arcpy.RecordSet()
# Load data into RecordSet with query
record_set.load(in_dataset, query)
Создаёт RecordSet из строки JSON Esri.
import arcpy
# Set data
data_json = '''{
"objectIdFieldName": "objectid",
"globalIdFieldName": "globalid",
"fields": [
{
"name": "objectid",
"alias": "OBJECTID",
"type": "esriFieldTypeOID"
},
{
"name": "requestid",
"alias": "Service Request ID",
"type": "esriFieldTypeString",
"length": 25
},
{
"name": "requesttype",
"alias": "Problem",
"type": "esriFieldTypeString",
"length": 100
},
{
"name": "comments",
"alias": "Comments",
"type": "esriFieldTypeString",
"length": 255
}
],
"features": [
{
"attributes": {
"objectid": 246362,
"requestid": "1",
"requesttype": "Sidewalk Damage",
"comments": "Pothole"
}
},
{
"attributes": {
"objectid": 246382,
"requestid": "2",
"requesttype": "Pothole",
"comments": "Jhh"
}
}
]
}'''
# Create FeatureSet from Esri JSON
feature_set = arcpy.RecordSet(data_json)