首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么sf::st_transform()返回的对象的投影与调用中使用的投影不同?

sf::st_transform()是一个用于将空间数据进行投影转换的函数。它接受一个输入几何对象和一个目标投影参数,并返回一个新的几何对象,该对象是将输入几何对象从输入投影转换到目标投影后的结果。

当sf::st_transform()返回的对象的投影与调用中使用的投影不同时,可能有以下几个原因:

  1. 参数设置错误:在调用sf::st_transform()时,可能输入了错误的目标投影参数。投影参数通常由投影类型、中央经线、标准纬线等组成,如果参数设置不正确,就会导致投影转换结果与预期不符。建议仔细检查投影参数的设置,确保其准确性。
  2. 数据源投影不匹配:输入几何对象的投影与调用中使用的投影不匹配。在进行投影转换时,需要确保输入几何对象的投影与目标投影一致,否则转换结果将不正确。可以通过使用sf::st_transform()函数之前,先使用sf::st_transform()将输入几何对象转换到目标投影,然后再进行投影转换。
  3. 数据源坐标系不匹配:输入几何对象的坐标系与调用中使用的坐标系不匹配。坐标系是描述空间数据位置的系统,不同的坐标系有不同的投影方式。如果输入几何对象的坐标系与目标投影的坐标系不匹配,投影转换结果将不正确。建议在进行投影转换之前,先确保输入几何对象的坐标系与目标投影的坐标系一致。

总之,要解决sf::st_transform()返回的对象的投影与调用中使用的投影不同的问题,需要仔细检查投影参数的设置、确保输入几何对象的投影与目标投影一致,并确保输入几何对象的坐标系与目标投影的坐标系一致。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

OpenGL投影使用

OpenGL投影使用 在OpenGL投影矩阵指定了可视区域大小和形状。对于正投影透视投影这两种不同投影类型,它们分别有各自用途。...透视投影使用透视除法,对距离观察者较远物体进行缩短和收缩。...由于可视区域前端和后端宽度度量方法并不同样,导致两个逻辑大小同样物体,当它们分别位于可视区域前面和后面时,前者看上去要比后者大一些。...以下代码设置使用了透视投影,展示了一个由太阳(黄色)、地球(红色)、月亮(灰色)三者构成运动系统。...,一经调用便不再返回,直到程序终止 glutMainLoop(); return0; } 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/118963

78510

OpenCV图像处理投影技术”使用

问题引出 本文区分”问题引出“、”概念抽象“、”算法实现“三个部分由表及里具体讲解OpenCV图像处理投影技术”使用,并通过”答题卡识别“”OCR字符分割”“压板识别”“轮廓展开分析”四个例子具体讲解算法使用...在这波峰波谷,存在着“量化”结果,对应了答题卡定位关系 概念抽象 在前面的分析里,我们已经基本建立起“投影概念。...vup.push_back(i); if (vdate[i - 1] > 0 && vdate[i] == 0) vdown.push_back(i); } } 在具体使用过程...在这样OCR识别,首先可以通过投影方法,实现字符分割。 2 . 压板识别 ? ? 在这样项目中,同样可以通过投影方法,获得各个压板准确定位。 3、轮廓展开分析 ?...在类似树叶这样测量,可以通过“极坐标转换”,将树叶这样曲线转换成可以分析投影,从而得到比如“树叶有多少个分叉”“有无缺陷”这样定量信息。 君子藏器于身,待时而动

1.2K20

如何处理地图投影转换

R语言中支持GIS数据模型包一共有两个:sp包和sf包,在旧版ggplot2,geom_polygon高度依赖从sp导入数据对象(虽然也可以从sf获取)。...之前文章没有特别探究投影问题,当时做案例图是这个样子,很明显常见纸质中国地图有很大差别。 之前使用simple模型练习图表 ? 常见多圆锥视角中国地图投影 ?...由于投影投影坐标系已经被投影算法转换,所以在使用geom_text等图层函数时,务必要使用几何对象投影一致经纬度点,这里使用sf点中心计算函数最为快捷。...这便是sf核心投影转换过程。投影函数涉及三个: st_crs() st_set_crs() st_transform() st_crs()用于显示数据模型内包含投影信息(没有则显示NA)。...st_transform()函数专门用户坐标参考系统转换。 sf投影参数一共有两种写法,一种是使用其EPSG代码(或称之为WKID或者SRID)。

1.7K30

R-ggspatial+ggplot2 实现带指北针和比例尺空间地图绘制

主要涉及知识点如下: sf包shp文件读取及转换投影 ggplot2 + ggspatial 实现指北针和比例尺添加 sf 读取shp文件并转换投影 我想经常使用R处理空间数据小伙伴们对sf包一定特别熟悉...当然指北针和比例尺我们都是可以选择样式或者定制,详细内容可以查看网ggspatial官网 投影转换-高斯-克吕格投影 绘制中国地图时,我们一般使用高斯-克吕格投影,具体原因如下:高斯-克吕格投影没有角度变形...而sf对于投影转换操作也十分简单,代码如下即可: china_shp_pro <- st_transform(china_pro, 2343) nine_line_pro <- st_transform...回到这里,绘制高斯-克吕格投影地图: china_shp_pro <- st_transform(china_pro, 2343) nine_line_pro <- st_transform(nine_line...总结 本期推文我们使用ggspatial包、ggplot2包以及sfgeom_sf()完成另一种指北针和比例尺地图绘制,希望给大家一些绘制灵感。

2.3K20

在Java为什么不同返回类型不算方法重载?

doSomething } public void method(Integer id, String name) { // doSomething } } 为什么不同返回类型不算方法重载...从方法签名组成规则我们可以看出,方法返回类型不是方法签名组成部分,所以当同一个类中出现了多个方法名和参数相同,但返回值类型不同方法时,JVM 就没办法通过方法签名来判断到底要调用哪个方法了,如下图所示...: 那为什么返回类型不能做为方法签名一部分呢?...方法重载使用场景 方法重载经典使用场景是 String 类型 valueOf 方法,valueOf 方法重载有 9 种实现,如下图所示: 它可以将数组、对象和基础数据类型转换成字符串类型...总结 在同一个类定义了多个同名方法,但每个方法参数类型或者是参数个数不同就是方法重载。方法重载典型使用场景是 String valueOf 方法,它有 9 种实现。

3.3K10

ggplot2 案例:使用 ggplot2 绘制绘制一幅气泡地图展示各国疫情状况

约翰·霍普金斯大学提供了一份数据集,使用这份数据集我们可以绘制一幅气泡地图展示这些确诊患者分布,代码比较简单: 首先导入我们需要几个 R 包: library(ggplot2) library(sf...) library(readr) library(dplyr) 导入世界地图并把 crs 转换成 4326(其实这份数据 crs 就是 4326): worldmap % st_transform(crs = 4326) 把疫情数据读取进来并根据经纬度坐标把这个数据框转换成 sf 对象,同样使用 4326 投影坐标系,这样地图和数据才不会分家: read_csv...99", "100-999", "1,000-49,999", "50,000+")) + guides(color = guide_legend()) + labs(title = "新冠肺炎全球分布...❝本文附件和代码可以从知识星球下载:https://t.zsxq.com/iEYVjqr ❞

1.1K10

Javanet.sf.json包关于JSON对象互转

在Web开发过程离不开数据交互,这就需要规定交互数据相关格式,以便数据在客户端服务器之间进行传递。数据格式通常有2种:1、xml;2、JSON。通常来说都是使用JSON来传递数据。...本文正是介绍在JavaJSON对象之间互相转换时遇到几个问题以及相关建议。...在Java中所述JSON对象,实际是指JSONObject类,这在各个第三方JSONjar包通常都以这个名字命名,不同jar包对其内部实现略有不同。 JSON字符串。...JSON对象和JSON字符串之间转换是序列化反序列化过程,这就是好比Java对象序列化反序列化。...  也就是说可以猜测到是,“net.sf.json”获取Java对象public修饰符get开头方法,并将其后缀定义为JSON对象“key”,而将get开头方法返回值定义为对应key“value

2.8K50

左手用R右手Python系列12——空间数据可视化数据地图

以前我一直觉得Python绘图工具R语言ggplot2比起来,不够优雅,这也是我一直坚定选择使用R+ggplot2深入学习数据可视化原因,ggplot2在坐标系整合兼容性和扩展性上确实技高一筹...今天要讲解主角是R语言中sf包和Pythongeopandas库。...---- 为什么今天把geopandas和R语言空间数据可视化写在一起,因为他们很巧合用到了相同地理信息处理技术,无论是数据源支持上、还是空间数据结构存储还是投影设置上都是如此。...(替代方案,使用rgdalreadORG函数或者sfst_read函数) use rgdal::readOGR or sf::st_read china_map1<-fortify(china_map...最后让我们再次看一下R语言中sf数据对象和Pyhtongeodatafame对象对比。 ?

2K40

frida反射调用对象方法字段

该篇文章主要介绍当我们碰到参数或者返回值是一个对象时,如何通过frida反射调用对象方法(methods)获取该对象字段(fields) 添加测试frida反射调用demo app 写一个测试类...其中display方法参数为ParametersTest对象, 在文中,我们要hook display方法并hook它参数ParametersTest对象反射调用ParametersTest对象所有方法及打印...val1) { getReflectFields(val1);//打印所有字段(fields)类型、名称、值 getReflectMethod(val1)//hook ParametersTest对象所有方法...name is: " + (field.getName())); send("field value is: " + field.get(val1)); }) } 结果如下: frida反射调用方法...(methodName + " return value is: " + retval); return retval;//返回方法返回值 }

3.8K20

geotrellis使用(十六)使用缓冲区分析方式解决投影变换边缘数据值计算问题

经过试验不同投影方式、采样方式、数据类型,发现只有在投影方式选择4326(原始数据投影方式是墨卡托-3857),采样方式选择三次卷积法内插等几种重采样方式时候才会出现边缘问题,那么很明显导致该问题原因肯定是投影时候选择采样方式造成...那么为什么采样会造成边缘数据值出现偏差呢?        ...但是目前来看我们必须要想一个办法来解决这个问题,下面就是本文重点要讲——使用缓冲区分析方式解决投影变换边缘数据值计算问题。...2.扩大区域        这一步很简单,Geotrellis已经写好了缓冲区分析函数,直接调用即可,代码如下: poly.buffer(3 * cellWidth)        其中ploy是原始区域...五、总结        以上就是通过使用缓冲区分析方式解决投影变换边缘数据值计算过程中出现偏差问题。看似简单原理实现过程,其实同样可以上升到哲学高度去思考。

1.2K40

一个R语言中操纵矢量空间数据标准化工具—sf

在可能情况下,方法作用于一个几何对象(sfg)、一个几何对象集合(sfc)或一个带有属性集合对象集合(sf),同时返回一个相同类对象。...在sf,所有底层库GDAL、GEOS和liblwgeom之间通信,以及空间数据库之间进行空间几何对象读写操作,均使用c++编写二进制序列化和反序列化。...对于未做投影处理地理空间数据,提供坐标通常是经纬度,表征是球面上点,而非投影平面。sf包允许针对此类数据进行所有几何操作,但在操作过程,GEOS包会弹出提示信息。...除了使用GDAL之外,sf还可以直接读写空间数据库。目前主要通过RPostgreSQL来PostGIS一起工作,当然,使用RPostgres以及DBI来读写空间数据库功能仍然进一步开发完善。...在实现sf过程,维护了几个经过良好验证概念(几何对象属性分离),为sf创建了新连接(dplyr、ggplot2、空间数据库),并探讨了新概念(单位、空间索引等)。

4.1K51

在R里面根据shp文件进行点抠图

[toc] 在R根据shapefile进行点抠取 当我们有一个图层文件时候,然后再放些采样点在该图层上,发现,某些采样点落在地图外面,如下图所示。...如果用Arcgis操作,很容易把外围点抹去,保留图层内点,那么如果在R里面,实现该操作呢。 image.png 本篇文章,主要介绍在R实现根据shp文件进行地图点抠取。...读取,则不用转换),记住这里需要设置地图投影格式为"+proj=longlat +ellps=WGS84" # point data set.seed(124) df_point=tibble(x=rnorm.../areas_v2/bound/530000.json")%>% st_transform(., 4326) # plot ggplot()+ geom_sf(data=Yun,fill=...size=0.2)+ geom_point(data = df_point,aes(x,y)) 抠取操作 主要借助于point.in.poly函数对两个SpatialPointsDataFrame对象进行操作

1K10

R可视乎|空间地理数据可视化(1)

2.3 点模式数据 前两种数据不同,点模式数据域 D 是随机,s 给出了随机事件位置。对于 ,Z(s)表示事件发生,其值可以为 1,也可以是随机地给出一些额外信息。...3.3 在 R 设置坐标参考系统 地球形状可以用一个扁椭球形模型来近似,它在赤道上隆起,在两极扁平,目前世界上有很多不同参考椭球体来使用,最常用是全球定位系统(GPS)所使用世界大地测量系统...=WGS84 +datum=WGS84 +units=m +no_defs +south" 此外,如果我们希望将数据d转换为具有不同投影数据,则可以使用 rgdal 包 spTransform(...) 函数或 sf st_transform() 函数。...我们可以使用 rgdal 包 readOGR() 函数,或者 sf st_read() 函数来读取 shapefile 文件。

3.4K30

地图可视化绘制 | R-ggplot2 NC地图文件可视化

nc数据文件R包读取 nc数据可视化绘制 nc数据文件R包读取 在R读取nc文件,我们首选ncdf4包,其使用参考网址如下:https://rdrr.io/cran/ncdf4/。...对应nc文件,常用使用方法就是以上4,数据获取后(由于是规整数据格式)可以像其他数据一样进行处理和变换。更多详细内容可参考上面给出网站。...nc数据可视化绘制 由于我们使用是ggplot2进行绘制,所以我们直接使用raster包进行nc文件读取(其实也是调用ncdf4包进行处理),数据我们就使用昨天分享数据数据:数据(代码)分享 |...此外,我们还可以设置不同投影可视化绘制效果:结果如下: ?...,我们需使用sf包对数据进行投影转换及使用*geom_sf()*进行转换结果可视化绘制,代码如下: df_sf <- sf::st_as_sf(dset01_df, coords = c("long"

2.7K20

地图可视化绘制 | R-ggplot2 NC地图文件可视化

在推出两期数据分享之后,获取数据小伙伴们也知道,数据格式都是NetCDF(nc) 格式网格数据,虽然我在推文分享说明使用Python、R或者GIS类软件都是可以进行 处理和可视化绘制,但是,还是有小伙伴咨询使用编程软件...对应nc文件,常用使用方法就是以上4,数据获取后(由于是规整数据格式)可以像其他数据一样进行处理和变换。更多详细内容可参考上面给出网站。...nc数据可视化绘制 由于我们使用是ggplot2进行绘制,所以我们直接使用raster包进行nc文件读取(其实也是调用ncdf4包进行处理),数据我们就使用昨天分享数据数据:数据(代码)分享 |...此外,我们还可以设置不同投影可视化绘制效果:结果如下: ?...,我们需使用sf包对数据进行投影转换及使用*geom_sf()*进行转换结果可视化绘制,代码如下: df_sf <- sf::st_as_sf(dset01_df, coords = c("long"

2.2K30

实用帖之R-ggplot2 标准中国地图制作

地图读取和散点标注 这里中国地图格式为 geojson 格式,还是使用sf包进行灵活读取,具体代码如下: china_shp <- "中国省级地图GS(2019)1719号.geojson" nine...接下来我们进行探索性绘图,主要使用geom_sf() 进行绘制,代码如下: library(ggspatial) ggplot() + geom_sf(data = china,fill="NA"...注意红色框内容 接下来将数据在地图中显示,具体代码如下: ggplot() + geom_sf(data = china,fill="NA",size=.5,color="black") +...这里需注意是xlim和ylim设置,具体值都是在 +proj=laea +lat_0=40 +lon_0=104 投影坐标系下值,而常规坐标转不同坐标下操作也很简单,可使用st_transform...lon", "lat"), crs = 4326) -> df2_sf df2_sf_pre <- sf::st_transform(df2_sf,crs="+proj=laea +lat_0=40

1.4K10

R-ggplot2 标准中国地图制作

由于基础图表绘制系列推文还在加紧准备,所以这期推文还是对一些感兴趣图表进行绘制,这期涉及空间图表绘制,主要涉及知识点如下: ggplot2 + sf 中国标准地图绘制 cowplot 包实现地图子图插入...地图读取和散点标注 这里中国地图格式为 geojson 格式,还是使用sf包进行灵活读取,具体代码如下: china_shp <- "中国省级地图GS(2019)1719号.geojson" nine...注意红色框内容 接下来将数据在地图中显示,具体代码如下: ggplot() + geom_sf(data = china,fill="NA",size=.5,color="black") +...这里需注意是xlim和ylim设置,具体值都是在 +proj=laea +lat_0=40 +lon_0=104 投影坐标系下值,而常规坐标转不同坐标下操作也很简单,可使用st_transform...lon", "lat"), crs = 4326) -> df2_sf df2_sf_pre <- sf::st_transform(df2_sf,crs="+proj=laea +lat_0=40

2.6K10
领券