Фон: Мое приложение должно отображать MBR пространственных данных (геометрии), хранящихся в Oracle. Для этого в настоящее время я использую функцию SDO_AGGR_MBR() Oracle, но она очень медленная. При небольшом исследовании я нашел функцию SDO_TUNE.EXTENT_OF(), которая также вычисляет MBR и намного быстрее, чем SDO_AGGR_MBR. У этого есть 2 проблемы, хотя. Он работает только с 2D-данными в координатах проецирования. Чтобы воспользоваться преимуществами EXTENT_OF, я решил использовать его для прогнозируемых данных и вернуться к SDO_AGGR_MBR для географических данных.Географические или прогнозируемые данные на основе SRID в Oracle
Проблема: Я начал с предположением, что все данные с SRID от 4000 до 5000 географические, но это не совсем верно. Я нашел таблицу/представление с именем MDSYS.CS_SRS, в котором хранится информация о системе координат.
Я планирую найти SRID с помощью запроса:
select a.COLUMN_NAME.SDO_SRID from TABLE_NAME a where rownum = 1;
, а затем с помощью этого SRID для запроса MDSYS.CS_SRS, чтобы выяснить, является ли географическим или прогнозируемым данные. В нем есть столбец WKTEXT, строки которого начинаются с PROJCS или GEOGCS.
Я мог бы прототип этого, и он, похоже, работает, но полностью уверен, что это правильный подход. Вышеприведенный запрос извлекает SRID первой строки данных. Я не знаю, может ли SRID отличаться в одном столбце. Другое предположение, которое я делаю, это текст в столбце WKTEXT. У меня будет много проблем, если во всех случаях это не PROJCS/GEOGCS, и если значения меняются между различными версиями Oracle. На самом деле, прямо сейчас, я просто предполагаю, что PROJCS означает, что проекция CS и GEOGCS означает географическую CS, и я не уверен, что это правильно.
Интересно, есть ли более простой способ выяснить, существуют ли пространственные данные в БД Oracle является проекционным или географическим.
Это именно то, что я искал. Хотя мне нужно будет немного поработать над пониманием того, что означает COMPOUND, GEOCENTRIC, VERTICAL и ENGINEERING и как они отличаются от PROJECTED/GEOGRAPHIC. –
VERTICAL определяет одномерную вертикальную систему. Например, 5701 - вертикальная система для Великобритании. Система COMPOUND объединяет горизонтальный компонент (PROJECTED) с VERTICAL. Например, 7405 объединяет 27700 (британская национальная сетка) с 5701. –