如何在 R sf 中转换垂直 z 高程坐标

Dar*_*ard 11 r css-transforms r-sf

我有一些由 GPS/GNSS 记录的空间数据,包括纬度/经度和椭圆体上方高度(HAE,米)高度值,所有数据均参考 NAD83(2011),EPSG:6318。我正在尝试转换霍兹。到 State Plane NY East(EPSG:6537,这是成功的),但如何将高度/高度数据转换为 NAVD88,US-ft(EPSG:6360)?我可以使用水平应用sf::st_transform(6537),但我不知道如何应用垂直。我尝试在第一次转换后再串一个sf::st_transform(6360),但这没有用。下面是一个可重现的示例,作为参考,NOAA VDatum 在线输出显示了正确的值(转换后的高程应约为 5.899 英尺)

library(sf)
library(tidyverse)
pt <- data.frame(Lat = 41.1578110483, Lon = -73.8716163883, Alt = -29.3619984455) %>% 
  st_as_sf(coords = c("Lon", "Lat", "Alt"), crs = 6318, agr = "constant", remove = FALSE) %>% 
  st_transform(6537) %>% 
  mutate(x = st_coordinates(.)[,1],
         y = st_coordinates(.)[,2],
        z = st_coordinates(.)[,3])
pt
Run Code Online (Sandbox Code Playgroud)
Simple feature collection with 1 feature and 6 fields
Attribute-geometry relationship: 3 constant, 0 aggregate, 0 identity, 3 NA's
Geometry type: POINT
Dimension:     XYZ
Bounding box:  xmin: 665148.732436 ymin: 847314.319632 xmax: 665148.732436 ymax: 847314.319632
z_range:       zmin: -29.3619984455 zmax: -29.3619984455
Projected CRS: NAD83(2011) / New York East (ftUS)
            Lat            Lon            Alt                       geometry             x             y              z
1 41.1578110483 -73.8716163883 -29.3619984455 POINT Z (665148.732436 8473... 665148.732436 847314.319632 -29.3619984455

Run Code Online (Sandbox Code Playgroud)
Update:
 sf_extSoftVersion()
          GEOS           GDAL         proj.4 GDAL_with_GEOS     USE_PROJ_H           PROJ 
       "3.9.0"        "3.2.1"        "7.2.1"         "true"         "true"        "7.2.1" 
Run Code Online (Sandbox Code Playgroud)

NOAA VDatum 结果,我想要得到的