Использование ArcGIS Desktop с SQL Server Spatial в качестве бэкэнда?

15

Мне интересно, как лучше всего использовать ArcGIS Desktop и SQL Server 2008 вместе. На данный момент мы выполняем ручной импорт и экспорт между sql 2008 и файлами формы arcgis 10. В SQL Server 2008 с типом данных географии я ожидал, что будет проще заменить файлы карт реляционной базой данных, но по некоторым причинам это не так просто, как я ожидал.

Кто-нибудь есть идеи, как я могу использовать SQL 2008 для хранения данных и покончить с файлами форм? Я читал об Arcsde, но на самом деле не понимаю смысл другого слоя. Понятия не имею, что он на самом деле должен делать.

Майкл
источник

Ответы:

9

Используя ArcSDE, вы можете хранить пространственные данные в основном в 2 форматах. Либо используя собственный формат SDE (который является BLOB), либо ИЛИ в зависимости от используемой вами базы данных (SQL Server, Oracle, PostGIS, я думаю, что и DB2 пространственная) в соответствующем собственном формате базы данных. Например, для Oracle это тип SDO_GEOMETRY, а для SQL Server - пространственные типы Geography или Geometry.

Какой формат вы на самом деле используете, зависит от вас, и он не будет / не должен иметь (огромного) значения на стороне клиента. Любой клиент ESRI (например, Arcmap) будет обрабатывать данные таким же образом. Я бы предложил использовать собственный формат SQL Server (или Oracle, если вы его использовали), так как в противном случае я думаю, что вам придется использовать инструменты только для ESRI, чтобы выполнять даже самые простые пространственные запросы или анализ. Использование собственного формата БД, с другой стороны, позволит вам запрашивать данные и у других клиентов, и даже из SQL Server Management Studio. И, как говорит @Blomster, вы можете перенести большую часть пространственной логики в хранимые процедуры.

Первым шагом для импорта шейп-файлов в SQL Server будет загрузка удобной утилиты Shape2SQL от Extremeley от Morten Nielsen.

mapoholic
источник
13

Поскольку вы пометили вопрос для ArcGIS 10, проверьте слои запросов: http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#/What_is_a_query_layer/00s50000000n000000/

Я использовал его для подключения к базам данных, отличным от ArcSDE SQL Server 2008.

Вы попадаете в меню файлов:

введите описание изображения здесь

И есть несколько других экранов, которые помогут вам определить, что нужно знать ArcMap для создания слоя запросов.

введите описание изображения здесь
(Убедитесь, что ваш запрос включает в себя поле геометрии и поле уникального идентификатора)

введите описание изображения здесь

Возможно, вы захотите проверить это, так как я знаю, что это было с ошибкой в ​​выпуске и SP1.

Джей Камминс
источник
6

По моему опыту, добавление типа пространственного столбца SQL позволило мне перенести многие мои пространственные операции (расстояние, буфер) в хранимые процедуры, что действительно удобно.

В наборе инструментов ArcGIS есть инструмент «Копировать объекты» для передачи данных в базу геоданных sde, и если вы укажете ключевое слово конфигурации «Геометрия» или «География», будет создан пространственный столбец sql.

Blomster
источник
4

ArcSDE позволяет вам хранить пространственные данные в экземпляре SQL Server, эффективно добавляя пространственный столбец в ваши таблицы; это не меняет его и не влияет на существующие соединения / приложения. ArcSDE действует, если хотите, в качестве хранилища метаданных для ваших пространственных данных, таких как имя класса объектов, владелец, экстент, тип сохраняемой геометрии и т. Д. И т. Д. (Все в таблицах метаданных, созданных при установке ArcSDE). Он позволяет хранить все, что угодно, изображения и т. Д., И при этом иметь пространственные привязки (в SQL Server, если я правильно помню, пространственные данные хранятся в виде tpe-изображения?). ArcSDE управляет хранением этих данных. На самом деле это хороший инструмент, и все это от скептического пользователя ESRI.

В настоящее время я использую ArcGIS Server с ArcSDE и прямым подключением (используя tnsnames) на сервере Oracle 11g, и это здорово. Я не понимаю, почему вы используете SQL Server для пространственных данных, когда я думаю, что он все еще довольно незрелый.

волосатый
источник
0

Вы можете редактировать векторные данные, хранящиеся в SQL 2008 или 2012 в ArcGIS, установив расширение GISquirrel, доступное по адресу www.gisquirrel.com. Здесь также есть инструменты для импорта пространственных данных в SQL Server из любого источника данных, который можно просматривать как слой в ArcMap. , Недавно я импортировал таблицу с 90 миллионами полигонов - это заняло 4 дня, но без проблем работал на 2-летнем ноутбуке!

CrispinF
источник