저는 다양한 xy z 데이터 세트가있는 프로젝트에서 수백 개의 일관된 등고선 맵을 생성해야하는 지질 학자입니다.불규칙한 x, y 데이터 포인트를 등고선 매핑을위한 일반 그리드로 보간
등고선 불규칙한 xyz 데이터 포인트는 균일 한 x-y 메쉬에서 보간 된 (외삽 된) z 값의 '그리드'생성과 관련됩니다. R 외부 -이 단계를 '그리딩'이라고합니다. 나는 R에 비교적 익숙하지 않고 많은 수의 불규칙한 데이터 포인트 그리드를위한 강력한 워크 플로를 설정하려고합니다. 나는 고군분투하고있다!
고전적인 윤곽 매핑 소프트웨어에및 워크 플로우 단계는 다음과 같습니다
- 읽기 x 및 y z의 데이터입니다. 이 xMin, XMAX, Ymin를, Ymax 순 는
- 그리드 간격 (XINT, YINT을) 결정 - '그리드'(NROW,을 NcoI)
- 이 필요한 보간 중 하나를 적용하려면 열의 행 없음과 없음을 설정하지 - 만드는 것이 일반 메쉬/그리드에서 'Z'(일반 보간은 다음 등 역 거리, 역 제곱 거리의 가중 평균, 다항식, 클리 깅, 스플라인)
- 윤곽 결과 '격자'
내가은 분석을 통해 유연성과 제어를 위해 위의 단계 순서를 정확히 따르기 위해 R 스크립트를 작성하려고합니다.
df는 예제 데이터 세트로 구성된 데이터 프레임입니다.
wellid property z x y
060010 1 0.008849558 756994.5 2637732
009410 1 0.260162602 760190.9 2622262
009910 1 0.115044248 760898.7 2637466
051110 1 0.109243697 761690.2 2630985
065610 1 0.066666667 763064.1 2620929
011010 1 0.000000000 763089.3 2630888
035210 1 0.022556391 765942.4 2625944
052510 1 0.157894737 767058.1 2650034
006610 1 0.045045045 768265.0 2645318
009010 1 0.378151261 768471.8 2636731
011210 1 0.028776978 771393.8 2629001
064810 1 0.428571429 771394.1 2650776
009110 1 0.064220183 775332.6 2648531
011410 1 0.148760331 778324.8 2633905
065010 1 0.514851485 780480.9 2654874
052410 1 0.173913043 780961.0 2637571
064110 1 0.019417476 781001.5 2650994
009310 1 0.037383178 783904.7 2641130
010810 1 0.041237113 786200.6 2652417
052610 1 0.150537634 788007.5 2654005
관심 영역
아래와 같이 학습 영역에서 결정된다xmin <- signif(min(wellcoords$x),4) - 1000
xmax <- signif(max(wellcoords$x),4) +1000
ymin <- signif(min(wellcoords$y),5) - 1000
ymax <- signif(max(wellcoords$y),5) +1000
xrange <- xmax-xmin
yrange <- ymax-ymin
gridint <- 500 # grid interval is set same for xint and yint
값은 : 754,700, 791500261960002658600, 36800, 39000, (500) 각각.
많은 시도가 실패한 후 package - akima에서 interp() 함수를 사용하여 필요한 보간 작업을 수행했습니다. 덕분에 내가 원하는대로 AOI 컨트롤을 지정하는 것을 허용하지 않았다
fld<- with(df, interp(x=df$x, y=df$y, z=df$z, xo=xcoord, yo=ycoord, linear = FALSE, extrap = TRUE))
이 "불규칙한 격자에 플로팅 윤곽"에 응답합니다. 패키지 MBA를 사용하면서 xy.est 매개 변수 (그리드 메쉬)를 필요한 입력으로 생성하려고했습니다.
'그리드'가 적절하게 생성되면 ggplot2 및 기타 디스플레이 기능이 강력하고 충분합니다.
적절한 '격자'패키지 또는 '단계'가 있습니까? 미리 감사드립니다.