API de geolocalisation pour la Nouvelle-Calédonie
Project description
🌍 GeoNC
GeoNC est une bibliothèque Python permettant d'interagir facilement avec les services de données géographiques de la Nouvelle-Calédonie. Elle combine les capacités de GeorepNC et ArcgisNC pour offrir une interface unifiée, disponible en modes synchrone et asynchrone.
🚀 Installation
Vous pouvez installer les dépendances nécessaires via pip :
pip install GeoNC
Note : La bibliothèque dépend de requests, aiohttp et pyproj.
🏗️ Fonctionnement Interne : Les Objets Dynamiques
L'une des forces de GeoNC est l'utilisation de GeoClass. Tous les résultats retournés par les services sont encapsulés dans cet objet, ce qui permet une manipulation extrêmement fluide des données.
Pourquoi GeoClass ?
Les services géographiques renvoient souvent des structures JSON complexes et imbriquées. GeoClass transforme ces dictionnaires en objets Python dont les clés deviennent des attributs.
resultat = client.get_adresse(nic="1234")
# 1. Accès par attribut (recommandé, avec auto-complétion dans certains IDE)
print(resultat.parcelle.commune)
# 2. Accès par clé (style dictionnaire classique)
print(resultat["parcelle"]["commune"])
# 3. Export en dictionnaire standard
print(resultat.json)
[!TIP] Si une valeur est une liste de dictionnaires, GeoNC convertira automatiquement chaque élément en
GeoClass.
💡 Utilisation Rapide
Mode Synchrone
from geonc.sync import GeoNC
client = GeoNC()
# Recherche par adresse
adresse = client.get_adresse(street="Jean Jaurès", number="10")
print(f"Propriétaire : {adresse.parcelle.proprietaire}")
# Recherche par NIC
parcelle = client.get_nic("12345-6789")
Mode Asynchrone
import asyncio
from geonc.asyn import GeoNC
async def main():
client = GeoNC()
# Recherche de POI (Points d'Intérêt)
pois = await client.get_pois(street="Jean Jaures")
for poi in pois:
print(f"{poi.name} situé à {poi.address}")
asyncio.run(main())
📖 Référence de l'API
🛰️ GeorepNC
Services liés au cadastre et aux adresses officielles (DITTT).
get_adresse(number="", street="", nic=""): Informations complètes d'une adresse. Retourne un objetGeoClass.get_adresse_list(number="", street="", nic=""): Liste d'adresses correspondant à la recherche.get_nic(nic): Informations sur un Numéro d'Inventaire Cadastral.get_coords(x=None, y=None, nic=None): Recherche par coordonnées Lambert NC (EPSG:3163) ou par NIC graphique.get_info(adresse=""): Recherche brute "Fuzzy Search" sur le service parcellaire.tile_connect(): Initialise la connexion HTTPS pour la récupération de tuiles.get_tile(zoom=0, y=0, x=0, out_border=False, check_out_border=True): Récupère une tuile d'imagerie (PNG/JPEG).
🗺️ ArcgisNC
Services de localisation évolués et recherche plein texte (DTSI).
get_localisation(number="", street="", limit=6): Géocodage d'adresses via ArcGIS.get_cadastre(number="", street="", limit=6): Recherche cadastrale.get_pois(number="", street="", limit=6): Points d'intérêt (commerces, services, etc.).get_all(number="", street=""): Combine localisation, cadastre et POIs.search(address, index=None, limit=None, lat=None, lon=None, returntruegeometry=None, postcode=None, citycode=None, address_type=None, city=None, category=None): Recherche universelle puissante.search_csv(filename, index=None, lat=None, lon=None, postcode=None, citycode=None, category=None, address_type=None, result_columns=None): Recherche par lot via un fichier CSV.reverse(searchgeom, indexes=None, limit=None, lat=None, lon=None, returntruegeometry=None, postcode=None, citycode=None, address_type=None, city=None, category=None): Geocoding inverse (coordonnées ➡️ adresse).reverse_csv(filename, indexes=None, lat=None, lon=None, postcode=None, citycode=None, category=None, address_type=None, result_columns=None): Geocoding inverse par lot via un fichier CSV.get_capabilities(): Liste les capacités et services disponibles sur les serveurs ArcGIS NC.
🔄 Outils et Utilitaires
GeoNC inclut également des outils pour la gestion de session et les conversions.
to_lambert(x, y): WGS84 (Lat/Lon) ➡️ Lambert NC (EPSG:3163).to_epsg(x, y): Lambert NC (EPSG:3163) ➡️ WGS84 (Lat/Lon).
⚖️ Mentions Légales
Cette bibliothèque est un outil indépendant facilitant l'accès aux données publiques. Veuillez respecter les conditions d'utilisation des producteurs de données :
- Georep : cadastre.gouv.nc/a-propos
- ArcGIS NC : Conditions Open Data
- DITTT : API Localisation Nouvelle-Calédonie
Fait avec ❤️ pour la communauté NC.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file geonc-2.1.0.tar.gz.
File metadata
- Download URL: geonc-2.1.0.tar.gz
- Upload date:
- Size: 14.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
36a7103fe9ab91c78d6948ed5f3548ce4ffd483343e8647e0ae2fafb309456bb
|
|
| MD5 |
2762608f755973d8b296e8e3d741e7d2
|
|
| BLAKE2b-256 |
1f3f42734ee154f3eff5c1829108c3084f898ac0895a2a2caddc2613526db100
|
File details
Details for the file geonc-2.1.0-py3-none-any.whl.
File metadata
- Download URL: geonc-2.1.0-py3-none-any.whl
- Upload date:
- Size: 18.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
85fb4887933ba161bd260a7fc5ef489c5059625e9c6bdc1fcf6276ede144a584
|
|
| MD5 |
36e3e49dc62ca1794fe8cefc05713be1
|
|
| BLAKE2b-256 |
962f4369cb210e8cf59705ceea735d1e9873e2232e53383bdb7c6d6180736d3d
|