File size: 1,297 Bytes
ee194aa
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
e6ce7f9
ee194aa
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
from typing import Dict, Any, Optional
from api_sources.lexicon import LexiconAPI


class ParcelRepository:
    """Repository pour récupérer les données de parcelles depuis les API externes."""
    
    def __init__(self, lexicon_api: LexiconAPI):
        self.lexicon_api = lexicon_api
    
    async def get_parcel_from_point(self, latitude: float, longitude: float) -> Optional[Dict[str, Any]]:
        """
        Récupère les informations de parcelle pour un point donné.
        
        Args:
            latitude: Latitude en degrés décimaux
            longitude: Longitude en degrés décimaux
            
        Returns:
            Dict contenant les données de la parcelle ou None si aucune parcelle trouvée
        """
        try:
            parcel_data = await self.lexicon_api.get_parcel_from_lat_lon(latitude, longitude)
            
            # Si l'API ne retourne pas de données de parcelle, on retourne None
            if not parcel_data :
                return None
                
            return parcel_data
            
        except Exception as e:
            # Log de l'erreur mais on continue avec les autres points
            print(f"Erreur lors de la récupération de la parcelle en ({latitude}, {longitude}): {e}")
            return None