Страница 1 из 1
Создание единой базы в Oracle для хранения MapInfo данных
Добавлено: 12 окт 2009, 19:56
Сергей1988
Доброго времени суток
Подскажите, пожалуйста! Может кто-нибудь сталкивался с такой задачей.
Нужно создать единую базу в Oracle, в которой будут хранится данные MapInfo.
Вот только в каком виде они там будут храниться? В идеале нужно, чтобы пользователь запрашивал у базы определенные данные. Файл открыт, вносятся изменения, потом они сохраняются в базе.
_______________________________________________________________________________________
Заранее спасибо

Re: Создание единой базы в Oracle для хранения MapInfo данных
Добавлено: 13 окт 2009, 00:50
Boris
В базе данные хранятся в виде таблиц. Если речь идет о спосоее хранения геометрических данных, то там они хранятся в BLOB, но Oracle гео-специфическом формате.
Данные будут запрашиваться в виде таблиц. Если это таблицы, которые являются не таблицами, а запросами для Oracle, то они создаются не через MapInfo. В TAB-файле прописывается строка подключения к БД.
Re: Создание единой базы в Oracle для хранения MapInfo данных
Добавлено: 14 окт 2009, 18:35
zimirrr
Про Оракл не знаю, а вот с PostgreSQL могу вам помочь?
и встречный вопрос... запрашивать эти самые таблицы будут из какой среды, мапинфо?
Re: Создание единой базы в Oracle для хранения MapInfo данных
Добавлено: 24 окт 2009, 16:34
Сергей1988
Доброго времени суток
Подскажите есть ли такая возможность с помощью Oracle:
1. Вставлять данные;
2. Изменять данные;
3. Передавать;
4. Экспортировать\импортировать
И все это без запуска MapInfo.
Re: Создание единой базы в Oracle для хранения MapInfo данных
Добавлено: 24 окт 2009, 23:26
Boris
Все зависит от того, на сколько вы владеете Oracle. Пространственные БД в Oracle позиционируются как универсальные. В том числе у Oracle есть какой-то свой просмотровщик пространственных данных. Пространственные данные читают многие ГИС, только таблицы описания данных у всех ГИС имеют немного свой формат и не обязательно совместимы друг с другом.
Так, что какая-то ГИС все равно нужна. А все остальные вопросы - это уже организация и обслуживание самой СУБД.
Re: Создание единой базы в Oracle для хранения MapInfo данных
Добавлено: 14 ноя 2009, 15:43
empirik
В Oracle есть пакет Oracke Special, мы используем его. Map Info с таблицами в этом случае использует так называемые связанные таблицы. Только вот при многопользовательской работе, иногда теряются данные. Из-за не правильной синхронизации
Re: Создание единой базы в Oracle для хранения MapInfo данных
Добавлено: 09 дек 2009, 15:30
an-boris
Коллеги, можно ли в Oracle закачать растры и использовать их из MapInfo. Если есть какая-нибудь инфа по этой теме - скиньте, плз.

Re: Создание единой базы в Oracle для хранения MapInfo данных
Добавлено: 30 янв 2010, 04:22
JMc
empirik писал(а):В Oracle есть пакет Oracke Special, мы используем его. Map Info с таблицами в этом случае использует так называемые связанные таблицы. Только вот при многопользовательской работе, иногда теряются данные. Из-за не правильной синхронизации
С Вашего позволения, пакет зовётся Oracle Spatial.
А на счёт ошибок... Режим прямого доступа не пробовали?
Сергей1988 писал(а):Доброго времени суток
Подскажите есть ли такая возможность с помощью Oracle:
1. Вставлять данные;
2. Изменять данные;
3. Передавать;
4. Экспортировать\импортировать
И все это без запуска MapInfo.
Проще всего таблицы заливать на Oracle тулзой MI EasyLoader.
На счёт отображения данных - смотрите на Oracle Mapviewer.
На счёт передачи и импорта/экспорта - как обычные таблицы.
А чтоб ещё и без запуска MI... Для этого существует масса других программ)
Re: Создание единой базы в Oracle для хранения MapInfo данных
Добавлено: 25 фев 2010, 08:34
Сергей1988
JMc подскажите, пожалуйста, какие есть программы, с помощью которых можно загружать таблицы из оракла без участия MapInfo.
Посоветуйте, какие таблицы лучше использовать: связанные или через прямой доступ?
Re: Создание единой базы в Oracle для хранения MapInfo данных
Добавлено: 02 мар 2010, 13:30
JMc
Сергей1988 писал(а):JMc подскажите, пожалуйста, какие есть программы, с помощью которых можно загружать таблицы из оракла без участия MapInfo.
Посоветуйте, какие таблицы лучше использовать: связанные или через прямой доступ?
1. А какая у вас цель?
2. Тут я затрудняюсь сказать, но вот через прямой получалось как-то существенно медленней.
Re: Создание единой базы в Oracle для хранения MapInfo данных
Добавлено: 02 мар 2010, 15:32
Boris
1. существуют.
http://www.safe.com/products/desktop/fo ... /index.php
Но не факт, что вам понравиться их цена.
2. в каком-то из случаев, вместо таблиц Oracle создаются локальные таблицы, которые при записи или окончании работы "синхронизируются" с Базой Данных. Во втором случае, таблица вся целиком читается в ОП и синхронизируется "на лету". И тот и другой способ могут вызывать замедление работы. Один за счет копирования, второй за счет "отъедания" общей памяти и частых синхронизаций. Вот только названия этих режимов уже не могу вспомнить.

Давно это было.
Re: Создание единой базы в Oracle для хранения MapInfo данных
Добавлено: 04 мар 2010, 08:10
Сергей1988
JMc » 02 мар 2010, 17:30
1. А какая у вас цель?
2. Тут я затрудняюсь сказать, но вот через прямой получалось как-то существенно медленней.
Получается, что прямой доступ существенно замедляет работу, поскольку МИ постоянно обращается к ораклу ЧЕРЕЗ ТАКОЙ ФИЛЬТР
select *from "ПОЛЬЗОВАТЕЛЬ"."ТАБЛИЦА" where ((mdsys.sdo_filter("ПОЛЬЗОВАТЕЛЬ"."ТАБЛИЦА"."GEOLOC", mdsys.sdo_geometry(2003,262148,NULL, mdsys.sdo_elem_info_array(1,3,3),mdsys.sdo_ordinate_array(-39946.48030000,-3278.09940000,65157.72450000,66950.64940000)), 'querytype=WINDOW') = 'TRUE'))
Есть какая-нибудь возможность ускорить работу? Потому что единственный недостаток в прямом доступе для меня это скорость.
Re: Создание единой базы в Oracle для хранения MapInfo данных
Добавлено: 04 мар 2010, 08:19
Сергей1988
Спасибо Boris! Попробую, вдруг удобная в работе. Потом поделюсь. Вдруг кому пригодится.
Re: Создание единой базы в Oracle для хранения MapInfo данных
Добавлено: 05 мар 2010, 01:39
Boris
Сергей1988 писал(а):... mdsys.sdo_ordinate_array(-39946.48030000,-3278.09940000,65157.72450000,66950.64940000)), 'querytype=WINDOW') = 'TRUE'))
Есть какая-нибудь возможность ускорить работу? Потому что единственный недостаток в прямом доступе для меня это скорость.
не знаю, поможет ли это, но судя приведенной выше строке - вот это оператор фильтует очень большой пространственный фрагмент. Где-то в обычных утилитах Tools->DBMS Set MBR
есть утилита, которая позволяет уменьшить размер запрашиваемой области - MBR координат. Может тогда и дело пойдет быстрей?