Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何向sf对象添加点?

如何向sf对象添加点?
EN

Stack Overflow用户
提问于 2022-09-26 14:42:15
回答 1查看 124关注 0票数 1

我有一个存储点数据的sf对象。但是,我很难理解如何在这个对象中添加点。

我知道如何在单独的对象中创建两点:

代码语言:javascript
运行
AI代码解释
复制
# Create sfg objects with coordinates of Los Angeles and Amsterdam
la_sfg <- st_point(c(-118.2615805, 34.1168926))
amsterdam_sfg <- st_point(c(4.8979755, 52.3745403))

我知道如何将这两个物体组合成一个几何集合:

代码语言:javascript
运行
AI代码解释
复制
# Create sfc object with multiple sfg objects
points_sfc <- st_sfc(la_sfg, amsterdam_sfg, crs = 4326)
points_sfc

我还知道如何使用dataframe向这些点添加属性:

代码语言:javascript
运行
AI代码解释
复制
# Create a data frame of attributes for the two points
data <- data.frame(name = c("Los Angeles", "Amsterdam"),
                   language = c("English", "Dutch"),
   
                weather = c("sunny", "rainy/cold"))

# Make sf object from separate data frame and sfc objects
city_profiles <- st_sf(data, geometry = points_sfc)

现在,假设我有另一个点坐标与以下信息:

代码语言:javascript
运行
AI代码解释
复制
name = Toronto
language = English
Coordinates =   c(-79.450717,43.691589)
weather = hot

我很难弄清楚如何创建一个sfg对象,然后将它添加到我先前存在的特性集合中。例如,直觉上我觉得我会做这样的事情:

代码语言:javascript
运行
AI代码解释
复制
# Create sfg object
toronto <- st_point(name = "toronto", language = "English",weather = "cold", geometry=c(-79.450717,43.691589))

然后使用rbind将此特性添加到city_profiles中。但是,这不是正确的语法,只返回错误。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-09-26 18:17:56

正如SymbolixAU所说,您必须从所有点开始执行所有sf步骤,然后对结果进行rbind。或者先绑定它,然后使用同一个data.frame中的所有点执行所有的data.frame步骤。例如:

代码语言:javascript
运行
AI代码解释
复制
library(tidyverse)
library(sf)
library(rnaturalearth)

world <- rnaturalearth::ne_countries(scale = "small",
                                     returnclass = "sf") 

la_ams <- data.frame(name = c("Los Angeles", "Amsterdam"), 
                     language = c("English", "Dutch"),
                     weather = c("sunny", "rainy/cold"), 
                     lon = c(-118.2615805, 4.8979755), 
                     lat = c(34.1168926, 52.3745403))

la_ams <- sf::st_as_sf(la_ams, 
                       coords = c("lon", "lat"),
                       crs = 4269) 

ggplot() +
  geom_sf(data = world,
          mapping = aes(geometry = geometry),
          fill = "white") +
  geom_sf(data = la_ams,
          aes(geometry = geometry),
          size = 3,
          color = "red") +
  theme_bw()

再加一点:

代码语言:javascript
运行
AI代码解释
复制
toronto <- data.frame(name = c("toronto"), 
                     language = c("English"),
                     weather = c("cold"), 
                     lon = c(-79.450717), 
                     lat = c(43.691589))

toronto <- sf::st_as_sf(toronto, 
                       coords = c("lon", "lat"),
                       crs = 4269) 

cities <- rbind(la_ams, toronto)

ggplot() +
  geom_sf(data = world,
          mapping = aes(geometry = geometry),
          fill = "white") +
  geom_sf(data = cities,
          aes(geometry = geometry),
          size = 3,
          color = "red") +
  theme_bw()

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73860655

复制
相关文章
加点的心得
加点的一般方法:    Catalog _catalog=MapInfo.Engine.Session.Current.Catalog;    MapInfo.Geometry.Point pt = new MapInfo.Geometry.Point(map.GetDisplayCoordSys(),dp);    MapInfo.Styles.SimpleVectorPointStyle vs = new MapInfo.Styles.SimpleVectorPointStyle();    vs.
用户1075292
2018/01/23
8470
加点的心得
Paramiko: SSH and SF
Paramiko 是一个用于python2.5或更高版本的实现了使用SSH2协议安全(加密与验证)的连接远程计算机的模块
py3study
2020/01/06
1.1K0
CSS或HTML如何实现文字下面加点?
就像word里文字加着重号一样,在字的下面加一个点,用CSS怎么做?注意,我说的是下面加点,不是文字加粗或倾斜,请不要回答<strong>或<em>之类的。
全栈程序员站长
2022/07/08
2.8K0
加点JavaScript魔法
在深入研究客户端之前,让我们先了解一下支持这些用户弹窗所需的服务器端的工作。用户弹窗的内容将由新路由返回,它是现有个人主页路由的简化版本。视图函数如下:
公众号---人生代码
2019/12/10
4.1K0
如何实现动态添加的元素添加点击事件
在页面开发过程中常常遇到需要动态添加元素,然后给这一元素绑定相关事件的情况,这种情况下一般需要给元素加上相关属性,然后写这些元素的事件函数即可。动态添加的元素怎么绑定事件呢?
前端老道
2022/03/29
4.3K0
net.sf.json.JSONException: null object_json数组转json对象
在程序开发过程中,在参数传递,函数返回值等方面,越来越多的使用JSON。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,同时也易于机器解析和生成、易于理解、阅读和撰写,而且Json采用完全独立于语言的文本格式,这使得Json成为理想的数据交换语言。 JSON建构于两种结构:
全栈程序员站长
2022/11/08
6.1K0
net.sf.json.JSONException: null object_json数组转json对象
UITextField添加点击高亮状态
一、继承自UITextfield自定义一个SSTouchTextField 代码如下: #import "SSTouchTextField.h" @implementation SSTouchTextField #pragma mark - Private - (void)setBackgroundHighlighted:(BOOL)highlighted{ [UIView animateWithDuration:0.3f delay:0.f options:UIViewAnimationOp
czjwarrior
2018/05/28
1.1K0
给CSS加点料——Less(四)
Hello小伙伴们,今天还是要接着分享less呢!其实less也没剩很多啦,今天就要结束了呢~今天要主要从Extend、Loops和Merge来为大家介绍~
萌兔IT
2019/07/30
4840
网站添加点击烟花特效
1.首先点击下方下载文件并解压 2.wordpress用户将解压的js文件上传至你主题目录的js文件夹下 3.wordpress用户将下方代码复制你主题的footer.php文件里一定要在<body></body>标签之中 (注:代码中的路径要改为你自己的绝对路径。) 路径名一般为(http://你的域名/wp-content/themes/你的主题名称/js/djtx.js)
小狐狸说事
2023/01/07
1.9K0
网站添加点击烟花特效
Java中net.sf.json包关于JSON与对象互转的坑
  在Web开发过程中离不开数据的交互,这就需要规定交互数据的相关格式,以便数据在客户端与服务器之间进行传递。数据的格式通常有2种:1、xml;2、JSON。通常来说都是使用JSON来传递数据。本文正是介绍在Java中JSON与对象之间互相转换时遇到的几个问题以及相关的建议。 首先明确对于JSON有两个概念: JSON对象(JavaScript Object Notation,JavaScript对象表示法)。这看似只存是位JavaScript所定制的,但它作为一种语法是独立于语言以及平台的。只是说通常情
用户1148394
2018/01/09
3.5K0
Java中net.sf.json包关于JSON与对象互转的坑
「SF-PLF」1 Equiv
Some module (e.g.Map) not found either maunally make map.vo or proof general can solve that.
零式的天空
2022/03/02
4960
「SF-LC」1 Basics
The .v code is a gorgeous example of literal programming and the compiled .html website is full-fledged. So this note is intended to be NOT self-contained and only focus on things I found essential or interesting. This note is intended to be very personal and potentially mix English with Chinese (You can Lol) So yeah. Don’t expect it to be well organized and well written. I posted it on blog mainly for my own references purpose. The quotes could either come from the book or saying from someone (even including me).
零式的天空
2022/03/14
4050
QQ & SF 首度联名创作
腾讯ISUX isux.tencent.com 社交用户体验设计 01  概述  |  Overview Superfiction是韩国一家著名的设计工作室,擅长用角色IP打造属于自己的品牌故事。所以这一次,我们计划用我们的 QQ、PUPU联合他们的角色来打造一个新的故事。通过将他们的角色特征应用到我们可爱的QQ企鹅身上,我们设计了一个新角色。其中,Jackson的服装应用到QQ身上,Scott的则应用到PUPU,通过让他们与Superfiction的代表人物Freddy进行互动,我们将
腾讯ISUX
2020/04/23
9270
「SF-PLF」14 RecordSub
Inductive ty : Type := (* record types *) | RNil : ty | RCons : string → ty → ty → ty. we need
零式的天空
2022/03/02
3910
「SF-LC」4 Poly
Until today, We were living in the monomorphic world of Coq. So if we want a list, we have to define it for each type:
零式的天空
2022/03/14
1.3K0
「SF-LC」12 Imp
A weird convention through out all IMP is:
零式的天空
2022/03/14
1.8K0
「SF-PLF」10 Sub
having both width/permulation subtyping make impl slow
零式的天空
2022/03/02
5730
如何向老板提加薪
作为职场人,给老板打工,都希望能够获得升职加薪的机会。对于考核制度比较完善的公司,一般会主动给员工加薪,但对于很多中小型企业,加薪就需要自己向老板提了。那如何跟老板谈加薪呢?
程序媛淼淼
2022/09/01
2890
如何有效向Chatgpt提问
在以前我也写了一篇提问的艺术,不过是面对的对象是人。(详见:更好的解决问题方法:提问的艺术)。最近随着chatgpt的火爆,越来越多的人了解和使用chatgpt,也有很多新的人工智能相继问世,如百度的文心一言,华为的盘古,腾讯的混元,阿里的通义千问,讯飞的星火等等。虽然如今ai技术得到飞跃式增长,ai们理解人类自然语言变得更加强大,但是学习如何提问也还是极为重要的。掌握向ai提问的技巧和方法,能够获得准确,有用的回答,有效提高提问效率。
Daimon
2023/08/23
5330
「SF-LC」6 Logic
The equality operator = is also a function that returns a Prop. (property: equality)
零式的天空
2022/03/14
5990

相似问题

使用ggplot2和geom_sf向图例添加点

10

向sf地图添加点时,ggplot的行为不一致

146

在添加投影时,向geom_sf形状添加点不起作用

12

按出现次数向geom_sf()和彩色多边形添加点数

13

向sf对象添加data.table功能

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档