Created
August 9, 2021 06:41
-
-
Save kenji4569/4c53b4013e67c007e2ff2588e7a1208b to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "code", | |
"execution_count": 1, | |
"id": "72391778", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Node { id: NodeId(31236558), tags: Tags({}), decimicro_lat: 356350730, decimicro_lon: 1397681010 }\n", | |
"\n", | |
"Way { id: WayId(4847506), tags: Tags({\"bridge\": \"yes\", \"highway\": \"motorway\", \"lanes\": \"2\", \"layer\": \"4\", \"name\": \"首都高速11号台場線\", \"name:en\": \"Daiba Route\", \"name:es\": \"Ruta Daiba\", \"name:ja\": \"首都高速11号台場線\", \"name:ru\": \"Шоссе Дайба\", \"oneway\": \"yes\", \"ref\": \"11\"}), nodes: [NodeId(31236733), NodeId(7598552497), NodeId(621545916), NodeId(621545917), NodeId(31236732), NodeId(1832774251), NodeId(1832774248), NodeId(31236568), NodeId(31236567), NodeId(31236566), NodeId(1832774235), NodeId(621545902), NodeId(31236565), NodeId(621545903), NodeId(1832774226), NodeId(31236564), NodeId(621545901), NodeId(1832774190), NodeId(621545904), NodeId(31236563), NodeId(1832774171), NodeId(1832774167), NodeId(7658031754), NodeId(31236562)] }\n", | |
"\n", | |
"Relation { id: RelationId(18037), tags: Tags({\"name\": \"多摩ニュータウン通り (Tama New Town Avenue)\", \"name:en\": \"Tama New Town Avenue\", \"name:ja\": \"多摩ニュータウン通り\", \"name:ja_rm\": \"Tama Nyū Taun Dōri\", \"route\": \"road\", \"type\": \"route\"}), refs: [Ref { member: Way(WayId(24550793)), role: \"\" }, Ref { member: Way(WayId(429391552)), role: \"\" }, Ref { member: Way(WayId(24596757)), role: \"\" }, Ref { member: Way(WayId(24593480)), role: \"\" }, Ref { member: Way(WayId(269788356)), role: \"\" }, Ref { member: Way(WayId(24908045)), role: \"\" }, Ref { member: Way(WayId(24633588)), role: \"\" }, Ref { member: Way(WayId(24908048)), role: \"\" }, Ref { member: Way(WayId(25154531)), role: \"\" }, Ref { member: Way(WayId(25154537)), role: \"\" }, Ref { member: Way(WayId(25154559)), role: \"\" }, Ref { member: Way(WayId(327682544)), role: \"\" }, Ref { member: Way(WayId(25292459)), role: \"\" }, Ref { member: Way(WayId(25292459)), role: \"\" }, Ref { member: Way(WayId(25292467)), role: \"\" }, Ref { member: Way(WayId(25292468)), role: \"\" }, Ref { member: Way(WayId(25483576)), role: \"\" }, Ref { member: Way(WayId(295942033)), role: \"\" }, Ref { member: Way(WayId(25483575)), role: \"\" }, Ref { member: Way(WayId(24633612)), role: \"\" }, Ref { member: Way(WayId(324438219)), role: \"\" }, Ref { member: Way(WayId(269788355)), role: \"\" }, Ref { member: Way(WayId(26438358)), role: \"\" }, Ref { member: Way(WayId(269788357)), role: \"\" }, Ref { member: Way(WayId(295942018)), role: \"\" }, Ref { member: Way(WayId(324438220)), role: \"\" }, Ref { member: Way(WayId(25154448)), role: \"\" }, Ref { member: Way(WayId(25154444)), role: \"\" }, Ref { member: Way(WayId(321609843)), role: \"\" }, Ref { member: Way(WayId(27874782)), role: \"\" }, Ref { member: Way(WayId(327682543)), role: \"\" }, Ref { member: Way(WayId(27874784)), role: \"\" }, Ref { member: Way(WayId(296110129)), role: \"\" }, Ref { member: Way(WayId(296110132)), role: \"\" }, Ref { member: Way(WayId(27874786)), role: \"\" }, Ref { member: Way(WayId(27874789)), role: \"\" }, Ref { member: Way(WayId(27874790)), role: \"\" }, Ref { member: Way(WayId(295942034)), role: \"\" }, Ref { member: Way(WayId(674721092)), role: \"\" }, Ref { member: Way(WayId(25483573)), role: \"\" }, Ref { member: Way(WayId(674721091)), role: \"\" }, Ref { member: Way(WayId(674721089)), role: \"\" }, Ref { member: Way(WayId(429391551)), role: \"\" }, Ref { member: Way(WayId(460530677)), role: \"\" }, Ref { member: Way(WayId(295942017)), role: \"\" }, Ref { member: Way(WayId(27874791)), role: \"\" }, Ref { member: Way(WayId(29489351)), role: \"\" }, Ref { member: Way(WayId(29489352)), role: \"\" }, Ref { member: Way(WayId(296110134)), role: \"\" }, Ref { member: Way(WayId(296110131)), role: \"\" }, Ref { member: Way(WayId(29489354)), role: \"\" }, Ref { member: Way(WayId(29489356)), role: \"\" }, Ref { member: Way(WayId(27874785)), role: \"\" }, Ref { member: Way(WayId(295942020)), role: \"\" }, Ref { member: Way(WayId(27874788)), role: \"\" }, Ref { member: Way(WayId(295942019)), role: \"\" }, Ref { member: Way(WayId(249386122)), role: \"\" }, Ref { member: Way(WayId(249386124)), role: \"\" }] }\n", | |
"\n", | |
"41540156 objects, 35927258 nodes, 5585402 ways, 27496 rels\n" | |
] | |
} | |
], | |
"source": [ | |
"extern crate osmpbfreader;\n", | |
"\n", | |
"let filename = \"./kanto-latest.osm.pbf\";\n", | |
"let path = std::path::Path::new(filename);\n", | |
"let r = std::fs::File::open(&path).unwrap();\n", | |
"let mut pbf = osmpbfreader::OsmPbfReader::new(r);\n", | |
"let mut nb = 0;\n", | |
"let mut nb_nodes = 0;\n", | |
"let mut nb_ways = 0;\n", | |
"let mut nb_rels = 0;\n", | |
"for obj in pbf.par_iter().map(Result::unwrap) {\n", | |
" nb += 1;\n", | |
" match obj {\n", | |
" osmpbfreader::OsmObj::Node(node) => {\n", | |
" if nb_nodes == 0 {\n", | |
" println!(\"{:?}\", node);\n", | |
" println!(\"\");\n", | |
" }\n", | |
" nb_nodes += 1;\n", | |
" }\n", | |
" osmpbfreader::OsmObj::Way(way) => {\n", | |
" if nb_ways == 0 {\n", | |
" println!(\"{:?}\", way);\n", | |
" println!(\"\");\n", | |
" }\n", | |
" nb_ways += 1;\n", | |
" }\n", | |
" osmpbfreader::OsmObj::Relation(rel) => {\n", | |
" if nb_rels == 0 {\n", | |
" println!(\"{:?}\", rel);\n", | |
" println!(\"\");\n", | |
" }\n", | |
" nb_rels += 1;\n", | |
" }\n", | |
" }\n", | |
"};\n", | |
"println!(\"{} objects, {} nodes, {} ways, {} rels\", nb, nb_nodes, nb_ways, nb_rels);" | |
] | |
} | |
], | |
"metadata": { | |
"kernelspec": { | |
"display_name": "Rust", | |
"language": "rust", | |
"name": "rust" | |
}, | |
"language_info": { | |
"codemirror_mode": "rust", | |
"file_extension": ".rs", | |
"mimetype": "text/rust", | |
"name": "Rust", | |
"pygment_lexer": "rust", | |
"version": "" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 5 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment