#TERC parser
Gem składa się praktycznie z jednej metody: TercParser::parse_terc
. Po jej wywołaniu, opcjonalnie podając jako argument ścieżkę do pliku TERC.xml
, zwróci ona hash zawierający cztery klucze:
- :stan_na - zawiera datę (jako string) utworzenia pliku
TERC.xml
- :wojewodztwa - zawiera tablice hashy, każdy hash zawiera informacje o jednym województwie
- :powiaty - jw. ale dane o powiatach
- :gminy - jw. ale dane o gminach
Aktualny plik TERC.xml
można pobrać ze strony GUSu:
http://www.stat.gov.pl/broker/access/prefile/listPreFiles.jspa
Plik TERC.xml
jest cyfrową wersją rejestru identyfikatorów i nazw jednostek podziału administracyjnego Polski udostępnionym przez GUS i jest częścią rejestru TERYT.
gem install terc_parser
Wynik działania:
STAN NA: 2011-01-01
-------- WOJEWODZTWA (16) ---------
2 - dolnośląskie
4 - kujawsko-pomorskie
6 - lubelskie
8 - lubuskie
10 - łódzkie
12 - małopolskie
14 - mazowieckie
16 - opolskie
18 - podkarpackie
20 - podlaskie
22 - pomorskie
24 - śląskie
26 - świętokrzyskie
28 - warmińsko-mazurskie
30 - wielkopolskie
32 - zachodniopomorskie
-------- POWIATY (379) -------------
-------- GMINY (2479) -------------
Kod:
require "terc_parser"
terc = TercParser::parse_terc "/path_to_terc/TERC.xml"
puts "STAN NA: #{terc[:stan_na]}"
puts "-------- WOJEWODZTWA (#{terc[:wojewodztwa].count}) ---------"
terc[:wojewodztwa].each do |w|
puts "#{w[:id]} - #{w[:name]}"
end
puts "-------- POWIATY (#{terc[:powiaty].count}) -------------"
terc[:powiaty].each do |p|
#puts "#{p[:id]} - #{p[:woj_id]} - #{p[:name]}"
end
puts "-------- GMINY (#{terc[:gminy].count}) -------------"
terc[:gminy].each do |g|
#puts "#{g[:id]} - #{g[:woj_id]} - #{g[:pow_id]} - #{g[:name]}"
end