Base de données GeoNames : Différence entre versions
| (15 révisions intermédiaires par 3 utilisateurs non affichées) | |||
| Ligne 1 : | Ligne 1 : | ||
| − | |||
| − | |||
Cette librairie propose un accès à la base de donnés [http://www.geonames.org/ Geonames] | Cette librairie propose un accès à la base de donnés [http://www.geonames.org/ Geonames] | ||
| − | {{Fonctionnalité|path=GeoNames|addon=[[LibGeoNames]]|version=0.0. | + | |
| + | {{Fonctionnalité|path=GeoNames|addon=[[LibGeoNames]]|version=0.0.3}} | ||
== getPostalCodeOrmSet == | == getPostalCodeOrmSet == | ||
| + | |||
| + | |||
| + | {{Warning|Cette méthode nécessite la librairie [[Object-Relational Mapping|LibOrm]]}} | ||
Table des codes postaux et villes. Par défaut cette table ne contient que les villes française | Table des codes postaux et villes. Par défaut cette table ne contient que les villes française | ||
| Ligne 13 : | Ligne 15 : | ||
la méthode retourne un objet <code>geon_postalcodeSet</code> hérité de <code>ORM_MySqlSet</code> | la méthode retourne un objet <code>geon_postalcodeSet</code> hérité de <code>ORM_MySqlSet</code> | ||
| + | |||
| + | {|class="prettytable sortable" | ||
| + | |- | ||
| + | || '''Nom''' || '''Description''' | ||
| + | |- | ||
| + | || countrycode || iso country code, 2 characters | ||
| + | |- | ||
| + | || postalcode || varchar(10) | ||
| + | |- | ||
| + | || placename || varchar(180) | ||
| + | |- | ||
| + | || adminname1 || 1. order subdivision (state) varchar(100) | ||
| + | |- | ||
| + | || admincode1 || 1. order subdivision (state) varchar(20) | ||
| + | |- | ||
| + | || adminname2 || 2. order subdivision (county/province) varchar(100) | ||
| + | |- | ||
| + | || admincode2 || 2. order subdivision (county/province) varchar(20) | ||
| + | |- | ||
| + | || adminname3 || 3. order subdivision (community) varchar(100) | ||
| + | |- | ||
| + | || latitude || estimated latitude (wgs84) | ||
| + | |- | ||
| + | || longitude || estimated longitude (wgs84) | ||
| + | |- | ||
| + | || accuracy || accuracy of lat/lng from 1=estimated to 6=centroid | ||
| + | |- | ||
| + | |} | ||
== getTimeZoneOrmSet == | == getTimeZoneOrmSet == | ||
| + | |||
| + | |||
| + | {{Warning|Cette méthode nécessite la librairie [[Object-Relational Mapping|LibOrm]]}} | ||
Table des timezones | Table des timezones | ||
| Ligne 20 : | Ligne 53 : | ||
la méthode retourne un objet <code>geon_timezoneSet</code> hérité de <code>ORM_MySqlSet</code> | la méthode retourne un objet <code>geon_timezoneSet</code> hérité de <code>ORM_MySqlSet</code> | ||
| + | |||
| + | |||
| + | {|class="prettytable sortable" | ||
| + | |- | ||
| + | || '''Nom''' || '''Description''' | ||
| + | |- | ||
| + | || timezone || Identifiant en anglais | ||
| + | |- | ||
| + | || gmt || Décalage GMT au 1<sup>er</sup> Janvier 2009 | ||
| + | |- | ||
| + | || dst || Décalage pour le changement d'heure au 1<sup>er</sup> juillet 2009 | ||
| + | |- | ||
| + | |} | ||
== getCountryOrmSet == | == getCountryOrmSet == | ||
| + | |||
| + | |||
| + | {{Warning|Cette méthode nécessite la librairie [[Object-Relational Mapping|LibOrm]]}} | ||
Table des pays | Table des pays | ||
la méthode retourne un objet <code>geon_countrySet</code> hérité de <code>ORM_MySqlSet</code> | la méthode retourne un objet <code>geon_countrySet</code> hérité de <code>ORM_MySqlSet</code> | ||
| + | |||
| + | {|class="prettytable sortable" | ||
| + | |- | ||
| + | || '''Nom''' || '''Description''' | ||
| + | |- | ||
| + | || iso || Code ISO-3166-1 sur 2 caractères | ||
| + | |- | ||
| + | || iso3 || Code ISO-3166-1 sur 3 caractères | ||
| + | |- | ||
| + | || isonumeric || Code ISO numérique | ||
| + | |- | ||
| + | || fips || [http://fr.wikipedia.org/wiki/FIPS_10-4 Federal Information Processing Standard] | ||
| + | |- | ||
| + | || country_en || Nom du pays en anglais | ||
| + | |- | ||
| + | || country_fr || Nom du pays en français | ||
| + | |- | ||
| + | || capital || Nom de la capitale | ||
| + | |- | ||
| + | || area || Surface en Km² | ||
| + | |- | ||
| + | || population || nomre d'habitants | ||
| + | |- | ||
| + | || continent || Identifiant du continent | ||
| + | |- | ||
| + | || tld || Extention du pays pour les sites internet | ||
| + | |- | ||
| + | || currencycode || Code ISO de la devise | ||
| + | |- | ||
| + | || currencyname || Nom de la devise | ||
| + | |- | ||
| + | || phone || Préfixe téléphonique | ||
| + | |- | ||
| + | || postalcodeformat || Format du code postal | ||
| + | |- | ||
| + | || postalcoderegex || expression régulière | ||
| + | |- | ||
| + | || languages || Code ISO du language, plusieurs séparés par des virgules | ||
| + | |- | ||
| + | || geonameid || Identifiant de la table principale de geoname (la table n'est pas disponible dans le module pour le moment) | ||
| + | |- | ||
| + | || neighbours || Codes ISO-3166 des pays voisins séparés par des virgules | ||
| + | |- | ||
| + | || equivalentfipscode || [http://fr.wikipedia.org/wiki/FIPS_10-4] séparés par des virgules | ||
| + | |- | ||
| + | |} | ||
| + | |||
| + | |||
| + | |||
| + | === exemple ORM === | ||
| + | |||
| + | Trouver les pays de l'europe ordonnés par population du plus peuplé au moins peuplé : | ||
| + | |||
| + | <source lang="php"> | ||
| + | |||
| + | $countryset = $G->getCountryOrmSet(); | ||
| + | $countries = $countryset->select($countryset->continent->is('EU'))->orderDesc($countryset->population); | ||
| + | |||
| + | $trace = ''; | ||
| + | foreach($countries as $country) { | ||
| + | $trace .= $country->iso." \t ".$country->country."\n"; | ||
| + | } | ||
| + | |||
| + | bab_debug($trace); | ||
| + | |||
| + | </source> | ||
| + | |||
| + | |||
| + | == getCountryNameFromIso($code) == | ||
| + | |||
| + | Pour obtenir le nom d'un pays a partir du code ISO | ||
| + | |||
| + | Le code ISO passé en paramètre peut être sur 2 ou 3 caractères. Le nom du pays retourné est en français si l'utilisateur est paramétré en français ou sinon en anglais. | ||
| + | |||
| + | == getCountryFromName($name) == | ||
| + | |||
| + | Le nom du pays passé en paramètre doit être en français si l'utilisateur est paramétré en français ou sinon, en anglais. La méthode retourne un objet <code>geon_CountryRecord</code> ou false si il n'y a pas de résultat. | ||
| + | |||
| + | {{Information|L'objet <code>geon_CountryRecord</code> contient une méthode getName() qui retourne le nom du pays dans la langue de l'utilisateur}} | ||
| + | |||
| + | == searchCountryFromName($name) == | ||
| + | |||
| + | Le nom du pays passé en paramètre doit être en français si l'utilisateur est paramétré en français ou sinon, en anglais. La méthode retourne un objet <code>geon_CountryIterator</code> qui a chaque itération retourne un objet <code>geon_CountryRecord</code>. | ||
| + | |||
| + | |||
| + | {{Information|L'objet <code>geon_CountryRecord</code> contient une méthode getName() qui retourne le nom du pays dans la langue de l'utilisateur}} | ||
| + | |||
| + | |||
| + | == searchPlaceFromPostalCode($code, $country = null) == | ||
| + | |||
| + | Rechercher un lieu en fonction du code postal, la recherche s'effectue en testant si un code postal commence par la variable <code>$code</code>. La méthode retourne un objet <code>geon_PostalCodeIterator</code> qui a chaque iteration retourne un objet <code>geon_PostalCodeRecord</code> | ||
| + | |||
| + | |||
| + | == searchPlaceFromName($name, $country = null) == | ||
| + | |||
| + | Rechercher un lieu en fonction du nom du lieu, la recherche s'effectue en testant si un nom contient la variable <code>$name</code>. La méthode retourne un objet <code>geon_PostalCodeIterator</code> qui a chaque iteration retourne un objet <code>geon_PostalCodeRecord</code> | ||
Version actuelle en date du 9 juin 2009 à 08:40
Cette librairie propose un accès à la base de donnés Geonames
|
Sommaire
getDescription
Méthode commune à toutes les librairies pour obtenir la description de l'objet partagé.
$instance = bab_functionality::get('GeoNames');
$description = $instance->getDescription();
getPostalCodeOrmSet
| |
Cette méthode nécessite la librairie LibOrm |
Table des codes postaux et villes. Par défaut cette table ne contient que les villes française
la méthode retourne un objet geon_postalcodeSet hérité de ORM_MySqlSet
| Nom | Description |
| countrycode | iso country code, 2 characters |
| postalcode | varchar(10) |
| placename | varchar(180) |
| adminname1 | 1. order subdivision (state) varchar(100) |
| admincode1 | 1. order subdivision (state) varchar(20) |
| adminname2 | 2. order subdivision (county/province) varchar(100) |
| admincode2 | 2. order subdivision (county/province) varchar(20) |
| adminname3 | 3. order subdivision (community) varchar(100) |
| latitude | estimated latitude (wgs84) |
| longitude | estimated longitude (wgs84) |
| accuracy | accuracy of lat/lng from 1=estimated to 6=centroid |
getTimeZoneOrmSet
| |
Cette méthode nécessite la librairie LibOrm |
Table des timezones
la méthode retourne un objet geon_timezoneSet hérité de ORM_MySqlSet
| Nom | Description |
| timezone | Identifiant en anglais |
| gmt | Décalage GMT au 1er Janvier 2009 |
| dst | Décalage pour le changement d'heure au 1er juillet 2009 |
getCountryOrmSet
| |
Cette méthode nécessite la librairie LibOrm |
Table des pays
la méthode retourne un objet geon_countrySet hérité de ORM_MySqlSet
| Nom | Description |
| iso | Code ISO-3166-1 sur 2 caractères |
| iso3 | Code ISO-3166-1 sur 3 caractères |
| isonumeric | Code ISO numérique |
| fips | Federal Information Processing Standard |
| country_en | Nom du pays en anglais |
| country_fr | Nom du pays en français |
| capital | Nom de la capitale |
| area | Surface en Km² |
| population | nomre d'habitants |
| continent | Identifiant du continent |
| tld | Extention du pays pour les sites internet |
| currencycode | Code ISO de la devise |
| currencyname | Nom de la devise |
| phone | Préfixe téléphonique |
| postalcodeformat | Format du code postal |
| postalcoderegex | expression régulière |
| languages | Code ISO du language, plusieurs séparés par des virgules |
| geonameid | Identifiant de la table principale de geoname (la table n'est pas disponible dans le module pour le moment) |
| neighbours | Codes ISO-3166 des pays voisins séparés par des virgules |
| equivalentfipscode | [1] séparés par des virgules |
exemple ORM
Trouver les pays de l'europe ordonnés par population du plus peuplé au moins peuplé :
<source lang="php">
$countryset = $G->getCountryOrmSet(); $countries = $countryset->select($countryset->continent->is('EU'))->orderDesc($countryset->population);
$trace = ; foreach($countries as $country) {
$trace .= $country->iso." \t ".$country->country."\n";
}
bab_debug($trace);
</source>
getCountryNameFromIso($code)
Pour obtenir le nom d'un pays a partir du code ISO
Le code ISO passé en paramètre peut être sur 2 ou 3 caractères. Le nom du pays retourné est en français si l'utilisateur est paramétré en français ou sinon en anglais.
getCountryFromName($name)
Le nom du pays passé en paramètre doit être en français si l'utilisateur est paramétré en français ou sinon, en anglais. La méthode retourne un objet geon_CountryRecord ou false si il n'y a pas de résultat.
| |
L'objet geon_CountryRecord contient une méthode getName() qui retourne le nom du pays dans la langue de l'utilisateur
|
searchCountryFromName($name)
Le nom du pays passé en paramètre doit être en français si l'utilisateur est paramétré en français ou sinon, en anglais. La méthode retourne un objet geon_CountryIterator qui a chaque itération retourne un objet geon_CountryRecord.
| |
L'objet geon_CountryRecord contient une méthode getName() qui retourne le nom du pays dans la langue de l'utilisateur
|
searchPlaceFromPostalCode($code, $country = null)
Rechercher un lieu en fonction du code postal, la recherche s'effectue en testant si un code postal commence par la variable $code. La méthode retourne un objet geon_PostalCodeIterator qui a chaque iteration retourne un objet geon_PostalCodeRecord
searchPlaceFromName($name, $country = null)
Rechercher un lieu en fonction du nom du lieu, la recherche s'effectue en testant si un nom contient la variable $name. La méthode retourne un objet geon_PostalCodeIterator qui a chaque iteration retourne un objet geon_PostalCodeRecord