r - 如何将svg文件中的路径坐标获取到R中

标签 r svg inkscape

也许这是一个愚蠢的问题,但我没有太多这样做的经验。我需要从多边形获取坐标以在 R 中创建轮廓。它是一个大约 1000 个点的复杂多边形,因此手动输入坐标是疯狂的。我还需要提取轮廓内某些对象的 xy 位置。 我尝试使用 Illustrator 和 Inkscape 创建一个包含所有信息的 svg 文件。考虑到 svg 文件包含所有信息,这看起来是一个不错的选择。有没有办法从路径或多边形节点中提取坐标?或者还有其他更简单的方法来完成这个过程? 我将非常感谢任何帮助,因为我必须为大约 30 张图像执行此操作。 干杯

最佳答案

您可以使用XML包来提取坐标。

# Sample data
library(RCurl)
url <- "http://upload.wikimedia.org/wikibooks/en/a/a8/XML_example_polygon.svg"
svg <- getURL(url)

# Parse the file
library(XML)
doc <- htmlParse(svg)

# Extract the coordinates, as strings
p <- xpathSApply(doc, "//polygon", xmlGetAttr, "points")

# Convert them to numbers
p <- lapply( strsplit(p, " "), function(u) 
  matrix(as.numeric(unlist(strsplit(u, ","))),ncol=2,byrow=TRUE) )
p

但是,这会忽略要应用于多边形的任何变换。

关于r - 如何将svg文件中的路径坐标获取到R中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10136289/

相关文章:

mysql - RODBC 更改 group_concat 的限制

javascript - D3 树/聚类图 - 更改节点文本颜色

ruby-on-rails - 如何将 Canvas 保存为矢量图像?

python - 如何以编程方式向 pdf 添加背景?

python - 为什么 Pandas 和 R 之间数据帧的内存使用量有如此大的差异?

r - 使用 dtplyr 连接冲突列后选择

r - 与其他加载的包相比,更喜欢 tidyverse 中的函数

javascript - Kartograph: map 创建失败

fonts - 使用矢量软件(即 inkscape)和 fontforge 创建图标字体?

svg - 如何将 Inkscape 中的 SVG 大小从 A1 调整为 A0