Объединить координаты в существующую линию - PullRequest
0 голосов
/ 10 июля 2019

Я хочу объединить дополнительные пространственные координаты в ранее существовавшую пространственную линию.

Мои данные:

  1. Пространственные координаты, представляющие береговые линии.
  2. Пространственные координаты, представляющие наблюдения.

Наблюдения не обязательно соответствуют координатам на линиях, поэтому я привязал наблюдения к линиям. Это дает новую координату для наблюдения: его место на существующей линии.

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

Я изучил манипуляции с объектами sp, но не могу понять, как создать структуру данных, за которой я работаю.

# Pre-existing line
> head(grpCoords)
         LONG       LAT
[1,] 140.6615 -8.846777
[2,] 140.5811 -8.728320
[3,] 140.4897 -8.620410
[4,] 140.1017 -8.300586
[5,] 140.0029 -8.195508
[6,] 139.9833 -8.166504

# Observation
> xy
     [,1] [,2]
[1,]  167  -45

# New coordinate for observation on the line
> dist2Line(xy, grpCoords)
     distance      lon       lat
[1,]  4123324 150.4824 -10.63691

Например: для координат XY, представляющих линию:

XY[1,1] _ _ _ _ _ _ _ XY[1,9] _ _ XY[1,12]

Где:

LONG LAT
1    1
1    9
1    12

Если наблюдаемая координата XY [1,8], я ожидаю:

XY[1,1] _ _ _ _ _ _ XY[1,8] XY[1,9] _ _ XY[1,12]

И объединенные данные должны быть:

LONG LAT
1    1
1    8
1    9
1    12
...