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

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

这种方式严重影响图形绘制,阻碍其与其他同类型工具库之间的兼容性。 simple feature 格式 标准目前已经被广泛采纳,但是sp包仍然习以为常的将矢量空间数据强制转化为R的内部对象。...在使用ggplot2绘图时,先利用fortify函数将sp对象转化成数据框(该数据框里存放着每一个多边形构成点的信息),以此来尝试“简化”多边形对象,这样既不优雅,也不高效。...(sf_column), "sfc": 一个由一组空间几何属性组成的列表列 "sfg":一个空间几何列表列中的任一个元素(一个几何要素) "crs": 一个坐标参考系统(CRS),作为“sfc”对象的性质存储...当前版本的栅格数据是通过将sf对象转换为(较小的一组)sp对象,从而使其可以兼容其中的一小部分函数。...GDAL目前有93种不同的空间向量数据连接驱动程序(文件格式、数据库、web服务)。图3显示了sf包和其他R包和系统库的依赖关系。

4.3K51
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    R可视化 | 地理信息空间(上)

    , layer, stringsAsFactors)函数 读入数据转换为sf数据模型 dsn:读入的文件名 layer:读入的层数(如果是多层地图的话) stringsAsFactors:是否将读入文件中的字符串数据转换为因子数据...(polygons):每一个行政区的多边形边界点(按order排序、按group分组) 需要使用fortify函数将polygons数据转换为数据框格式。...SF(Simple feature list column)格式 获取的是完整的数据框( data.frame )格式 将每一个行政区对于的几何分界点封装成一个list对象 ?...个人使用比较多的是SF格式的数据模型。 1.4 总结 ?...文件格式与函数方法关系图 1.5 上手实战 设计目的:进行地理文件的加载、数据转换及基础处理,将地理信息数据与业务数据的融合(sp与sf数据模型),添加地理标签,应用地理坐标轴,最终完成一个地理空间可视化的小

    1.1K30

    POSTGIS 总结

    PostGIS通过向PostgreSQL添加对空间数据类型、**空间索引(R-Tree)和空间函数的支持,将PostgreSQL数据库管理系统转换为空间数据库**,可以说PostGIS仅仅只是PostgreSQL...空间数据库提供了一个“空间索引(spatial index)”,它回答了“哪些对象在这个特定的边界框内?”这个问题。...因此,2::text将数字2转换为文本字符串”2″;‘POINT(0 0)’ :: geometry将点的文本表示形式转换为geometry点 四、空间连接 空间连接(spatial joins)是空间数据库的主要组成部分...ST_SetValue —— 用于设置像元值 10.2 矢量切片坐标转换函数 ST_AsMVTGeom 将一个图层中位于参数box2d范围内的一个几何图形的所有坐标转换为MapBox VectorTile...使用ST_AsMVT函数将基于MVT坐标空间的几何图形转换为MVT二进制矢量切片。 MVT格式可以存储具有不同属性集的要素。

    6.2K10

    如何处理地图投影转换

    需要花大把的时间导入这些数据模型,并从模型中抽取出geom_polygon所支持的点、线、多边形数据,才能按照ggplot2所规范的可视化语法进行制图。...R语言中支持GIS数据模型的包一共有两个:sp包和sf包,在旧版的ggplot2中,geom_polygon高度依赖从sp导入的数据对象(虽然也可以从sf中获取)。...由于投影后的投影坐标系已经被投影算法转换,所以在使用geom_text等图层函数时,务必要使用与几何对象投影一致的经纬度点,这里使用sf中的点中心计算函数最为快捷。...st_transform()函数专门用户坐标参考系统的转换。 sf包中的投影参数一共有两种写法,一种是使用其EPSG代码(或称之为WKID或者SRID)。...另一种写法是写成proj4string的字符串格式: 典型的格式如下,在st_crs()或者st_transform()函数内部赋值任意一种格式即可,效果等同。

    1.8K30

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

    以前我一直觉得Python的绘图工具与R语言ggplot2比起来,不够优雅,这也是我一直坚定的选择使用R+ggplot2深入的学习数据可视化的原因,ggplot2在坐标系的整合与兼容性和扩展性上确实技高一筹...今天要讲解的主角是R语言中的sf包和Python中的geopandas库。...) #从SP(空间数据对象)中剥离地理多边形边界点信息和多边形属性信息 x<-china_map@data xs<-data.frame(id=row.names(x),x) china_map_data...geopandas包同时支持导入shp素材和json素材,导入之后得数据结构与R语言中得sf导入之后得结构是一致得,地理多边形边界点信息都被压缩成了一个非常整齐的列表存储,列表内每一个单独的子项目都代表着一个多边形...最后让我们再次看一下R语言中的sf数据对象和Pyhton中的geodatafame对象的对比。 ?

    2.1K40

    构建自己的地理信息空间数据库及与客户端简单交互

    这张表整体就是我们之前在分享 R语言的sf对象和Python中的GeoDataFrame对象的技术雏形。...可以看到地理信息列在postgis中已经被编码成一组特殊数字,而在R中的sf对象中则是嵌套列表,在Python的GeoDataFrame中则是特殊的geomtry列。...) 我们平时使用最多的地理信息多边形便是mutipolygon格式。...sp格式,转换为sf格式 读入方法2 map_data <- st_read(conn,"bou2_4p") ?...写入空间数据: 写入空间数据时,一般要以sp格式写入(就是之前用的最多的,maptools、rgdal包导入的默认格式),但是好在sf包中提供了一键转化sf和sp对象的函数,所以这里的写入数据格式转换非常高效

    6.1K20

    工具分享 | linemap-快速绘制山峦地图的R可视化包介绍

    上一次介绍了Python绘制svg的优秀可视化库Pygal,今天我们介绍一下一个优秀的R地图可视化绘制包-linemap包,顾名思义,该包是是为了绘制由线组成的地图,其官网如下:https://github.com...getgrid()将一组多边形(sf对象)转换为绘制linemap()的合适数据框(data.frame)。...R-linemap 样例介绍 这里我们介绍下官网提供的例子,样例1的绘图代码如下: library(sf) library(linemap) data("popOcc") data("occitanie...getgrid() data 接下来,我们使用 getgrid()从sf数据对象中获取需要的数据,这里获取“POPULATION”属性,bretagne地图数据 bret如下: ?...总结 本期我们介绍一个用于绘制线地图的R可视化包,需要注意的是,这里保存图片都是基础R的方法,没有使用我们熟悉额ggsave()保存,主要代码如下: pdf("linemap_01.pdf") # 保存高分辨率的

    26910

    工具分享 | linemap-快速绘制山峦地图的R可视化包介绍

    上一次介绍了Python绘制svg的优秀可视化库Pygal,今天我们介绍一下一个优秀的R地图可视化绘制包-linemap包,顾名思义,该包是是为了绘制由线组成的地图,其官网如下:https://github.com...getgrid()将一组多边形(sf对象)转换为绘制linemap()的合适数据框(data.frame)。...R-linemap 样例介绍 这里我们介绍下官网提供的例子,样例1的绘图代码如下: library(sf) library(linemap) data("popOcc") data("occitanie...getgrid() data 接下来,我们使用 getgrid()从sf数据对象中获取需要的数据,这里获取“POPULATION”属性,bretagne地图数据 bret如下: ?...总结 本期我们介绍一个用于绘制线地图的R可视化包,需要注意的是,这里保存图片都是基础R的方法,没有使用我们熟悉额ggsave()保存,主要代码如下: pdf("linemap_01.pdf") # 保存高分辨率的

    55830

    用编程赋能工作系列——地理围栏的基本操作运算

    这问题是主要操作难点,涉及到空间数据操纵,以下仍然是两个工具分别讲解: R语言中的处理方案: # 将围栏数据改造成R语言中sf包可识别的形式 # 因为原始围栏是一次将经维度按顺序组合并一次拼接起来的,...所以需要使用简单的 # 程序转换为含经度、维度的数据框 library('sf') library('ggplot2') library('magrittr') library("leaflet") library...return(result_data) } # 这里将已经转换为数据框的围栏经纬度信息转换为sf模式的多边形对象 ploygon_data <- my_fun(areaFence) mapdata sf包中的点归属判别函数st_contains,把随机点都打上一个是否在围栏内部的标签,方便之后在呈现层进行区别填色。...使用Python中shapely包(底层也是和R语言中的sf包基于相同的理论基础实现的)提供的点判别函数contains。

    2.8K30

    rgdal包readOGR使用

    1R语言地图数据分类 R语言使用ggplot2作图,所支持的地图数据对象主要包括两类 sp: SpatialPolygonDataFrame sf: Simple feature list column...这两株数据对象都可以通过读取shp数据获得 SP数据特点 SP空间数据对象是一个dataframe(数据描述层)和polygons(几何映射层)两个对象的组合 SP将地理数据分割为两大块:描述层和映射层...SF数据特点 最大特点hi是,他将每一个行政区划所对应的几何边界点封装成一个list对象,这条记录就像其他普通的文本记录一样,被排列在对应行政区划描述单元中 使用sf包的st_read()函数导入的空间数据对象完全是一个整齐的数据结构...,这些行列中包括了描述层和几何多边形的边界点信息。...SF对象我们只需要指定一次合并即可,即将描述层和你的分析数据合并,使用sf::st_read()函数读取数据即可得到SF数据对象,其为data.frame对象类型。

    5.7K20

    R语言可视化——关于ggplot所支持的数据地图素材类型

    虽然从数据存储格式上来讲我们分为shp素材、json素材,但是由于在R语言中使用ggplot2作图,所支持的数据集对象大致又可分为两类,它们都可以由shp、json数据文件转化而来。...这两种格式的数据集所描述的信息差不多是一致的。第一种格式(sp)是R语言绘图比较传统的数据格式,它将地理信息数据分割为两大块:描述层和映射层。...而sf对象将这种控件数据格式件进行了更加整齐的布局,使用st_read()导入的空间数据对象完全是一个整齐的数据框,拥有整齐的行列,这些行列中包含着数据描述和几何多边形的边界点信息。...(倘若描述层均没有对应的id,你需要为其构造虚拟id,这一次合并算上的话,那么就需要三次合并)。 然而在sf对象中我们仅需指定一次合并即可,即描述层和业务指标数据的合并。...rgdal包可以替代sp包导入shp数据(事实上它也支持json数据的导入,似不似很强大),而sf包则是新崛起,支持sf对象格式导入的包,而且ggplot2率先给这个包开了绿灯,直接创建了geom_sf

    2.4K41

    点云数据标注_点云数据采集

    大家好,又见面了,我是你们的朋友全栈君。 一:什么是点云数据 点云数据是指在一个三维坐标系统中的一组向量的集合。...这些向量通常以X,Y,Z三维坐标的形式表示,而且一般主要用来代表一个物体的外表面形状。...当点云可以直接被描绘和观察时,通常点云本身不能直接用于3D应用,因此一般通过表面重建的方法将它转换为多边形或三角形等网状模型,NURBS曲面模型(曲线曲面的非均匀有理B样条模型)和CAD模型。...这里有很多技术应用在将点云转换为3D表面的过程中。 四:点云数据的格式 点云数据是3D激光雷达扫描仪的基本输出。...同样的,这些像素在一个rgb文件里面是如下形似 彩色点云数据:X1, Y1, Z1, r1, g1, b1 X2 , Y2, Z2, r2,

    2K30

    SpatialExperiment || 空间数据管理

    我们知道单细胞数据的激增和它的高维特征催生了针对单细胞数据的数据格式:Seurat对象、singlecellexperiment对象以及anndata对象。...空间数据的出现为表达量数据带来了新的视角,一般它包含图像数据,空间坐标数据以及表达量数据。...然后,每个tile (区域)反映相应区域检测到的特征。请注意,tiles可以是矩形、六边形,或者任何可以将平面划分为规则网格的多边形。...我们曾经在空间信息在空间转录组中的运用和应用空间统计学分析空间表达数据看到过如果没有专门的空间数据格式,如何自己调用(地理的)空间分析R包先做对象转换再做分析的过程。...数据分析中50%的时间在数据格式的处理,有了空间表达数据的格式可以缩短这部分时间,把我们从对象转换的藩篱中解放出来。

    74110

    六、处理几何数据【ArcGIS Python系列】

    1.了解几何对象 要素类中的每个要素都由一个或多个顶点组成,这些顶点定义了点、多段线或多边形要素。在点要素类的情况下,每个点要素由单个顶点组成。多段线和多边形要素由多个顶点组成。...每个顶点是由一对x、y坐标定义的位置。该图说明了点、多段线和多边形如何在笛卡尔坐标空间中由顶点定义。 使用几何体对象可以将要素写入要素类,我们可以从坐标值表创建要素。...附加几何令牌可用于访问特定几何信息。访问完整几何往往更加耗时。如果只需要几何的某些特定属性,可使用令牌来提供快捷方式从而访问几何属性。例如,SHAPE@XY 会返回一组代表要素质心的 x,y 坐标。...常用的几何令牌有: 令牌 说明 SHAPE@ 要素的几何对象。 SHAPE@XY 一组要素的质心 x,y 坐标。 SHAPE@Z 要素的双精度 z 坐标。 SHAPE@AREA 要素的双精度面积。...# 接下来,代码遍历坐标对列表,并在每次迭代中创建一个新的 Point 对象。

    46910

    OpenGL API 简介

    这部分函数主要用于处理像素存储格式和双帧缓存;这 6 个函数将替换 Windows GDI 中原有的同样的函数。Win32API 函数库只能用于 Windows 95/98/NT 环境中。...检测功能 glAreTexturesResident 决定特定的纹理对象是否常驻在纹理内存中 glArrayElement 定义一个被用于顶点渲染的数组成分 glBegin、glEnd 定义一个或一组原始的顶点...glDrawBuffer 定义选择哪个色彩缓冲区被绘制 glDrawElements 渲染数组数据中的图元 glDrawPixels 将一组像素写入帧缓冲区 glEdgeFlag 定义一个边缘标志数组...定义是否带二次其面做纹理帖图 gluScaleImage 将图象变换为任意尺寸 gluSphere 绘制一个球体 gluTessBeginContour,gluTessEndContour 划定一个边界描述...gluTessProperty 设置镶嵌对象的属性 gluTessVertex 定义在一个多边形上的顶点 gluUnProject 将窗口坐标映射为对象坐标

    2.3K41

    【OpenCV】Chapter10.色彩转换与图像绘制

    RGB -> GRAY 注意RGB可以转灰度,灰度不能转RGB 转换公式:gray = 0.299 x R + 0.587 x G + 0.114 x B RGB -> HSV RGB转HSV...公式为 OpenCV提供了函数cv.cvtColor()可以将图像从一个颜色空间转换为另一个颜色空间。...,(x1, y1) 格式的元组 pt2:与 pt1 成对角的矩阵第二个点的坐标,(x2, y2) 格式的元组 color:绘图线条的颜色,(b,g,r) 格式的元组,或者表示灰度值的标量 thickness...,(x, y) 格式的元组 radius:圆的半径,整数 color:绘图线条的颜色,(b,g,r) 格式的元组,或者表示灰度值的标量 thickness:绘制矩形的线宽,默认值 1px,负数表示矩形内部填充...endAngle:绘制的终止角度 color:绘图线条的颜色,(b,g,r) 格式的元组,或者表示灰度值的标量 thickness:绘制矩形的线宽,默认值 1px,负数表示矩形内部填充 lineType

    2.6K31
    领券