O documento discute fontes de dados geográficos como GeoBytes, GeoNames e Address Doctor. O GeoNames é recomendado por fornecer dados gratuitos e de código aberto, incluindo nomes de lugares, latitude, longitude e hierarquias administrativas para países, regiões e cidades. O documento também fornece exemplos de como modelar os dados do GeoNames em um banco de dados.
3. FIPS FIPS X X X
GDP GDP N N X
Postal Code Format POSTAL_CODE_FORMAT_DESC N X X
Postal Code Regular
Expression POSTAL_CODE_REGEX N X ?
Languages LANGUAGES N X ?
Neighbours NEIGHBOURS N X ?
Países
Name Code GeoBytes GeoNames
Address Doctor
(INFORMATICA)
ISO2 Country Code ISO2_COUNTRY_CODE X X X
ISO3 Country Code ISO3_COUNTRY_CODE X X X
ISO NUMBER ISO_NUMBER X X ?
Country Name COUNTRY_NAME X X X
Capital Name CAPITAL_NAME X X X
Area(in sq km) AREA_IN_SQ_KM X X N
Population POPULATION_NUMBER X X X
Domínio da Internet TLD_CODE X X ?
Currency Code CURRENCY_CODE X X N
Currency Name CURRENCY_NAME X X N
Phone PHONE_CODE X X X
FIPS FIPS X X X
GDP GDP N N X
Postal Code Format POSTAL_CODE_FORMAT_DESC N X X
Postal Code Regular
Expression POSTAL_CODE_REGEX N X ?
Languages LANGUAGES N X ?
Neighbours NEIGHBOURS N X ?
Regiões Administrativas
Code Name Data Type GeoBytes GeoNames
Address
Doctor
Region
IDENTIFIER Region IDENTIFIER INTEGER X X X
Country
IDENTIFIER Country IDENTIFIER INTEGER X X X
ADMIN1 NAME Admin1 Region NAME Text(255) X X X
ADMIN1 CODE Admin1 Region CODE Text(255) X (*) X X
ADMIN2 NAME Admin2 Region NAME Text(255) X X X
ADMIN2 CODE Admin2 Region CODE Text(255) X X X
ADMIN3 NAME Admin3 Region NAME Text(255) X (**) N ?
ADMIN3 CODE Admin3 Region CODE Text(255) X N ?
ADMIN4 NAME Admin4 Region NAME Text(255) X (**) N ?
ADMIN4 CODE Admin4 Region CODE Text(255) X N ?
(*)
ADMIN2 é apenas o último nível
do país, deixando de fora os
níveis
intermediários
(**)
Por auto relacioinamento
Inclompleto para alguns países
Cidades e Localidades
Code Name GeoBytes GeoNames
Address
Doctor
City IDENTIFIER City IDENTIFIER X X X
Country IDENTIFIER Country IDENTIFIER X X X
Region IDENTIFIER Region IDENTIFIER X X X
City NAME City NAME X X X
4. City ASCII NAME City ASCII NAME N X N
Latitude NUMBER Latitude NUMBER X X X*
Longitude NUMBER Longitude NUMBER X X X*
TimeZone CODE TimeZone CODE X X X
City CODE City CODE X N X
Population NUMBER Population NUMBER N X N
Last Update DATE
TIME
Last Update DATE
TIME N X X
Classe Geográfica Classe Geográfica N X N
Especificação
Geográfica
Especificação
Geográfica N X N
Altitude Média Altitude Média N X ?
Outros Quesitos
Quesito GeoBytes GeoNames
Address Doctor
(INFORMATICA)
Países Multilíngua N S N
Integração Data Quality N N S
Disponibilização de Dados S S N
Retorno de Suporte ND S S (*)
Fórum S S N
(*) O retorno ocorreu mas não
se completou totalmente
Então, baseandose nos comparativos, vamos nos basear nos dados disponibilizados pelo
Geonames,
Name Code Data Type Length Precision Primary
Foreign
Key Mandatory
#
Rows
#
Distinct
%
Unique
#
Nulls % Null Inf Data Type
ISO2 Country Code ISO2_COUNTRY_CODE VARCHAR2(2) 2 TRUE FALSE TRUE 250 250 100 0 0 CHAR(2)
ISO3 Country Code ISO3_COUNTRY_CODE VARCHAR2(3) 3 FALSE FALSE TRUE 250 250 100 0 0 CHAR(3)
ISO NUMBER ISO_NUMBER NUMBER(5) 5 FALSE FALSE TRUE 250 249 99,6 0 0 INTEGER(3,2)
FIPS CODE FIPS_CODE VARCHAR2(15) 15 FALSE FALSE FALSE 250 247 98,8 3 1,2 CHAR(2)
Country Name COUNTRY_NAME VARCHAR2(200) 200 FALSE FALSE TRUE 250 250 100 0 0 VARCHAR(44,4)
Capital Name CAPITAL_NAME VARCHAR2(200) 200 FALSE FALSE FALSE 250 243 97,2 6 2,4 VARCHAR(20,4)
Area(in sq km) AREA_IN_SQ_KM NUMBER(10) 10 FALSE FALSE FALSE 250 240 96 6 2,4 INTEGER(8,4)
Population POPULATION_NUMBER NUMBER(12) 12 FALSE FALSE FALSE 250 247 98,8 0 0 INTEGER(10,4)
Twoletter continet code CONTINENT_CODE CHAR(2) 2 FALSE TRUE FALSE 250 7 2,8 0 0 CHAR(2)
Internet Top Domain Level
CODE TLD_CODE VARCHAR2(15) 15 FALSE FALSE FALSE 250 246 98,4 2 0,8 CHAR(3)
Currency Code CURRENCY_CODE VARCHAR2(3) 3 FALSE FALSE FALSE 250 156 62,4 1 0,4 CHAR(3)
Currency Name CURRENCY_NAME VARCHAR2(30) 30 FALSE FALSE FALSE 250 84 33,6 1 0,4 VARCHAR(13,3)
Phone Code PHONE_CODE VARCHAR2(20) 20 FALSE FALSE FALSE 250 232 92,8 6 2,4 VARCHAR(16,1)
Postal Code Format Description POSTAL_CODE_FORMAT_DESC VARCHAR2(100) 100 FALSE FALSE FALSE 250 47 18,8 102 40,79 VARCHAR(55,3)
Postal Code Regular
Expression POSTAL_CODE_REGEX VARCHAR2(200) 200 FALSE FALSE FALSE 250 46 18,39 104 41,6 VARCHAR(155,9)
Languages LANGUAGES VARCHAR2(100) 100 FALSE FALSE FALSE 250 244 97,6 3 1,2 VARCHAR(89,2)
Supplier IDENTIFIER SUPPLIER_IDENTIFIER NUMBER(12) 12 FALSE FALSE TRUE 250 250 100 0 0 INTEGER(7,4)
Neighbours NEIGHBOURS VARCHAR2(100) 100 FALSE FALSE FALSE 250 158 63,2 86 34,4 VARCHAR(41,2)
Equivalent FIPS Code EQUIVALENT_FIPS_CODE VARCHAR2(15) 15 FALSE FALSE FALSE 250 1 0,4 249 99,6 CHAR(2)
Name Code Data Type Length Precision Primary
Foreign
Key Mandatory
#
Rows
#
Distinct % Unique # Nulls % Null Inf Data Type
ISO2 Country Code ISO2_COUNTRY_CODE VARCHAR2(2) 2 TRUE TRUE TRUE 3821 231 6,04 0 0,00 CHAR(2)
Admin1 Code ADMIN1_CODE VARCHAR2(20) 20 TRUE FALSE TRUE 3821 588 15,38 0 0,00 VARCHAR(7,1)
Admin1 Name ADMIN1_NAME VARCHAR2(200) 200 FALSE FALSE FALSE 3821 3713 97,17 10 0,26 VARCHAR(56,2)
Admin1 ASCII
Name ADMIN1_ASCII_NAME VARCHAR2(200) 200 FALSE FALSE FALSE 3821 3765 98,53 0 0,00 VARCHAR(72,3)
Data Profiling do Geonames
País
Região Administrativa 1 (No caso brasileiro, é a unidade da federação)
5. geonameid CITY_IDENTIFIER NUMBER(12) 12 FALSE FALSE FALSE 3821 3821 100,00 0 0,00 INTEGER(7,4)
Name Code Data Type Length Precision Primary
Foreign
Key Mandatory
#
Rows
#
Distinct % Unique # Nulls % Null Inf Data Type
ISO2 Country Code ISO2_COUNTRY_CODE VARCHAR2(2) 2 TRUE TRUE TRUE 27236 163 0,59 0 0 CHAR(2)
Admin1 Code ADMIN1_CODE VARCHAR2(20) 20 TRUE TRUE TRUE 27236 262 0,96 0 0 VARCHAR(6,1)
Admin2 Code ADMIN2_CODE VARCHAR2(80) 80 TRUE FALSE TRUE 27236 22863 83,94 0 0 VARCHAR(26,1)
Admin2 Original
Name ADMIN2_ORIGINAL_NAME VARCHAR2(200) 200 FALSE FALSE TRUE 27236 25037 91,92 0 0 VARCHAR(50,2)
Admin2 ASCII Name ADMIN2_ASCII_NAME VARCHAR2(200) 200 FALSE FALSE TRUE 27236 25002 91,79 0 0 VARCHAR(50,2)
geonameid CITY_IDENTIFIER NUMBER(12) 12 FALSE FALSE TRUE 27236 27236 100 0 0 INTEGER(7,4)
Name Code Data Type Length Precision Primary
Foreign
Key Mandatory
#
Rows
#
Distinct % Unique # Nulls % Null Inf Data Type
TimeZoneId TIMEZONE_CODE VARCHAR2(40) 40 TRUE FALSE TRUE 410 410 100 0 0 VARCHAR(30,9)
GMT offset GMT_HOUR VARCHAR2(32) 32 FALSE FALSE TRUE 410 39 9,51 0 0 DECIMAL(4,2)
DST offset DST_HOUR VARCHAR2(32) 32 FALSE FALSE FALSE 410 38 9,26 0 0 DECIMAL(4,2)
Name Code Data Type Length Precision Primary Foreign Key Mandatory # Rows # Distinct % Unique # Nulls % Null Inf Data Type
Feature Class Code FEATURE_CLASS_CODE CHAR(1) 1 TRUE TRUE TRUE 656 9 1,37 0 0 CHAR(1)
Feature Type Code FEATURE_TYPE_CODE VARCHAR2(10) 10 TRUE FALSE TRUE 656 656 100 0 0 VARCHAR(5,2)
Feature Type Description FEATURE_TYPE_DESCRIPTION VARCHAR2(1000) 1000 FALSE FALSE TRUE 656 640 97,56 0 0 VARCHAR(46,3)
Name Code Data Type Length Primary Foreign Key Mandatory # Rows # Distinct % Unique # Nulls % Null Inf Data Type
geonameid CITY_IDENTIFIER NUMBER(10) 10 TRUE FALSE TRUE 7831318 7831318 100 0 0 INTEGER(7,4)
City Name CITY_NAME VARCHAR2(200) 200 FALSE FALSE TRUE 7831318 5016881 64,06 0 0 VARCHAR(151,1)
City ASCII Name CITY_ASCII_NAME VARCHAR2(200) 200 FALSE FALSE FALSE 7831318 4982363 63,62 317 0,01 VARCHAR(151,1)
Latitude Number LATITUDE_NUMBER VARCHAR2(20) 20 FALSE FALSE FALSE 7831318 2708367 34,58 0 0 INTEGER(7,4)
Longitude Number LONGITUDE_NUMBER VARCHAR2(20) 20 FALSE FALSE FALSE 7831318 3549403 45,32 0 0 INTEGER(8,4)
Feature Class Code FEATURE_CLASS_CODE CHAR(1) 1 FALSE TRUE FALSE 7831318 9 0,01 5325 0,06 CHAR(1)
Feature Type Code FEATURE_TYPE_CODE VARCHAR2(10) 10 FALSE TRUE FALSE 7831318 636 0,01 90010 1,14 VARCHAR(5,2)
ISO2 Country Code ISO2_COUNTRY_CODE VARCHAR2(2) 2 FALSE TRUE TRUE 7831318 250 0,01 0 0 CHAR(2)
Admin1 Code ADMIN1_CODE VARCHAR2(20) 20 FALSE TRUE FALSE 7831318 624 0,01 42956 0,54 VARCHAR(7,1)
Admin2 Code ADMIN2_CODE VARCHAR2(80) 80 FALSE TRUE FALSE 7831318 23454 0,29 5074639 64,79 VARCHAR(63,1)
Admin3 Code ADMIN3_CODE VARCHAR2(20) 20 FALSE FALSE FALSE 7831318 44422 0,56 7523488 96,06 VARCHAR(10,1)
Admin4 Code ADMIN4_CODE VARCHAR2(20) 20 FALSE FALSE FALSE 7831318 59576 0,76 7686379 98,14 VARCHAR(8,2)
Population Number POPULATION_NUMBER NUMBER(12) 12 FALSE FALSE FALSE 7831318 42249 0,53 0 0 INTEGER(10,4)
Average Elevation Meter MEASURE AVG_ELEV_METER_MEASURE NUMBER(12) 12 FALSE FALSE FALSE 7831318 6293 0,08 0 0 INTEGER(4,2)
TimeZoneId TIMEZONE_CODE VARCHAR2(40) 40 FALSE TRUE FALSE 7831318 409 0,01 4105 0,05 VARCHAR(30,9)
Last Update Date LAST_UPDATE_DATE DATE FALSE FALSE FALSE 7831318 4253 0,05 0 0
DATETIME
YEAR TO DAY
[dd/mm/year]
Name Code Data Type Length Precision Primary Foreign Key Mandatory # Rows # Distinct % Unique # Nulls % Null Inf Data Type
Alternate Name Identifier ALTERNATE_NAME_IDENTIFIER NUMBER(10) 10 TRUE FALSE TRUE 6550024 6550024 100 0 0 INTEGER(7,4)
geonameid CITY_IDENTIFIER NUMBER(10) 10 FALSE TRUE TRUE 6550024 2525442 38,55 0 0 INTEGER(7,4)
ISO Language Code ISO_LANGUAGE_CODE VARCHAR2(100) 100 FALSE FALSE FALSE 6550024 341 0,01 3812866 58,21 VARCHAR(7,2)
Alternate Name ALTERNATE_NAME VARCHAR2(300) 300 FALSE FALSE FALSE 6550024 3553436 54,25 0 0 VARCHAR(193,1)
Is Preferred Name Flag IS_PREFERRED_NAME_FLAG CHAR(1) 1 FALSE FALSE FALSE 6550024 1 0,01 6449952 98,47 INTEGER(1,1)
Is Short Name Flag IS_SHORT_NAME_FLAG CHAR(1) 1 FALSE FALSE FALSE 6550024 1 0,01 6540419 99,85 INTEGER(1,1)
Name Code Data Type Length Precision Primary Foreign Key Mandatory # Rows # Distinct % Unique # Nulls % Null Inf Data Type
ISO 6393 Code ISO_639_3_CODE CHAR(3) 3 TRUE FALSE TRUE 7766 7766 100 0 0 CHAR(3)
ISO 6392 Code ISO_639_2_CODE VARCHAR2(15) 15 FALSE FALSE FALSE 7766 477 6,14 7289 93,85 VARCHAR(11,3)
ISO 6391 Code ISO_639_1_CODE CHAR(2) 2 FALSE FALSE FALSE 7766 185 2,38 7581 97,61 CHAR(2)
Language Name LANGUAGE_NAME VARCHAR2(100) 100 FALSE FALSE FALSE 7766 7766 100 0 0 VARCHAR(58,1)
Região Administrativa 2 (No caso brasileiro, é a cidade/município)
Time Zone
Característica Geográfica
Cidade (Localidade)
Nome Alternativo
Idioma
6. Página inicial
Assinar: Postagens (Atom)
Postado por Gilberto Rodrigues às 22:29 2 comentários:
Name Code Data Type Length Precision Primary Foreign Key Mandatory # Rows # Distinct % Unique # Nulls % Null Inf Data Type
Parent geonameid PARENT_GEONAMEID NUMBER(10) 10 TRUE TRUE TRUE 239957 39238 16,35 0 0 INTEGER(7,4)
Child geonameid CHILD_GEONAMEID NUMBER(10) 10 TRUE TRUE TRUE 239957 236996 98,76 0 0 INTEGER(7,4)
Hierarchy Type HIERARCHY_TYPE VARCHAR2(40) 40 FALSE FALSE TRUE 239957 17 0,01 111793 46,58 VARCHAR(23,3)
Baseados nas estruturas de dados acima, chegamos então ao seguinte modelo lógico:
Espero que este artigo tenha lhe sido útil. Abraço e boa sorte!
Gilberto Rodrigues dos Santos
Contatos
Email: giba.rodrigues@gmail.com
Fone (21) 98211 0505
Linkedin: br.linkedin.com/in/gilbertorodriguesadmdados
Hierarquia da Localidade
Modelo de Dados
+1 Recomende isto no Google