<<На Главную         <В меню Советы по ArcGIS

  У тех пользователей, которым приходиться иметь дело с информацией,  в которой большие объемы атрибутивных и пространственных данных неразрывно связаны друг с другом и представляют единое органическое целое,  возможность хранить  записи в одном формате и в одной базе  современных СУБД становиться всё более привлекательной. Весьма показательным примером в этом плане представляется обработка результатов широкомасштабных  агрохимических обследований, где имеет место быть именно такая ситуация.

     В одной из статей на нашем сайта уже рассматривался вопрос о том, каким образом можно загрузить  векторные данные из ГИС MapInfo в формат пространственных данных MS SQL Server (эту информацию можно посмотреть тут). Но поскольку пользователи ArcGIS также, по-видимому, сталкиваются с задачей конвертации shape -файлов в MS SQL, то вполне логичным будет рассмотреть и этот случай.

    Вообще говоря, для тех , кто   себя достаточно свободно чувствует , работая одновременно в двух ГИС-пакетах ( в смысле MapInfo и ArcGIS) наиболее подходящим методом выгрузки пространственных данных будет, по-видимому, использование утилиты EasyLoader. Единственное неудобство при таком раскладе в случае работы в ArcGIS связано с необходимостью конвертировать shape -файлы в формат .tab.

   Но неравнодушные умельцы тоже не сидят сложа руки :-) - другим возможным приёмом выгрузки shape-файлов в формат MS SQL Server является использование  утилиты Shp2Sql. Далее и займёмся таким подходом более подробно.

    В качестве примера предположим, что нам необходимо отконвертировать из ArcGIS такую простенькую карту, представленную сл. шейп-файлом:

 

 

Для начала естественно, надо будет обзавестись соответствующим инструментом. Утилитку Shp2Sql можно качнуть совершенно свободно с сайта разработчика по сл. ссылке: http://www.sharpgis.net/page/shape2sql . Распаковав  скаченный архив, запускаем файл Shape2Sql:

 

 

Гл. форма приложения Shp2Sql имеет сл. вид:

 

 

Если с кнопкой выбора шейп-файла, я думаю всё более-менее понятно, то для настройки подключения к MS SQL Server нужно будет дать небольшие комментарии:

 

Для случая нашего примера будем подключаться к серверу sim\sqlexpress с аутентификацией по входу в Windows (самый простой вариант) и к базе данных MyBase.

 

 

Необходимо заметить, что утилита Shp2Sql несколько капризная в работе. Например, при работе из-под 64-х разрядной Windows 7 при использовании MS SQL Server 2008 она выбросила сообщение типа: Unable to load SqlServerSpatial.dll. К счастью, такая проблема легко лечиться установкой соответствующего сервис-пака на MS SQL Server 2008.

Другим замеченным капризом стало (в случае присутствия в ваших данных колонки id)  сообщение  типа Name conflict on ID column and Shape data column:

 

 

Правда, решается этот казус также достаточно легко - нужно просто сбросить флажок в соотв. колонке:

 

 

Справедливости ради стоит заметить, что при использовании упомянутой выше MapInfo' вской утилиты EasyLoader таких проблем не наблюдалось. Однако, продолжим ...

Для выгрузки ваших shape-файлов после настройки всех опций  жмём на кнопку Upload Database (Выгрузить в базу). В случае, если экспорт данных прошёл удачно, то в указанной базе данных должна появиться ваша таблица, перегруженная  из shape-файла:

 

 

Имейте в виду один простой момент - для отображения списка всех таблиц может понадобиться обновить их список по правой кнопке в контекстном меню в MS SQL Server Management Studio:

 

 

 

Вполне понятно, что аналогичным образом можно выгрузить и слой полилиний:

 

 

Ссылки

 

1. О ещё одном способе выгрузки shape-файлов в MS SQL утилитой EasyLoader смотрите здесь 

 

2. Как просмотреть пространственные данные MS SQL можно подробно узнать в сл. статье

 

©Simashkov.2014

07.09.2014 г.

Назад