osmar とは R 言語処理系用の OpenSteetMap の種々の機能のパッケージ.
福岡市内全域を含む OpenStreetMap XML ファイルを,osmar パッケージを使ってR言語処理系に読みこんでデータ構造を確認した.R言語処理系へ読み込むコマンドを次に示す.
#ライブラリの読み込み library("osmar") #XMLデータの読み込み xml <- readLines('/home/hoge.xml') #OpenStreetMapデータとして整形 map <- as_osmar(xmlParse(xml)) #データ構造の表示 STR(map)
◆実行結果例
> str(map) List of 3 $ nodes :List of 2 ..$ attrs:'data.frame': 495982 obs. of 9 variables: .. ..$ id : num [1:495982] 2.41e+08 2.41e+08 2.41e+08 2.41e+08 2.41e+08 ... .. ..$ timestamp: POSIXlt[1:495982], format: "2011-04-07 13:44:33" "2008-01-21 07:47:00" ... .. ..$ uid : Factor w/ 108 levels "1008753","105009",..: 52 71 48 69 12 12 12 12 12 69 ... .. ..$ user : Factor w/ 108 levels "AJI-INTERNATIONAL",..: 44 41 38 47 3 3 3 3 3 47 ... .. ..$ visible : Factor w/ 1 level "true": 1 1 1 1 1 1 1 1 1 1 ... .. ..$ version : num [1:495982] 4 1 4 4 2 2 2 2 2 2 ... .. ..$ changeset: num [1:495982] 7794785 675578 12697666 13096850 756400 ... .. ..$ lat : num [1:495982] 33.6 33.7 33.6 33.6 33.6 ... .. ..$ lon : num [1:495982] 130 130 130 130 130 ... ..$ tags :'data.frame': 160600 obs. of 3 variables: .. ..$ id: num [1:160600] 2.52e+08 2.52e+08 2.52e+08 2.52e+08 2.52e+08 ... .. ..$ k : Factor w/ 137 levels "FIXME","KSJ2:ADS",..: 37 37 37 37 37 37 37 37 37 37 ... .. ..$ v : Factor w/ 48191 levels "?????","(有)浜田電業",..: 43122 43122 43122 43122 43122 43122 43122 43122 43122 43122 ... ..- attr(*, "class")= chr [1:3] "nodes" "osmar_element" "list" $ ways :List of 3 ..$ attrs:'data.frame': 46857 obs. of 7 variables: .. ..$ id : num [1:46857] 22491953 23303818 23303822 23303825 23303826 ... .. ..$ timestamp: POSIXlt[1:46857], format: "2012-08-12 04:27:31" "2012-09-06 11:45:27" ... .. ..$ uid : Factor w/ 75 levels "103253","105009",..: 27 42 42 71 27 42 68 71 42 27 ... .. ..$ user : Factor w/ 75 levels "42429","Andre68",..: 24 32 32 23 24 32 13 23 32 24 ... .. ..$ visible : Factor w/ 1 level "true": 1 1 1 1 1 1 1 1 1 1 ... .. ..$ version : num [1:46857] 6 4 6 27 13 7 5 33 13 29 ... .. ..$ changeset: num [1:46857] 12697666 13008987 14891887 14989948 12213785 ... ..$ tags :'data.frame': 171329 obs. of 3 variables: .. ..$ id: num [1:171329] 22491953 23303822 23303825 23303825 23303825 ... .. ..$ k : Factor w/ 127 levels "FIXME","KSJ2:ADS",..: 103 117 72 81 103 104 117 72 77 78 ... .. ..$ v : Factor w/ 3633 levels " 172.11298791800",..: 411 2745 10 2799 397 3101 2745 10 3064 386 ... ..$ refs :'data.frame': 567420 obs. of 2 variables: .. ..$ id : num [1:567420] 22491953 22491953 22491953 22491953 22491953 ... .. ..$ ref: num [1:567420] 2.41e+08 1.86e+09 1.86e+09 1.26e+09 1.26e+09 ... ..- attr(*, "class")= chr [1:3] "ways" "osmar_element" "list" $ relations:List of 3 ..$ attrs:'data.frame': 106 obs. of 7 variables: .. ..$ id : num [1:106] 111091 359426 952499 952500 952537 ... .. ..$ timestamp: POSIXlt[1:106], format: "2012-09-03 14:28:14" "2012-12-23 14:46:55" ... .. ..$ uid : Factor w/ 15 levels "205208","24247",..: 14 6 1 1 1 10 10 1 9 3 ... .. ..$ user : Factor w/ 15 levels "42429","Keolety",..: 8 15 14 14 14 3 3 14 12 9 ... .. ..$ visible : Factor w/ 1 level "true": 1 1 1 1 1 1 1 1 1 1 ... .. ..$ version : num [1:106] 2 40 1 1 1 3 2 1 5 4 ... .. ..$ changeset: num [1:106] 12968317 14379004 4924513 4924513 4924513 ... ..$ tags :'data.frame': 432 obs. of 3 variables: .. ..$ id: num [1:432] 111091 111091 111091 359426 359426 ... .. ..$ k : Factor w/ 49 levels "KSJ2:AAC","KSJ2:AAC_label",..: 20 41 45 22 23 24 25 26 32 33 ... .. ..$ v : Factor w/ 122 levels " 11958.77567180000",..: 79 57 74 107 33 32 107 34 95 42 ... ..$ refs :'data.frame': 3383 obs. of 4 variables: .. ..$ id : num [1:3383] 111091 111091 111091 359426 359426 ... .. ..$ type: Factor w/ 3 levels "node","relation",..: 3 3 3 3 3 3 3 3 3 3 ... .. ..$ ref : num [1:3383] 2.33e+07 3.30e+07 1.64e+08 2.34e+07 1.88e+08 ... .. ..$ role: Factor w/ 8 levels "","admin_centre",..: 5 6 6 1 1 1 1 1 1 1 ... ..- attr(*, "class")= chr [1:3] "relations" "osmar_element" "list" - attr(*, "class")= chr [1:2] "osmar" "list"
データ構造 は list 形式で, nodes,ways,relationsの3つの list を持つ.
以下、共通属性
attrs データフレーム
tags データフレーム
nodes 固有の属性
attrs データフレーム
ways 固有の属性
refs データフレーム
relations 固有の属性
refs データフレーム