Воспользуйтесь диалоговым окном Новый слой запроса, чтобы составить запрос SQL, позволяющий задать слой запроса на вашей карте.
Ниже приводится краткая информация о том, как создать слой запроса в диалоговом окне Новый слой запроса:
- Подключаться к базе данных.
Первый шаг при создании слоя запроса в ArcGIS – создание подключения к базе данных, к которой будет выполняться запрос. Можно перетащить подключение базы данных в окне Каталога, как это описано в Подключениях баз данных в ArcMap, либо создать подключение в диалоговом окне Новый слой запроса.
- Выберите таблицу.
После того как подключение будет установлено, в диалоговом окне Новый слой запроса появится список таблиц и представлений. При выборе таблицы отобразятся ее столбцы.
Каждый столбец в базе геоданных имеет определенный тип данных. ArcGIS может работать с большинством обычных типов в базе данных. Однако некоторые типы не поддерживаются. Если тип столбца атрибутов – Unknown, это означает, что ArcGIS не поддерживает этот тип данных. Когда вы зададите запрос, все столбцы с неизвестным типом данных должны быть либо исключены, либо в запросе следует изменить их тип, на тот, который поддерживается ArcGIS.
Подробнее см. в разделе Типы данных СУБД, поддерживаемые в ArcGIS.
- Постройте SQL-запрос.
Внесите уточнения в SQL запрос в текстовом окне Запрос.
При построении запроса в текстовое поле Запрос можно добавить всю таблицу, дважды щелкнув ее или перетащив ее из окна Список таблиц в тестовое поле Запрос. Точно так же можно добавить определенные столбцы таблицы - или дважды щелкнуть на них, или перетащить из окна Столбцы в текстовое окно Запрос . Запрос можно также напечатать или скопировать и вставить из внешнего приложения в окно Запрос.
При построении слоя запроса следует использовать SQL-синтаксис, специфичный для базы данных. Обычное выражение может быть таким: SELECT * FROM Test.myuser.US_States. Результатом будет слой запроса, содержащий все строки из таблицы US_States. Это приведет к отображению всех Соединенных Штатов на карте.
Более подробно о построении SQL-запросов см. раздел Построение выражений запроса.
- Проверьте SQL-выражение.
После того как выражение создано, его необходимо проверить. В процессе проверки ArcGIS проводит определение свойств слоя запроса, основываясь на возвращенные данные первой строки в таблице.
В процессе проверки ArcGIS проводит определение свойств слоя запроса, основываясь на возвращенные данные первой строки в таблице.
Свойства слоя запроса используются для фильтрации строк базы данных при чтении их ArcGIS. Например если у объектов вашего класса различные идентификаторы SRID, свойство SRID, установленное в слое запроса, будет использоваться в качестве барьера, чтобы строки таблицы из базы данных c несовпадающим SRID, не отображались на карте.
- Задайте уникальный идентификатор или используйте идентификатор, найденный ArcGIS во время проверки.
Уникальный идентификатор - это одно или несколько полей, используемых ArcGIS для идентификации каждой строки в таблице.
- Для классов пространственных объектов или представлений, которые содержат пространственный столбец, вы можете задать следующее или использовать значения по умолчанию, обнаруженные ArcGIS при проверке:
- Размерность – свойство определяет, будут ли содержать координаты значения M для хранения данных маршрутов и значения Z для хранения 3D данных.
- Тип геометрии – свойство определяет тип слоя: точечный, мультиточечный, линейный или полигональный.
- Пространственная привязка – система координат и другие относящиеся к слою пространственные свойства.
Бывает, что ArcGIS не может точно определить пространственную привязку, основываясь на текущем значении SRID, заданном для таких объектов в базе данных. В этом случае у слоя запроса может оказаться неизвестная пространственная привязку, и вы должны определить ее вручную. Важно, что в этом случае определение пространственной привязки слоя запроса не перепроецирует данные; просто указывается, какая пространственная привязка будет применена при отображении результатов запроса на карте в ArcGIS.
- SRID – идентификатор пространственной привязки, который используется для возвращения по запросу только объектов геометрии, имеющих ту же пространственную привязку. Значение SRID может быть пустым, если в слое запроса нет пространственного поля. Если это значение задано, все пространственные объекты, у которых нет указанного значения SRID геометрии, будут исключены из результирующего набора.
Выполните приведенные ниже действия для создания слоя запроса на карте.
- В диалоговом окне Новый слой запроса укажите имя в текстовом поле Имя для создаваемого слоя запроса. Это имя, которое будет отображаться в таблице содержания ArcMap.
- Нажмите Подключения, чтобы подключиться к базе данных, содержащей таблицу, к которой вы хотите выполнять запрос.
Откроется диалоговое окно Организовать подключения. В этом окне можно выбрать, изменить или удалить существующие подключения баз данных, а также создать новые.
- Выберите существующее подключение базы данных или создайте новое.
- Щелкните Новое, чтобы создать новое подключение базы данных. Откроется диалоговое окно Подключение к базе данных. Введите соответствующую информацию о подключении согласно инструкциям раздела Подключения баз данных в ArcMap. После добавления нового подключения в список Существующие подключения введите описательное имя и нажмите кнопку ОК.
- Чтобы использовать существующее подключение, выберите его из списка Существующие подключения и нажмите кнопку ОК.
- Введите SQL-запрос в текстовом поле Запрос.
- Нажмите Проверить, чтобы убедиться, что синтаксис запроса корректен, и он вызывает данные, которые можно использовать в ArcGIS. Процесс проверки выполняет запрос в базе данных и проверяет, встречаются ли в результирующем запросе стандарты моделирования данных, приемлемые в ArcGIS. Слой запроса не добавляется на карту, пока он не проверен.
Правила проверки следующие:
- Результирующий набор должен иметь не больше одного пространственного поля.
- Результирующий набор должен иметь не более одной пространственной привязки.
- Результирующий набор должен иметь только один тип геометрии.
- В результирующем наборе не должно быть каких-либо типов полей, не поддерживаемых в ArcGIS.
Если проверка не пройдена по любой причине, появится сообщение об ошибке, чтобы вы могли изменить запрос SQL.
Проверка особенно важна при работе с пространственными базами данных, которые не поддерживают те же стандарты, что и ArcGIS.
В процессе проверки ArcGIS задает свойства слоя запроса: размерность, тип геометрии, пространственную привязку, SRID и уникальный идентификатор. Эти значения основаны на первой строке, возвращенной по запросу. Если вам нужно изменить эти параметры, поставьте отметку Показать дополнительные свойства, чтобы открыть диалоговое окно Дополнительные параметры, и задайте следующее:
- Выберите поле или поля, которые содержат значения, однозначно определяющие каждую строку в слое. Более подробно см. раздел Поля уникального идентификатора.
- Выберите из ниспадающего меню тип геометрии. В наборе результатов запроса появятся только объекты выбранного вами типа геометрии.
- Щелкните Выбрать, чтобы выбрать систему координат, которая будет использоваться для пространственной привязки, или импортируйте пространственную привязку из существующего набора данных, нажав Импорт.
- Если ваш запрос успешно проверен, и вы установили все необходимые дополнительные параметры, нажмите кнопку Готово, чтобы добавить результирующий набор на карту в качестве слоя запроса.
Для получения информации об изменении свойств слоя запроса обратитесь к разделу Изменение слоя запроса.