h3r公司 :: 拉通至单元格 (
纬度= c(c) ( - 37.820197 , -37.818476 )
, 液化天然气= c(c) ( 144.983324 , 144.967354 )
, 分辨率= c(c) (1升、14升)
)
#[1]“81be7ffffffffff”“8ebe6356311035f”
小时3
H3索引
单位64_t
拉通至单元格
数据帧
h3r公司 :: 单元格到LatLng ( 单元格= c(c) ( “8cbe63562a54bff” , “8cbe635631103ff” ))
#拉特液化天然气
# 1 -37.82023 144.9832
# 2 -37.81844 144.9674
数据帧
h3r公司 :: 单元格到边界 ( 单元格= c(c) ( “8cbe63562a54bff” , “8cbe635631103ff” ))
#$`8cbe63562a54bff美元`
#拉特液化天然气
# 1 -37.82030 144.9833
# 2 -37.82019 144.9833
# 3 -37.82012 144.9832
# 4 -37.82016 144.9831
#5-37.82026 144.9831
#6-37.82033 144.9832
#
#$`8cbe635631103ff美元`
#拉特液化天然气
# 1 -37.81851 144.9675
# 2 -37.81840 144.9675
# 3 -37.81833 144.9674
# 4 -37.81837 144.9673
# 5 -37.81847 144.9673
# 6 -37.81854 144.9674
src/init。 c(c)
src/myCode。 c(c)
R/myR代码。 R(右)
取决于: h3r公司 链接到: h3r公司
SEXP(*h3rLatLngToCell)(SEXP、SEXP、SEXP);
空隙 R_init_h3rc(DllInfo*info)
{
R_registerRoutines(信息,空,调用方法,空,空);
使用动态符号(_U)(信息,FALSE);
/*从h3r进口*/
h3rLatLngToCell=(SEXP(*)(SEXP、SEXP、SE XP))R_GetCCallable( “h3r” , “h3rLatLngToCell” );
}
src/myCode.cpp(源代码/我的代码.cpp)
R/myR代码。 R(右)
h3r公司 :: 单元格到边界 ( 单元格= c(c) ( “8cbe63562a54bff” , “8cbe635631103ff” ))
#$`8cbe63562a54bff`
#拉特液化天然气
# 1 -37.82030 144.9833
# 2 -37.82019 144.9833
# 3 -37.82012 144.9832
# 4 -37.82016 144.9831
# 5 -37.82026 144.9831
# 6 -37.82033 144.9832
#
#$`8cbe635631103ff美元`
#拉特液化天然气
# 1 -37.81851 144.9675
#2-37.81840 144.9675
# 3 -37.81833 144.9674
# 4 -37.81837 144.9673
# 5 -37.81847 144.9673
# 6 -37.81854 144.9674
h3r::单元格到边界
几何体::collapse_list()
sfheaders::sf_polygon()
平方英尺
图书馆 (卢比)
图书馆 (平方英尺) ##对于“sf.print”方法
#链接到GEOS 3.11.0、GDAL 3.5.3、PROJ 9.1.0; sf_use_s2()为真
cpp函数 (
取决于= c(c) ( “h3r” , “几何图形” , “sfheaders” ) #您需要安装“sfheaders”
, 包括= c(c) (
'#include“geometries/utils/lists/collapse.hpp”'
, '#include“sfheaders/sf/sf.hpp”'
, '#include“h3rapi.h”'
)
, 代码= '
SEXP sfBoundary(Rcpp::StringVector单元格){
R_xlen_t n=Rf_xlength(细胞);
//转换为车牌边界
Rcpp::列表边界=h3r::cellToBoundary(cells);
//需要解释任何五边形
Rcpp::IntegerVector n_pentagons=h3r::is五角大楼(单元格);
R_xlen_t n_五边形=n_五角形[0];
R_xlen_t行计数=(n_五角大楼*5)+((n-n_五边大楼)*6);
//将边界塌陷为三个向量的列表
//列0:id
//第1列:纬度
//col2:lng(液化天然气)
Rcpp::List geometries=几何体::utils::collapse_List(boundaries,row_count);
//“sfheaders”api需要data.frame或矩阵
Rcpp::DataFrame df=Rcpp::as(几何图形);
Rcpp::整数向量idCol={0};
Rcpp::整数向量几何Col={1,2};
返回sfheaders::api::sf_polygon(df,geometryCol,idCol,R_NilValue,“XY”,false,true);
}
'
)
sf边界 ( 单元格= c(c) ( “8cbe63562a54bff” , “8cbe635631103ff” ))
#具有2个功能和1个字段的简单功能集合
#几何体类型:POLYGON
#尺寸:XY
#边界框:xmin:37.82033 ymin:144.9673 xmax:37.81833 ymax:144.9833
#CRS:不适用
#id几何
#1 1个多边形(-37.8203 144.9833。。。
#2 2多边形((-37.81851 144.967。。。