6

ばかげた質問かもしれませんが、私はこれを行う経験があまりありません。Rで輪郭を作成するには、ポリゴンから座標を取得する必要があります。これは、約1000ポイントの複雑なポリゴンであるため、座標を手動で入力するのはクレイジーです。また、輪郭内のいくつかのオブジェクトの xy 位置を抽出する必要があります。Illustrator と Inkscape を使用して、すべての情報を含む svg ファイルを作成しようとしました。svg ファイルにすべての情報が含まれていることを考えると、これは適切なオプションのように見えます。パスまたはポリゴン ノードから座標を抽出する方法はありますか? または、このプロセスを行うための他の簡単な方法はありますか? 約30枚の画像でそれをしなければならないので、本当に助けていただければ幸いです。乾杯

4

1 に答える 1

8

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

ただし、これはポリゴンに適用される変換を無視します。

于 2012-04-13T07:39:59.597 に答える