Oracle LRS: линейная привязка в Oracle

#oracle #gis

#Oracle #гис

Вопрос:

Кто-нибудь знает, как сделать линейную привязку в Oracle?

У меня есть таблица с геометриями моего маршрута, например

 id  routename   geometry
--  ---------   ----------
1   Mainstreet  SDO_GEOMETRY
2   5th Avenue  SDO_GEOMETRY
  

и у меня есть таблица с моими событиями, например

 id  routename   velocity  from   to
--  ---------   --------  ----   ----
1   Mainstreet  75mph     0.0    52.5
2   Mainstreet  45mph     52.5   102.0
3   5th Avenue  75mph     0.0    78.0
  

Я хочу получать события в виде стандартных SDO_GEOMETRIES, например:

 id  routename   velocity  geometry
--  ---------   --------  --------
1   Mainstreet  75mph     SDO_GEOMETRY
2   Mainstreet  45mph     SDO_GEOMETRY
3   5th Avenue  75mph     SDO_GEOMETRY
  

В ArcGIS или Geomedia добиться этого очень просто … должно быть возможно в Oracle, я полагаю?

Комментарии:

1. Должно быть возможно «на лету», как в инструкции select…

2. Я предполагаю, что SDO_GEOMETRY значения в конечном результате отличаются от SDO_GEOMETRY значений из исходной таблицы. Я предполагаю, что from и to значения в таблице событий имеют некоторое отношение к SDO_GEOMETRY значениям в таблице геометрий маршрутов, но я не уверен, что это за отношение. Например, ваша route geometries просто прямая линия?

3. Да, результат SDO_GEOMETRY должен быть подразделом исходной SDO_GEOMETRY. Например, исходная SDO_GEOMETRY представляет собой прямую линию, событие от 0 до 52,5, тогда результирующая SDO_GEOMETRY должна быть частью от 0 до 52,5 исходной SDO_GEOMETRY длиной 52,5.