Выяснение формата координат, содержащихся в атрибуте SDO_ORDINATE_ARRAY - PullRequest
0 голосов
/ 11 июня 2019

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

Местоположение установки, содержащееся в атрибуте oracle SDO_ORDINATE_ARRAY, не соответствует какой-либо географической системе координат X / Y, с которой я знаком (широта / долгота или UTM). Есть ли способ выяснить, какой тип данных хранится в SDO_ORDINATE_ARRAY?

Вот пример данных для пути с 3 (x, y) точками:

MDSYS.SDO_GEOMETRY(2002,1026911,NULL,
MDSYS.SDO_ELEM_INFO_ARRAY(1,2,1),
MDSYS.SDO_ORDINATE_ARRAY(
1352633.64991299994289875030517578125,
12347411.6615570001304149627685546875,
1352638.02988700009882450103759765625,
12347479.02890899963676929473876953125,
1352904.06293900008313357830047607421875,
12347470.76137300021946430206298828125,
))

Вышеуказанное должно быть примерно в пределах 33,9845 ° с.ш., 117,5159 ° з.д., и я прошел через различные преобразования, но не смог найти ничего, что привело бы меня к чему-то близкому выше.

Я прочитал документацию по SDO_GEOMETRY со страницы оракула и не нашел никакой помощи в выяснении типа данных.

https://docs.oracle.com/database/121/SPATL/sdo_geometry-object-type.htm#SPATL494

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

1 Ответ

1 голос
/ 11 июня 2019

Похоже, внутри есть опечатка MDSYS.SDO_GEOMETRY(2002,1026911,NULL,

1026911 - это SRS - Пространственная система отсчета.

Если мы удалим первое 1, у нас будет 102691, и это очень известный код SRS.

ESRI:102691 для NAD 1983 for StatePlane Minnesota North FIPS 2201 Feet

Соответствующий WKT дает вам всю необходимую информацию для выполнения любого преобразования координат:

PROJCS["NAD_1983_StatePlane_Minnesota_North_FIPS_2201_Feet",
    GEOGCS["GCS_North_American_1983",
        DATUM["North_American_Datum_1983",
            SPHEROID["GRS_1980",6378137,298.257222101]],
        PRIMEM["Greenwich",0],
        UNIT["Degree",0.017453292519943295]],
    PROJECTION["Lambert_Conformal_Conic_2SP"],
    PARAMETER["False_Easting",2624666.666666666],
    PARAMETER["False_Northing",328083.3333333333],
    PARAMETER["Central_Meridian",-93.09999999999999],
    PARAMETER["Standard_Parallel_1",47.03333333333333],
    PARAMETER["Standard_Parallel_2",48.63333333333333],
    PARAMETER["Latitude_Of_Origin",46.5],
    UNIT["Foot_US",0.30480060960121924],
    AUTHORITY["EPSG","102691"]]
...