Cartofriches - principaux endpoints

Permet d'interroger les friches et leurs géométries.


📂 cartofriches.friches

Description

Retourne les friches issues de Cartofriches pour la commune, le département ou l'emprise rectangulaire demandée.

Parameters:

Name Type Description Default
code_insee (str, obligatoire)

Code INSEE communal ou d'arrondissement municipal (max 10, séparés par virgule).

None
codes_insee (List[str], optionnel)

Liste de codes INSEE.

None
coddep (str, obligatoire)

Code INSEE départemental.

None
in_bbox (List[float], obligatoire)

[xmin, ymin, xmax, ymax], max 1.0° x 1.0°.

None
lon_lat (List[float], optionnel)

Coordonnées [lon, lat].

None
contains_lon_lat (List[float], optionnel)

Coordonnées à contenir [lon, lat].

None
surface_min (float, optionnel)

Surface minimale de l'unité foncière.

None
surface_max (float, optionnel)

Surface maximale de l'unité foncière.

None
urba_zone_type (str, optionnel)

Type de zone d'urbanisme.

None
fields (str, optionnel)

'all' pour obtenir tous les champs, None sinon.

None
ordering (str, optionnel)

Champ de tri.

None
page (int, optionnel)

Page de résultats.

None
page_size (int, optionnel)

Nombre de résultats par page.

500
paginate (bool, optionnel)

Pagination automatique.

True
format_output (str, optionnel)

'dataframe' ou 'dict'.

'dataframe'

Returns:

Type Description
Union[DataFrame, List[dict]]

DataFrame ou liste de dictionnaires des friches.

Source code in apifoncier\endpoints\cartofriches.py
def friches(
    self,
    code_insee: Optional[str] = None,
    codes_insee: Optional[List[str]] = None,
    coddep: Optional[str] = None,
    in_bbox: Optional[List[float]] = None,
    lon_lat: Optional[List[float]] = None,
    contains_lon_lat: Optional[List[float]] = None,
    surface_min: Optional[float] = None,
    surface_max: Optional[float] = None,
    urba_zone_type: Optional[str] = None,
    fields: Optional[str] = None,
    ordering: Optional[str] = None,
    page: Optional[int] = None,
    page_size: Optional[int] = 500,
    paginate: bool = True,
    format_output: str = "dataframe",
) -> Union[pd.DataFrame, List[dict]]:
    """
    Retourne les friches issues de Cartofriches pour la commune, le département ou l'emprise rectangulaire demandée.

    Args:
        code_insee (str, obligatoire): Code INSEE communal ou d'arrondissement municipal (max 10, séparés par virgule).
        codes_insee (List[str], optionnel): Liste de codes INSEE.
        coddep (str, obligatoire): Code INSEE départemental.
        in_bbox (List[float], obligatoire): [xmin, ymin, xmax, ymax], max 1.0° x 1.0°.
        lon_lat (List[float], optionnel): Coordonnées [lon, lat].
        contains_lon_lat (List[float], optionnel): Coordonnées à contenir [lon, lat].
        surface_min (float, optionnel): Surface minimale de l'unité foncière.
        surface_max (float, optionnel): Surface maximale de l'unité foncière.
        urba_zone_type (str, optionnel): Type de zone d'urbanisme.
        fields (str, optionnel): 'all' pour obtenir tous les champs, None sinon.
        ordering (str, optionnel): Champ de tri.
        page (int, optionnel): Page de résultats.
        page_size (int, optionnel): Nombre de résultats par page.
        paginate (bool, optionnel): Pagination automatique.
        format_output (str, optionnel): 'dataframe' ou 'dict'.

    Returns:
        DataFrame ou liste de dictionnaires des friches.
    """
    # Validation des paramètres de localisation avec mutualisation
    checked_codes_insee, bbox_result, auto_contains_geom = (
        self._validate_location_params(
            code_insee=code_insee,
            codes_insee=codes_insee,
            coddep=coddep,
            in_bbox=in_bbox,
            lon_lat=lon_lat,
            contains_lon_lat=contains_lon_lat,
            max_bbox_size=1.0,  # Cartofriches autorise 1.0° vs 0.02° pour DVF
            max_interval=0.5,  # Intervalle pour lon_lat
            max_codes=10,
        )
    )

    # Construction des paramètres
    params = self._build_params(
        code_insee=checked_codes_insee,
        coddep=coddep,
        in_bbox=",".join(map(str, bbox_result)) if bbox_result else None,
        contains_geom=auto_contains_geom,
        surface_min=surface_min,
        surface_max=surface_max,
        urba_zone_type=urba_zone_type,
        fields=fields,
        ordering=ordering,
        page=page,
        page_size=page_size,
    )

    return self._fetch(
        endpoint="/cartofriches/friches",
        params=params,
        format_output=format_output,
        geo=False,
        paginate=paginate,
    )

Exemples d'utilisation

  • Friches d'une commune :

    # Initialisation du client
    from apifoncier import ApiFoncierClient
    
    client = ApiFoncierClient()
    
    # Requête pour les friches d'une commune
    friches = client.cartofriches.friches(code_insee="59350")
    

  • Friches d'un département :

    # Requête pour les friches d'un département
    friches = client.cartofriches.friches(coddep="62")
    

  • Friches dans une emprise géographique :

    # Requête pour les friches dans une emprise géographique
    friches = client.cartofriches.friches(in_bbox=[2.76, 49.73, 3.75, 50.6])
    

  • Friches autour d'un point

      # Requête pour les friches à proximité d'un point (emprise rectangulaire de 0.5° autour du point)
      client.cartofriches.friches(lon_lat=[2.8, 49.75])
    

  • Friches avec filtres - surface entre 1000 et 5000 m², zone urbaine de type "U" :

    # Friches avec filtres
    friches = client.cartofriches.friches(
        code_insee="59350",
        surface_min=1000,
        surface_max=5000,
        urba_zone_type="U",
        fields="all", # Récupère tous les champs disponibles
    )
    


📂 cartofriches.geofriches

Description

Retourne, en GeoJSON, les friches issues de Cartofriches pour la commune, le département ou l'emprise rectangulaire demandée.

Parameters:

Name Type Description Default
code_insee (str, obligatoire)

Code INSEE communal ou d'arrondissement municipal (max 10, séparés par virgule).

None
codes_insee (List[str], optionnel)

Liste de codes INSEE.

None
coddep (str, obligatoire)

Code INSEE départemental.

None
in_bbox (List[float], obligatoire)

[xmin, ymin, xmax, ymax], max 1.0° x 1.0°.

None
lon_lat (List[float], optionnel)

Coordonnées [lon, lat].

None
contains_lon_lat (List[float], optionnel)

Coordonnées à contenir [lon, lat].

None
surface_min (float, optionnel)

Surface minimale de l'unité foncière.

None
surface_max (float, optionnel)

Surface maximale de l'unité foncière.

None
urba_zone_type (str, optionnel)

Type de zone d'urbanisme.

None
fields (str, optionnel)

'all' pour obtenir tous les champs, None sinon.

None
page (int, optionnel)

Page de résultats.

None
page_size (int, optionnel)

Nombre de résultats par page.

500
paginate (bool, optionnel)

Pagination automatique.

True
format_output (str, optionnel)

'dataframe' ou 'dict'.

'dataframe'

Returns:

Type Description
GeoDataFrame

GeoDataFrame des friches géolocalisées.

Source code in apifoncier\endpoints\cartofriches.py
def geofriches(
    self,
    code_insee: Optional[str] = None,
    codes_insee: Optional[List[str]] = None,
    coddep: Optional[str] = None,
    in_bbox: Optional[List[float]] = None,
    lon_lat: Optional[List[float]] = None,
    contains_lon_lat: Optional[List[float]] = None,
    surface_min: Optional[float] = None,
    surface_max: Optional[float] = None,
    urba_zone_type: Optional[str] = None,
    fields: Optional[str] = None,
    page: Optional[int] = None,
    page_size: Optional[int] = 500,
    paginate: bool = True,
    format_output: str = "dataframe",
) -> gpd.GeoDataFrame:
    """
    Retourne, en GeoJSON, les friches issues de Cartofriches pour la commune, le département ou l'emprise rectangulaire demandée.

    Args:
        code_insee (str, obligatoire): Code INSEE communal ou d'arrondissement municipal (max 10, séparés par virgule).
        codes_insee (List[str], optionnel): Liste de codes INSEE.
        coddep (str, obligatoire): Code INSEE départemental.
        in_bbox (List[float], obligatoire): [xmin, ymin, xmax, ymax], max 1.0° x 1.0°.
        lon_lat (List[float], optionnel): Coordonnées [lon, lat].
        contains_lon_lat (List[float], optionnel): Coordonnées à contenir [lon, lat].
        surface_min (float, optionnel): Surface minimale de l'unité foncière.
        surface_max (float, optionnel): Surface maximale de l'unité foncière.
        urba_zone_type (str, optionnel): Type de zone d'urbanisme.
        fields (str, optionnel): 'all' pour obtenir tous les champs, None sinon.
        page (int, optionnel): Page de résultats.
        page_size (int, optionnel): Nombre de résultats par page.
        paginate (bool, optionnel): Pagination automatique.
        format_output (str, optionnel): 'dataframe' ou 'dict'.

    Returns:
        GeoDataFrame des friches géolocalisées.
    """
    # Validation des paramètres (réutilisation du code)
    checked_codes_insee, bbox_result, auto_contains_geom = (
        self._validate_location_params(
            code_insee=code_insee,
            codes_insee=codes_insee,
            coddep=coddep,
            in_bbox=in_bbox,
            lon_lat=lon_lat,
            contains_lon_lat=contains_lon_lat,
            max_bbox_size=1.0,
            max_interval=0.5,  # Intervalle pour lon_lat
            max_codes=10,
        )
    )

    # Construction des paramètres
    params = self._build_params(
        code_insee=checked_codes_insee,
        coddep=coddep,
        in_bbox=",".join(map(str, bbox_result)) if bbox_result else None,
        contains_geom=auto_contains_geom,
        surface_min=surface_min,
        surface_max=surface_max,
        urba_zone_type=urba_zone_type,
        fields=fields,
        page=page,
        page_size=page_size,
    )

    return self._fetch(
        endpoint="/cartofriches/geofriches",
        params=params,
        format_output=format_output,
        geo=True,
        paginate=paginate,
    )

Exemples d'utilisation

  • Friches géolocalisées d'une commune :
    client.cartofriches.geofriches(code_insee="59350")
    
  • Friches géolocalisées d'un département :
    client.cartofriches.geofriches(coddep="62")
    
  • Friches géolocalisées avec filtre sur zone urbaine :
    client.cartofriches.geofriches(code_insee="59350", urba_zone_type="U")
    

📂 cartofriches.friche_by_id

Description

Retourne la friche pour l'identifiant de site demandé.

Parameters:

Name Type Description Default
site_id (str, obligatoire)

Identifiant unique du site.

required
format_output (str, optionnel)

'dict'.

'dict'

Returns:

Type Description
Union[dict, List[dict]]

Détails de la friche.

Source code in apifoncier\endpoints\cartofriches.py
def friche_by_id(
    self, site_id: str, format_output: str = "dict"
) -> Union[dict, List[dict]]:
    """
    Retourne la friche pour l'identifiant de site demandé.

    Args:
        site_id (str, obligatoire): Identifiant unique du site.
        format_output (str, optionnel): 'dict'.

    Returns:
        Détails de la friche.
    """
    if not site_id:
        raise ValidationError("site_id est obligatoire")

    # Pas de pagination pour une friche unique
    return self._fetch(
        endpoint=f"/cartofriches/friches/{site_id}",
        params={},
        format_output=format_output,
        geo=False,
        paginate=False,
    )

Exemples d'utilisation

  • Friche par identifiant :
    client.cartofriches.friche_by_id(site_id="59350_991")
    

Paramètres d’affichage

Choisissez un thème pour personnaliser l’apparence du site.