0

У меня есть текст wkt об одной пространственной системе отсчета. Но я не знаю, как я могу импортировать это в оракул. Любой может помочь мне преобразовать этот wkt в srid для пространственных орков и преобразовать действия. Я использую oracle 11g spaces wkt link: http://spatialreference.org/ref/sr-org/8775/Oracle Определение новой пространственной ссылки SRID

+0

Вы проверили это: [Создание пользовательской системы координат координат] (https://docs.oracle.com/cd/B28359_01/appdev.111/b28400/sdo_cs_concepts.htm#SPATL712)? –

+0

Взгляните на [EPSG: 5253] (https://epsg.io/5253), я думаю, что большинство кодов EPSG уже реализованы в Oracle Spatial. Примечание. «ITRF96-IZMIR-TURKEY» использует «WGS84», тогда как «EPSG: 5253» использует «GRS80». Однако, пока ваши расчеты не учитывают тектонику геофизических плит, их можно считать равными. –

+0

во-первых спасибо за ваши комментарии. во-вторых, я проверил ссылку, которую вы упомянули, и создаю координатный референт с определенной информацией в оракуле. которые я использовал: «VALUES (98776,« Тест ITRF96 »,« PROJECTED », 4400, NULL, 6326,4917,16369, NULL, NULL,« EPSG: 8776 », NULL,« FALSE », NULL, NULL, NULL ,'ПРАВДА ПРАВДА') ". к сожалению, разница 100 метров при конвертации 2319 в 98776. В качестве третьего epsg: 5253 не реализована моей версией оракула. «ORA-13199: SRID не существует». –

ответ

1

Вы не сказали, какую именно версию используете, поэтому я буду считать 11.2 (11.2.0.3 или 11.2.0.4).

Вы можете попробовать следующее определение:

delete from sdo_coord_ref_system where srid=8775; 
insert into sdo_coord_ref_system (
    SRID, 
    COORD_REF_SYS_NAME, 
    COORD_REF_SYS_KIND, 
    GEOG_CRS_DATUM_ID, 
    SOURCE_GEOG_SRID, 
    IS_LEGACY, 
    LEGACY_WKTEXT, 
    IS_VALID, 
    SUPPORTS_SDO_GEOMETRY 
) 
values (
    8775, 
    'ITRF96-IZMIR', 
    'PROJECTED', 
    1000000123,   
    1000000123, 
    'TRUE', 
    'PROJCS["ITRF96-IZMIR",GEOGCS ["WGS 84", DATUM ["World Geodetic System 1984", SPHEROID["WGS 84", 6378137.0, 298.257223563]], PRIMEM [ "Greenwich", 0.000000], UNIT ["Decimal Degree", 0.0174532925199433]],PROJECTION["Transverse Mercator"],PARAMETER["False_Easting", 500000.0],PARAMETER["False_Northing", 0.0],PARAMETER["Central_Meridian",27.0],PARAMETER["Scale_Factor",1.0],PARAMETER["Latitude_Of_Origin",0.0],UNIT["Meter",1.0]]', 
    'TRUE',   
    'TRUE' 
); 
commit; 

Есть на самом деле два способа определить новую систему координат, в Oracle:

  • Один определить его полностью по модели данных EPSG, т.е. определить отдельные компоненты (операция, метод работы, значения параметров)
  • Другой - определить его как «устаревшую» систему координат, предоставив кодировку WKT.

Здесь я использовал вторую технику, так как у вас уже был WKT. Обратите внимание, что мне пришлось немного настроить его, чтобы соответствовать нумерации, проекции, именам параметров, ожидаемым Oracle.

+0

Привет, Альберт, во-первых, я использую оракул 11.2 г. Я попробовал технику, которую вы сказали. Когда я попытался преобразовать 2319 - 8775 и вернуться к 2319, я увидел разницу между двумя результатами. –

+0

здесь результаты, выберите sdo_cs.transform (sdo_cs.transform (SDO_GEOMETRY ('ПОЛИГОН ((509506,242146901 4251467.00163843,509496.251328023 4251466.53214178,509495.354600661 4251478,49845895 , +509505,343578376 4251478.96552233,509506.242146901 4251467,00163843))', 2319), 8775), 2319) .Get_WKT () от двойного результата = POLYGON ((509506.242446148 4251467.00256199, 509496.251627274 4251466.53306534, 509495.35489991 4251478.49938252, 509505.343877622 4251478.96644589, 509506.242446148 4251467.00256199)). –

+0

Хммм. Это интересно. Позвольте мне исследовать. Затем снова разница составляет менее 1/2 мм. Это важно для вашего приложения? –

Смежные вопросы