Как правильно создать слой в MapGuide?
Есть БД SQL Server, в которой хранятся данные о геометрии объектов (Координата Х и Y).
Необходимо создать слой и отобразить на нем точки с координатами Х , Y из БД.
Через ODBC получилось связатся но работает очень медленно. Через Autodesk FDO Provider SQL Server связатся не получается, так как не заполняется выпадающий список Geometry.
Создание слоя с БД SQL Server в MapGuide
-
- Новоприбывший
- Сообщения: 7
- Зарегистрирован: 11 янв 2010, 16:07
- Репутация: 0
- JEY
- Активный участник
- Сообщения: 228
- Зарегистрирован: 17 июл 2008, 13:42
- Репутация: 1
Re: Создание слоя с БД SQL Server в MapGuide
Привет!
С ходу вопрос: При помощи какого программного продукта создавалась база данных SQL Server? Возможно, что FDO не может найти схему базы данных, которая имеет основу из нескольких таблиц, которые FDO сам же и создает.
Это объясняет тот факт, что список полей для доступа к геометрическим данным пуст.
Совет: Если геометрические данные определяются в виде полей X и Y, то рекомендую сначала экспортировать базу данных в формат Microsoft Access. Затем при помощи ODBC соединения создать слой и добавить его на карту.
Скорость обработки файлов Microsoft Access или Microsoft Excel посредством ODBC соединения намного выше, чем у провайдера данных ODBC для Microsoft SQL Server.
P.S. Конвертация аналогичной базы в Microsoft Access лично мне помогла и повысила производительность при обработке данных геолокаторов в одном из моих проектов...
С ходу вопрос: При помощи какого программного продукта создавалась база данных SQL Server? Возможно, что FDO не может найти схему базы данных, которая имеет основу из нескольких таблиц, которые FDO сам же и создает.
Это объясняет тот факт, что список полей для доступа к геометрическим данным пуст.
Совет: Если геометрические данные определяются в виде полей X и Y, то рекомендую сначала экспортировать базу данных в формат Microsoft Access. Затем при помощи ODBC соединения создать слой и добавить его на карту.
Скорость обработки файлов Microsoft Access или Microsoft Excel посредством ODBC соединения намного выше, чем у провайдера данных ODBC для Microsoft SQL Server.
P.S. Конвертация аналогичной базы в Microsoft Access лично мне помогла и повысила производительность при обработке данных геолокаторов в одном из моих проектов...
-
- Новоприбывший
- Сообщения: 7
- Зарегистрирован: 11 янв 2010, 16:07
- Репутация: 0
Re: Создание слоя с БД SQL Server в MapGuide
Спасибо за ответ!
База данных создавалась вручную, схему не создавал.
Вариант с Microsoft Access не получится реализовать, так как в БД Microsoft SQL Server регулярно добавляются и редактируются данные.
Скорость работы напрямую с Microsoft SQL Server, по идее, должна быть намного выше чем даже работа с Microsoft Access или Microsoft Excel посредством ODBC соединения.
Как правильно создать схему данных в БД? Можете подсказать пример такой схемы?
Заранее признателен за ответ.
База данных создавалась вручную, схему не создавал.
Вариант с Microsoft Access не получится реализовать, так как в БД Microsoft SQL Server регулярно добавляются и редактируются данные.
Скорость работы напрямую с Microsoft SQL Server, по идее, должна быть намного выше чем даже работа с Microsoft Access или Microsoft Excel посредством ODBC соединения.
Как правильно создать схему данных в БД? Можете подсказать пример такой схемы?
Заранее признателен за ответ.
- arzobispo
- Активный участник
- Сообщения: 230
- Зарегистрирован: 10 сен 2008, 10:28
- Репутация: 3
- Контактная информация:
Re: Создание слоя с БД SQL Server в MapGuide
А что подразумевается под БД? Токо одна таблица с координатами или с ней еще связаны другие таблицы?
Почему так уверенно думаете, что нельзя к MS Access сделать сетевой доступ, чтобы много пользователей могли работать одновременно? Это как раз можно сделать, просто у всех юзеров будут клиентские-мордочки, через которые они загружают данные в БД.
Почему так уверенно думаете, что нельзя к MS Access сделать сетевой доступ, чтобы много пользователей могли работать одновременно? Это как раз можно сделать, просто у всех юзеров будут клиентские-мордочки, через которые они загружают данные в БД.
С Уважением, Антон
-
- Новоприбывший
- Сообщения: 7
- Зарегистрирован: 11 янв 2010, 16:07
- Репутация: 0
Re: Создание слоя с БД SQL Server в MapGuide
Дело в том что есть база данных с несколько сотнями связанных между собой таблиц ( до 500). Несколько десятков таблиц содержат геометрические данные (Координаты х и y). Пользователи работают с программой (Вносят новые данные, редактируют данные). Работа происходит через тонкий клиент (интернет).
Стоит задача актуального отображения информации с БД на карте. Конвертация с Microsoft SQL Server данных в Microsoft Access и с последующим отображением в MapGuide принципе возможна.
Попробую этот вариант... Потом напишу о результатах)
Загвоздка в том что конвертацию придется делать после каждого изменения данных в БД Microsoft SQL Server.
Стоит задача актуального отображения информации с БД на карте. Конвертация с Microsoft SQL Server данных в Microsoft Access и с последующим отображением в MapGuide принципе возможна.
Попробую этот вариант... Потом напишу о результатах)
Загвоздка в том что конвертацию придется делать после каждого изменения данных в БД Microsoft SQL Server.
- JEY
- Активный участник
- Сообщения: 228
- Зарегистрирован: 17 июл 2008, 13:42
- Репутация: 1
Re: Создание слоя с БД SQL Server в MapGuide
Схема базы данных, в Вашем случае, создается исключительно средствами FDO, поскольку конкретных стандартов по описанию схемы базы геопространственных данных нет, поэтому каждый программный продукт использует свою схему базы данных, развитую в меру фантазии разработчиков.
Собственно совет: Попробуйте внимательней посмотреть на свойства Load Procedure в проводнике MapGuide Studio. Я думаю там может быть решение Вашей проблемы. Наименования полей таблицы, откуда считываются геометрические данные, указываются именно там, если я не ошибаюсь.
Собственно совет: Попробуйте внимательней посмотреть на свойства Load Procedure в проводнике MapGuide Studio. Я думаю там может быть решение Вашей проблемы. Наименования полей таблицы, откуда считываются геометрические данные, указываются именно там, если я не ошибаюсь.
-
- Новоприбывший
- Сообщения: 7
- Зарегистрирован: 11 янв 2010, 16:07
- Репутация: 0
Re: Создание слоя с БД SQL Server в MapGuide
Спасибо за ответы.
Проблему решили следующим образом: В 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 создается слой.
Изменения в БД теперь будут отображаться на карте)
Проблему решили следующим образом: В 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 создается слой.
Изменения в БД теперь будут отображаться на карте)
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 4 гостя