MULTI-COUNTRY ADDRESS DATABASE DESIGN
http://danielcoding.net/multi-country-address-database-design/
https://stackoverflow.com/questions/929684/is-there-common-street-addresses-database-design-for-all-addresses-of-the-world
http://www.upu.int/uploads/tx_sbdownloader/productSheetPostcodesDatabaseEn.pdf
http://www.upu.int/en/resources/postcodes/universal-postcoder-database.html
Google Place Detail API reveal some useful about its data structure design, and sure it very cool.
https://maps.googleapis.com/maps/api/place/details/json?placeid=ChIJGzHG3iMT5TQRgQ6MsXnL7xQ&key=GG_KEY_HERE&language=ja
"result" : {
"address_components" : [
{
"long_name" : "8",
"short_name" : "8",
"types" : [ "premise" ]
},
{
"long_name" : "6",
"short_name" : "6",
"types" : [ "sublocality_level_4", "sublocality", "political" ]
},
{
"long_name" : "1丁目",
"short_name" : "1丁目",
"types" : [ "sublocality_level_3", "sublocality", "political" ]
},
{
"long_name" : "北前",
"short_name" : "北前",
"types" : [ "sublocality_level_2", "sublocality", "political" ]
},
{
"long_name" : "北谷町",
"short_name" : "北谷町",
"types" : [ "sublocality_level_1", "sublocality", "political" ]
},
{
"long_name" : "北谷町",
"short_name" : "北谷町",
"types" : [ "locality", "political" ]
},
{
"long_name" : "中頭郡",
"short_name" : "中頭郡",
"types" : [ "administrative_area_level_2", "political" ]
},
{
"long_name" : "沖縄県",
"short_name" : "沖縄県",
"types" : [ "administrative_area_level_1", "political" ]
},
{
"long_name" : "日本",
"short_name" : "JP",
"types" : [ "country", "political" ]
},
{
"long_name" : "904-0117",
"short_name" : "904-0117",
"types" : [ "postal_code" ]
}
],
...
https://maps.googleapis.com/maps/api/place/details/json?placeid=ChIJfR8jHkRZwokRgllkzTBqhlM&key=GG_KEY_HERE&language=ja
"result" : {
"address_components" : [
{
"long_name" : "727",
"short_name" : "727",
"types" : [ "street_number" ]
},
{
"long_name" : "Manhattan Avenue",
"short_name" : "Manhattan Ave",
"types" : [ "route" ]
},
{
"long_name" : "Greenpoint",
"short_name" : "Greenpoint",
"types" : [ "neighborhood", "political" ]
},
{
"long_name" : "Brooklyn",
"short_name" : "Brooklyn",
"types" : [ "sublocality_level_1", "sublocality", "political" ]
},
{
"long_name" : "Kings County",
"short_name" : "Kings County",
"types" : [ "administrative_area_level_2", "political" ]
},
{
"long_name" : "New York",
"short_name" : "NY",
"types" : [ "administrative_area_level_1", "political" ]
},
{
"long_name" : "アメリカ合衆国",
"short_name" : "US",
"types" : [ "country", "political" ]
},
{
"long_name" : "11222",
"short_name" : "11222",
"types" : [ "postal_code" ]
}
],
...
address_components data contain a list of address properties, each have same structure:
{
long_name: => string
short_name: => string
types: [] => array/list
}
This is a clever design.
And one of another params is "lang=ja", so long_name property have been translated to language:
ie. US => "アメリカ合衆国"
Digging in to this lib for finding out how J2ME port to Android. I think It is simple because of both use Java but not sure about this. I have tried (at least have an idea) on using LibGDX to build a wrapper around J2ME and It seem not difficult. The most challenge path is the EXCEPTIONS, it's everywhere. For example, a J2ME game using binary image/photo (binary concat like css sheet) for memory saving... It is may not a special way of working but with me it is not familiar and when port to LibGDX/Android I have to handle it.
https://github.com/nikita36078/J2ME-Loader/blob/master/app/src/main/java/org/microemu/microedition/ImplFactory.java
Oh England as Province (yeah it have Scotland, Wales ... in GB or UK?)
GB | イギリス | SE1 9AF | | NULL | England | Greater London
This post mentioned about country_code used in ID (key),
https://stackoverflow.com/questions/3455297/mysql-using-string-as-primary-key
I am confused on choose use it or not, for example:
area_id = GB001 mean Great Britain London...
JP47 mean okinawa pref.
MySQL JSON real use case
https://medium.com/aubergine-solutions/working-with-mysql-json-data-type-with-prepared-statements-using-it-in-go-and-resolving-the-15ef14974c48
http://danielcoding.net/multi-country-address-database-design/
https://stackoverflow.com/questions/929684/is-there-common-street-addresses-database-design-for-all-addresses-of-the-world
http://www.upu.int/uploads/tx_sbdownloader/productSheetPostcodesDatabaseEn.pdf
http://www.upu.int/en/resources/postcodes/universal-postcoder-database.html
Google Place Detail API reveal some useful about its data structure design, and sure it very cool.
https://maps.googleapis.com/maps/api/place/details/json?placeid=ChIJGzHG3iMT5TQRgQ6MsXnL7xQ&key=GG_KEY_HERE&language=ja
"result" : {
"address_components" : [
{
"long_name" : "8",
"short_name" : "8",
"types" : [ "premise" ]
},
{
"long_name" : "6",
"short_name" : "6",
"types" : [ "sublocality_level_4", "sublocality", "political" ]
},
{
"long_name" : "1丁目",
"short_name" : "1丁目",
"types" : [ "sublocality_level_3", "sublocality", "political" ]
},
{
"long_name" : "北前",
"short_name" : "北前",
"types" : [ "sublocality_level_2", "sublocality", "political" ]
},
{
"long_name" : "北谷町",
"short_name" : "北谷町",
"types" : [ "sublocality_level_1", "sublocality", "political" ]
},
{
"long_name" : "北谷町",
"short_name" : "北谷町",
"types" : [ "locality", "political" ]
},
{
"long_name" : "中頭郡",
"short_name" : "中頭郡",
"types" : [ "administrative_area_level_2", "political" ]
},
{
"long_name" : "沖縄県",
"short_name" : "沖縄県",
"types" : [ "administrative_area_level_1", "political" ]
},
{
"long_name" : "日本",
"short_name" : "JP",
"types" : [ "country", "political" ]
},
{
"long_name" : "904-0117",
"short_name" : "904-0117",
"types" : [ "postal_code" ]
}
],
...
https://maps.googleapis.com/maps/api/place/details/json?placeid=ChIJfR8jHkRZwokRgllkzTBqhlM&key=GG_KEY_HERE&language=ja
"result" : {
"address_components" : [
{
"long_name" : "727",
"short_name" : "727",
"types" : [ "street_number" ]
},
{
"long_name" : "Manhattan Avenue",
"short_name" : "Manhattan Ave",
"types" : [ "route" ]
},
{
"long_name" : "Greenpoint",
"short_name" : "Greenpoint",
"types" : [ "neighborhood", "political" ]
},
{
"long_name" : "Brooklyn",
"short_name" : "Brooklyn",
"types" : [ "sublocality_level_1", "sublocality", "political" ]
},
{
"long_name" : "Kings County",
"short_name" : "Kings County",
"types" : [ "administrative_area_level_2", "political" ]
},
{
"long_name" : "New York",
"short_name" : "NY",
"types" : [ "administrative_area_level_1", "political" ]
},
{
"long_name" : "アメリカ合衆国",
"short_name" : "US",
"types" : [ "country", "political" ]
},
{
"long_name" : "11222",
"short_name" : "11222",
"types" : [ "postal_code" ]
}
],
...
address_components data contain a list of address properties, each have same structure:
{
long_name: => string
short_name: => string
types: [] => array/list
}
This is a clever design.
And one of another params is "lang=ja", so long_name property have been translated to language:
ie. US => "アメリカ合衆国"
Digging in to this lib for finding out how J2ME port to Android. I think It is simple because of both use Java but not sure about this. I have tried (at least have an idea) on using LibGDX to build a wrapper around J2ME and It seem not difficult. The most challenge path is the EXCEPTIONS, it's everywhere. For example, a J2ME game using binary image/photo (binary concat like css sheet) for memory saving... It is may not a special way of working but with me it is not familiar and when port to LibGDX/Android I have to handle it.
https://github.com/nikita36078/J2ME-Loader/blob/master/app/src/main/java/org/microemu/microedition/ImplFactory.java
Oh England as Province (yeah it have Scotland, Wales ... in GB or UK?)
GB | イギリス | SE1 9AF | | NULL | England | Greater London
This post mentioned about country_code used in ID (key),
https://stackoverflow.com/questions/3455297/mysql-using-string-as-primary-key
I am confused on choose use it or not, for example:
area_id = GB001 mean Great Britain London...
JP47 mean okinawa pref.
MySQL JSON real use case
https://medium.com/aubergine-solutions/working-with-mysql-json-data-type-with-prepared-statements-using-it-in-go-and-resolving-the-15ef14974c48
Comments
Post a Comment