NAME
Data::OFN::Address - Data object for OFN address.
SYNOPSIS
use Data::OFN::Address;
my $obj = Data::OFN::Address->new(%params);
my $address_place = $obj->address_place;
my $address_place_code = $obj->address_place_code;
my $cadastral_area = $obj->cadastral_area;
my $cadastral_area_name_ar = $obj->cadastral_area_name;
my $conscription_number = $obj->conscription_number;
my $conscription_number_flag = $obj->conscription_number_flag;
my $district = $obj->district;
my $district_name_ar = $obj->district_name;
my $element_ruian = $obj->element_ruian;
my $house_number = $obj->house_number;
my $house_number_type = $obj->house_number_type;
my $id = $obj->id;
my $momc = $obj->momc;
my $momc_name_ar = $obj->momc_name;
my $mop = $obj->mop;
my $mop_name_ar = $obj->mop_name;
my $municipality = $obj->municipality;
my $municipality_name_ar = $obj->municipality_name;
my $municipality_part = $obj->municipality_part;
my $municipality_part_name_ar = $obj->municipality_part_name;
my $psc = $obj->psc;
my $street = $obj->street;
my $street_name_ar = $obj->street_name;
my $text_ar = $obj->text;
my $vusc = $obj->vusc;
my $vusc_name_ar = $obj->vusc_name;
DESCRIPTION
Immutable data object for OFN (Otevřené formální normy) representation
of address in the Czech Republic.
This object is actual with 2020-07-01
version of OFN address standard.
METHODS
"new"
my $obj = Data::OFN::Address->new(%params);
Constructor.
* "address_place"
Address place IRI.
IRI has format
https://linked.cuzk.cz/resource/ruian/adresni-misto/ and unique
number on the end.
It's optional.
* "address_place_code"
Address place numeric code.
Same number as on the "address_place" end.
It's optional.
* "cadastral_area"
Address cadastral area IRI.
IRI has format
https://linked.cuzk.cz/resource/ruian/katastralni-uzemi/ and
unique number on the end.
It's optional.
Default value is undef.
* "cadastral_area_name"
Address cadastral area name(s).
This name is in form of reference to array of Data::Text::Simple
instances with language definition.
It's optional.
Default value is [].
* "conscription_number"
Address consciption number.
It's optional.
Default value is undef.
* "conscription_number_flag"
Address conscription number type.
It's possible to set in case if "conscription_number" is set.
It's something like "a" if this is defined in real number.
It's optional.
Default value is undef.
* "district"
Address district IRI.
IRI has format https://linked.cuzk.cz/resource/ruian/okres/ and
unique number on the end.
It's optional.
Default value is undef.
* "district_name"
Address district name(s).
This name is in form of reference to array of Data::Text::Simple
instances with language definition.
It's optional.
Default value is [].
* "element_ruian"
Address element IRI from the RÚIAN register.
IRI has format https://linked.cuzk.cz/resource/ruian/parcela/
and unique number on the end.
It's optional.
Default value is undef.
* "house_number"
Address house number.
It's optional.
Default value is undef.
* "house_number_type"
Address house number type.
Possible term values are:
* č.p.
The building object descriptive number.
* č.ev.
The building registration number.
It's optional.
Default value is undef.
* "id"
Address id.
This is not official identifier of address in the Czech
Republic. It's used for internal identification like database.
It's optional.
Default value is undef.
* "momc"
Address city district IRI.
IRI has format https://linked.cuzk.cz/resource/ruian/momc/ and
unique number on the end.
It's optional.
Default value is undef.
* "momc_name"
Address city district name(s).
This name is in form of reference to array of Data::Text::Simple
instances with language definition.
It's optional.
Default value is [].
* "mop"
Municipal district in the capital city of Prague IRI.
IRI has format https://linked.cuzk.cz/resource/ruian/mop/ and
unique number on the end.
It's optional.
Default value is undef.
* "mop_name"
Municipal district in the capital city of Prague name(s).
This name is in form of reference to array of Data::Text::Simple
instances with language definition.
It's optional.
Default value is [].
* "municipality"
Municipality or military district IRI.
IRI has format https://linked.cuzk.cz/resource/ruian/obec/ and
unique number on the end.
It's optional.
Default value is undef.
* "municipality_name"
Municipality or military district name(s).
This name is in form of reference to array of Data::Text::Simple
instances with language definition.
It's optional.
Default value is [].
* "municipality_part"
Part of the village IRI.
IRI has format https://linked.cuzk.cz/resource/ruian/cast-obce/
and unique number on the end.
It's optional.
Default value is undef.
* "municipality_part_name"
Part of the village name(s).
This name is in form of reference to array of Data::Text::Simple
instances with language definition.
It's optional.
Default value is [].
* "psc"
Zip code.
The form is 5 character length number.
It's optional.
Default value is undef.
* "street"
Street IRI.
IRI has format https://linked.cuzk.cz/resource/ruian/ulice/ and
unique number on the end.
It's optional.
Default value is undef.
* "street_name"
Street name.
This name is in form of reference to array of Data::Text::Simple
instances with language definition.
It's optional.
Default value is [].
* "text"
Address text.
This name is in form of reference to array of Data::Text::Simple
instances with language definition.
It's optional.
Default value is [].
* "vusc"
Higher territorial self-governing unit IRI.
IRI has format https://linked.cuzk.cz/resource/ruian/vusc/ and
unique number on the end.
It's optional.
Default value is undef.
* "vusc_name"
Higher territorial self-governing unit name(s).
This name is in form of reference to array of Data::Text::Simple
instances with language definition.
It's optional.
Default value is [].
Returns instance of object.
"address_place"
my $address_place = $obj->address_place;
Get address place IRI.
Returns string with IRI.
"address_place_code"
my $address_place_code = $obj->address_place_code;
Get address place numeric code.
Returns number.
"cadastral_area"
my $cadastral_area = $obj->cadastral_area;
Get address cadastral area IRI.
Returns string with IRI.
"cadastral_area_name"
my $cadastral_area_name_ar = $obj->cadastral_area_name;
Get address cadastral area name(s).
Returns reference to array with Data::Text::Simple instances.
"conscription_number"
my $conscription_number = $obj->conscription_number;
Get address consciption number.
Returns number.
"conscription_number_flag"
my $conscription_number_flag = $obj->conscription_number_flag;
Get address conscription number type.
Returns string.
"district"
my $district = $obj->district;
Get address district IRI.
Returns string with IRI.
"district_name"
my $district_name_ar = $obj->district_name;
Get address district name(s).
Returns reference to array with Data::Text::Simple instances.
"element_ruian"
my $element_ruian = $obj->element_ruian;
Get address element IRI from the RÚIAN register.
Returns string with IRI.
"house_number"
my $house_number = $obj->house_number;
Get address house number.
Returns string.
"house_number_type"
my $house_number_type = $obj->house_number_type;
Get address house number type.
Returns string.
"id"
my $id = $obj->id;
Get OFN address id.
Returns number.
"momc"
my $momc = $obj->momc;
Get address city district IRI.
Returns string with IRI.
"momc_name"
my $momc_name_ar = $obj->momc_name;
Get address city district name(s).
Returns reference to array with Data::Text::Simple instances.
"mop"
my $mop = $obj->mop;
Get municipal district in the capital city of Prague IRI.
Returns string with IRI.
"mop_name"
my $mop_name_ar = $obj->mop_name;
Get municipal district in the capital city of Prague name(s).
Returns reference to array with Data::Text::Simple instances.
"municipality"
my $municipality = $obj->municipality;
Get municipality or military district IRI.
Returns string with IRI.
"municipality_name"
my $municipality_name_ar = $obj->municipality_name;
Get municipality or military district name(s).
Returns reference to array with Data::Text::Simple instances.
"municipality_part"
my $municipality_part = $obj->municipality_part;
Get part of the village IRI.
Returns string with IRI.
"municipality_part_name"
my $municipality_part_name_ar = $obj->municipality_part_name;
Get part of the village name(s).
Returns reference to array with Data::Text::Simple instances.
"psc"
my $psc = $obj->psc;
Get zip code.
Returns number.
"street"
my $street = $obj->street;
Get street IRI.
Returns string with IRI.
"street_name"
my $street_name_ar = $obj->street_name;
Get street name.
Returns reference to array with Data::Text::Simple instances.
"text"
my $text_ar = $obj->text;
Get address text.
Returns reference to array with Data::Text::Simple instances.
"vusc"
my $vusc = $obj->vusc;
Get higher territorial self-governing unit IRI.
Returns string with IRI.
"vusc_name"
my $vusc_name_ar = $obj->vusc_name;
Get higher territorial self-governing unit name(s).
Returns reference to array with Data::Text::Simple instances.
ERRORS
new():
From Mo::utils::check_array_object():
Cadastral area name isn't 'Data::Text::Simple' object.
Value: %s
Reference: %s
District name isn't 'Data::Text::Simple' object.
Value: %s
Reference: %s
MOMC name isn't 'Data::Text::Simple' object.
Value: %s
Reference: %s
MOP name isn't 'Data::Text::Simple' object.
Value: %s
Reference: %s
Municipality name isn't 'Data::Text::Simple' object.
Value: %s
Reference: %s
Municipality part name isn't 'Data::Text::Simple' object.
Value: %s
Reference: %s
Street name isn't 'Data::Text::Simple' object.
Value: %s
Reference: %s
Text isn't 'Data::Text::Simple' object.
Value: %s
Reference: %s
VUSC name isn't 'Data::Text::Simple' object.
Value: %s
Reference: %s
Parameter 'cadastral_area_name' must be a array.
Value: %s
Reference: %s
Parameter 'district_name' must be a array.
Value: %s
Reference: %s
Parameter 'momc_name' must be a array.
Value: %s
Reference: %s
Parameter 'mop_name' must be a array.
Value: %s
Reference: %s
Parameter 'municipality_name' must be a array.
Value: %s
Reference: %s
Parameter 'municipality_part_name' must be a array.
Value: %s
Reference: %s
Parameter 'street_name' must be a array.
Value: %s
Reference: %s
Parameter 'text' must be a array.
Value: %s
Reference: %s
Parameter 'vusc_name' must be a array.
Value: %s
Reference: %s
From Mo::utils::check_length_fix():
Parameter 'psc' has length different than '%s'.
Value: %s
From Mo::utils::check_regexp():
Parameter 'address_place' does not match the specified regular expression.
String: %s
Regexp: (?^:^https://linked\.cuzk\.cz/resource/ruian/adresni-misto/\d+$)
Parameter 'cadastral_area' does not match the specified regular expression.
String: %s
Regexp: (?^:^https://linked\.cuzk\.cz/resource/ruian/katastralni-uzemi/\d+$)
Parameter 'district' does not match the specified regular expression.
String: %s
Regexp: (?^:^https://linked\.cuzk\.cz/resource/ruian/okres/\d+)
Parameter 'element_ruian' does not match the specified regular expression.
String: %s
Regexp: (?^:^https://linked\.cuzk\.cz/resource/ruian/parcela/\d+$)
Parameter 'momc' does not match the specified regular expression.
String: %s
Regexp: (?^:^https://linked\.cuzk\.cz/resource/ruian/momc/\d+$)
Parameter 'mop' does not match the specified regular expression.
String: %s
Regexp: (?^:^https://linked\.cuzk\.cz/resource/ruian/mop/\d+$)
Parameter 'municipality' does not match the specified regular expression.
String: %s
Regexp: (?^:^https://linked\.cuzk\.cz/resource/ruian/obec/\d+$)
Parameter 'municipality_part' does not match the specified regular expression.
String: %s
Regexp: (?^:^https://linked\.cuzk\.cz/resource/ruian/cast-obce/\d+$)
Parameter 'psc' does not match the specified regular expression.
String: %s
Regexp: ^\d+$
Parameter 'street' does not match the specified regular expression.
String: %s
Regexp: (?^:^https://linked\.cuzk\.cz/resource/ruian/ulice/\d+$)
Parameter 'vusc' does not match the specified regular expression.
String: %s
Regexp: (?^:^https://linked\.cuzk\.cz/resource/ruian/vusc/\d+$)
From Mo::utils::check_strings():
Parameter 'house_number_type' must be one of defined strings.
String: %s
Possible strings: 'č.p.', 'č.ev.'
From Mo::utils::Number::check_positive_natural():
Parameter 'address_place_code' must be a positive natural number.
Value: %s
Parameter 'conscription_number' must be a positive natural number.
Value: %s
Parameter 'house_number' must be a positive natural number.
Value: %s
Parameter 'id' must be a positive natural number.
Value: %s
EXAMPLE
use strict;
use warnings;
use Data::OFN::Address;
use Data::Text::Simple;
use Unicode::UTF8 qw(decode_utf8 encode_utf8);
my $obj = Data::OFN::Address->new(
'address_place' => 'https://linked.cuzk.cz/resource/ruian/adresni-misto/83163832',
'address_place_code' => 83163832,
'cadastral_area' => 'https://linked.cuzk.cz/resource/ruian/katastralni-uzemi/635448',
'cadastral_area_name' => [
Data::Text::Simple->new(
'lang' => 'cs',
'text' => 'Fulnek',
),
],
'conscription_number' => 123,
'conscription_number_flag' => 'a',
'district' => 'https://linked.cuzk.cz/resource/ruian/okres/3804',
'district_name' => [
Data::Text::Simple->new(
'lang' => 'cs',
'text' => decode_utf8('Nový Jičín'),
),
],
'element_ruian' => 'https://linked.cuzk.cz/resource/ruian/parcela/91188411010',
'house_number' => 386,
'house_number_type' => decode_utf8('č.p.'),
'id' => 7,
'municipality' => 'https://linked.cuzk.cz/resource/ruian/obec/599352',
'municipality_name' => [
Data::Text::Simple->new(
'lang' => 'cs',
'text' => 'Fulnek',
),
],
'municipality_part' => 'https://linked.cuzk.cz/resource/ruian/cast-obce/413551',
'municipality_part_name' => [
Data::Text::Simple->new(
'lang' => 'cs',
'text' => 'Fulnek',
),
],
'psc' => 74245,
'street' => 'https://linked.cuzk.cz/resource/ruian/ulice/309184',
'street_name' => [
Data::Text::Simple->new(
'lang' => 'cs',
'text' => decode_utf8('Bílovecká'),
),
],
'text' => [
Data::Text::Simple->new(
'lang' => 'cs',
'text' => decode_utf8('Bílovecká 386, 74245 Fulnek'),
),
],
'vusc' => 'https://linked.cuzk.cz/resource/ruian/vusc/132',
'vusc_name' => [
Data::Text::Simple->new(
'lang' => 'cs',
'text' => decode_utf8('Moravskoslezský kraj'),
),
],
);
sub _text {
my $obj = shift;
return encode_utf8($obj->text.' ('.$obj->lang.')');
}
# Print out.
print 'Address place: '.$obj->address_place."\n";
print 'Address place code: '.$obj->address_place_code."\n";
print 'Cadastral area: '.$obj->cadastral_area."\n";
print 'Cadastral area name: '._text($obj->cadastral_area_name->[0])."\n";
print 'Conscription number: '.$obj->conscription_number."\n";
print 'Conscription number flag: '.$obj->conscription_number_flag."\n";
print 'District: '.$obj->district."\n";
print 'District name: '._text($obj->district_name->[0])."\n";
print 'Element RUIAN: '.$obj->element_ruian."\n";
print 'House number: '.$obj->house_number."\n";
print 'House number type: '.encode_utf8($obj->house_number_type)."\n";
print 'Id: '.$obj->id."\n";
print 'Municipality: '.$obj->municipality."\n";
print 'Municipality name: '._text($obj->municipality_name->[0])."\n";
print 'Municipality part: '.$obj->municipality_part."\n";
print 'Municipality part name: '._text($obj->municipality_part_name->[0])."\n";
print 'PSC: '.$obj->psc."\n";
print 'Street: '.$obj->street."\n";
print 'Street name: '._text($obj->street_name->[0])."\n";
print 'Text: '._text($obj->text->[0])."\n";
print 'VUSC: '.$obj->vusc."\n";
print 'VUSC name: '._text($obj->vusc_name->[0])."\n";
# Output:
# Address place: https://linked.cuzk.cz/resource/ruian/adresni-misto/83163832
# Address place code: 83163832
# Cadastral area: https://linked.cuzk.cz/resource/ruian/katastralni-uzemi/635448
# Cadastral area name: Fulnek (cs)
# Conscription number: 123
# Conscription number flag: a
# District: https://linked.cuzk.cz/resource/ruian/okres/3804
# District name: Nový Jičín (cs)
# Element RUIAN: https://linked.cuzk.cz/resource/ruian/parcela/91188411010
# House number: 386
# House number type: č.p.
# Id: 7
# Municipality: https://linked.cuzk.cz/resource/ruian/obec/599352
# Municipality name: Fulnek (cs)
# Municipality part: https://linked.cuzk.cz/resource/ruian/cast-obce/413551
# Municipality part name: Fulnek (cs)
# PSC: 74245
# Street: https://linked.cuzk.cz/resource/ruian/ulice/309184
# Street name: Bílovecká (cs)
# Text: Bílovecká 386, 74245 Fulnek (cs)
# VUSC: https://linked.cuzk.cz/resource/ruian/vusc/132
# VUSC name: Moravskoslezský kraj (cs)
DEPENDENCIES
Error::Pure Mo, Mo::utils, Readonly, Unicode::UTF8.
REPOSITORY
AUTHOR
Michal Josef Špaček
LICENSE AND COPYRIGHT
© 2023-2025 Michal Josef Špaček
BSD 2-Clause License
VERSION
0.01