Есть ли способ выбрать отдельные значения из столбца в ArcMap? У меня есть данные в форматах GDB и SHP. Я искал способы выбора, используя SQL, QueryLayers, ModelBuilder и отдельные наборы инструментов, и он появляется, поскольку все параметры выбора всегда ВЫБРАТЬ * ИЗ ИМЕНА tableName ГДЕ ...
В SQL я бы написал SELECT DISTINCT columnName FROM tableName.
Используйте понимание списка Python.
Для больших наборов данных эффективный для памяти метод - использовать выражение генератора .
источник
fields
аргумент, напримерmyList = set([row.getValue(fldName) for row in arcpy.SearchCursor(fcName, fields=fldName)])
Если ваши данные представлены в формате PGDB, вы можете сделать следующее в диалоговых окнах построителя запросов (определение запроса, выборка по атрибутам, выражения панели инструментов и т. Д.), Используя подзапрос:
SELECT * FROM tableName ГДЕ ...
Это вернет записи, для которых значения в column_to_test_for_unique_values являются уникальными.
источник
Если у вас есть только базовая (ранее называемая ArcView) лицензия, вы можете открыть табличное представление, щелкнуть правой кнопкой мыши столбец и выбрать Суммировать.
источник
Если ваши данные находятся в SDE (ядро пространственной базы данных), вы можете использовать Python и ArcSDESQLExecute объект arcpy. С помощью этого «метода» можно пройти сложный SQL.
источник
Или используйте сценарий Python для экспорта в CSV, а затем используйте API-интерфейс Python другой базы данных (скажем, SpatiaLite), чтобы прочитать csv и выполнить правильный запрос SQL для него из этого же сценария. Для большой таблицы это может быть чуть-чуть быстрее, чем создание собственного списка построителей - не знаю.
Как бы вы это ни делали, это все еще действительно раздражающая «особенность» ArcGIS.
источник
Как насчет использования
distinct
в подзапросе (ниже приведен класс объектов FGDB):Обратите внимание из справки (10.0), что это имеет ограничения:
источник
Как предполагает Джастин. Я обычно делаю сводку по нужному полю, затем делаю выборочный отчет в dbf, выполняю небольшой расчет, чтобы классифицировать каждое отдельное значение, а затем присоединяю его к оригиналу.
Это долгий путь, и вы должны фенагель с вашими любимыми методами отсчета. но ...
Что бы ни делали работу.
источник