Skip to main content

API de geolocalisation pour la Nouvelle-Calédonie

Project description

🌍 GeoNC

Python New Caledonia License Version

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, urllib3 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 objet GeoClass.
  • 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 :


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

geonc-2.3.0.tar.gz (16.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

geonc-2.3.0-py3-none-any.whl (19.1 kB view details)

Uploaded Python 3

File details

Details for the file geonc-2.3.0.tar.gz.

File metadata

  • Download URL: geonc-2.3.0.tar.gz
  • Upload date:
  • Size: 16.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for geonc-2.3.0.tar.gz
Algorithm Hash digest
SHA256 148d418a8a96990447ac9ec3301459d4179223aec384ba6f42d229abd4aae0b1
MD5 dedc00fc19c110ebbcd941f0822baff8
BLAKE2b-256 83ccb0a5646aea29016f6a2fa91840623e404e6bc27c5607b1a1b8585fc7facb

See more details on using hashes here.

File details

Details for the file geonc-2.3.0-py3-none-any.whl.

File metadata

  • Download URL: geonc-2.3.0-py3-none-any.whl
  • Upload date:
  • Size: 19.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for geonc-2.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7474fc993baac78a84a7ae06ff93b0e537997b874152e8e884c73b2242ee584b
MD5 1a59d0fc80f43ca0600eab2b7520645a
BLAKE2b-256 58e4e9c5f7a43eb0443c3ef280d00ef98eb2fa8102810f9025f3e54c86cdbce1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page