Создание слоя с БД SQL Server в MapGuide

Вопросы по нескольким пакетам сразу, или вопросы, которые непонятно к какой ГИС отнести
Ответить
and
Новоприбывший
Сообщения: 7
Зарегистрирован: 11 янв 2010, 16:07
Репутация: 0

Создание слоя с БД SQL Server в MapGuide

Сообщение and »

Как правильно создать слой в MapGuide?

Есть БД SQL Server, в которой хранятся данные о геометрии объектов (Координата Х и Y).

Необходимо создать слой и отобразить на нем точки с координатами Х , Y из БД.

Через ODBC получилось связатся но работает очень медленно. Через Autodesk FDO Provider SQL Server связатся не получается, так как не заполняется выпадающий список Geometry.
Аватара пользователя
JEY
Активный участник
Сообщения: 228
Зарегистрирован: 17 июл 2008, 13:42
Репутация: 1

Re: Создание слоя с БД SQL Server в MapGuide

Сообщение JEY »

Привет!

С ходу вопрос: При помощи какого программного продукта создавалась база данных SQL Server? Возможно, что FDO не может найти схему базы данных, которая имеет основу из нескольких таблиц, которые FDO сам же и создает.

Это объясняет тот факт, что список полей для доступа к геометрическим данным пуст.

Совет: Если геометрические данные определяются в виде полей X и Y, то рекомендую сначала экспортировать базу данных в формат Microsoft Access. Затем при помощи ODBC соединения создать слой и добавить его на карту.

Скорость обработки файлов Microsoft Access или Microsoft Excel посредством ODBC соединения намного выше, чем у провайдера данных ODBC для Microsoft SQL Server.

P.S. Конвертация аналогичной базы в Microsoft Access лично мне помогла и повысила производительность при обработке данных геолокаторов в одном из моих проектов...
and
Новоприбывший
Сообщения: 7
Зарегистрирован: 11 янв 2010, 16:07
Репутация: 0

Re: Создание слоя с БД SQL Server в MapGuide

Сообщение and »

Спасибо за ответ!

База данных создавалась вручную, схему не создавал.

Вариант с Microsoft Access не получится реализовать, так как в БД Microsoft SQL Server регулярно добавляются и редактируются данные.

Скорость работы напрямую с Microsoft SQL Server, по идее, должна быть намного выше чем даже работа с Microsoft Access или Microsoft Excel посредством ODBC соединения.

Как правильно создать схему данных в БД? Можете подсказать пример такой схемы?

Заранее признателен за ответ.
Аватара пользователя
arzobispo
Активный участник
Сообщения: 230
Зарегистрирован: 10 сен 2008, 10:28
Репутация: 3
Контактная информация:

Re: Создание слоя с БД SQL Server в MapGuide

Сообщение arzobispo »

А что подразумевается под БД? Токо одна таблица с координатами или с ней еще связаны другие таблицы?
Почему так уверенно думаете, что нельзя к MS Access сделать сетевой доступ, чтобы много пользователей могли работать одновременно? Это как раз можно сделать, просто у всех юзеров будут клиентские-мордочки, через которые они загружают данные в БД.
С Уважением, Антон
and
Новоприбывший
Сообщения: 7
Зарегистрирован: 11 янв 2010, 16:07
Репутация: 0

Re: Создание слоя с БД SQL Server в MapGuide

Сообщение and »

Дело в том что есть база данных с несколько сотнями связанных между собой таблиц ( до 500). Несколько десятков таблиц содержат геометрические данные (Координаты х и y). Пользователи работают с программой (Вносят новые данные, редактируют данные). Работа происходит через тонкий клиент (интернет).


Стоит задача актуального отображения информации с БД на карте. Конвертация с Microsoft SQL Server данных в Microsoft Access и с последующим отображением в MapGuide принципе возможна.

Попробую этот вариант... Потом напишу о результатах)

Загвоздка в том что конвертацию придется делать после каждого изменения данных в БД Microsoft SQL Server.
Аватара пользователя
JEY
Активный участник
Сообщения: 228
Зарегистрирован: 17 июл 2008, 13:42
Репутация: 1

Re: Создание слоя с БД SQL Server в MapGuide

Сообщение JEY »

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

Собственно совет: Попробуйте внимательней посмотреть на свойства Load Procedure в проводнике MapGuide Studio. Я думаю там может быть решение Вашей проблемы. Наименования полей таблицы, откуда считываются геометрические данные, указываются именно там, если я не ошибаюсь.
and
Новоприбывший
Сообщения: 7
Зарегистрирован: 11 янв 2010, 16:07
Репутация: 0

Re: Создание слоя с БД SQL Server в MapGuide

Сообщение and »

Спасибо за ответы.

Проблему решили следующим образом: В Microsoft SQL Server 2008 есть поля типа geometry.
Создается таблица с этим типом и заполняется данными ( пример заполнения поля geometry - LINESTRING( 10 20, 20 30, 40 20))
Создается связь в Map Guide с использованием Data Connection, выбирается провайдер OSGeo FDO provider for SQL Server Spetial и указываются настройки для связи с нужной таблицей.

И на основании созданного Data Connection создается слой.

Изменения в БД теперь будут отображаться на карте)
Ответить

Вернуться в «Общий - ПО»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя