SkillAgentSearch skills...

ESCatastroLib

Una librería de Python para consultar los datos del Catastro COMO OBJETOS. Incluye información geográfica.

Install / Use

/learn @IvanitiX/ESCatastroLib
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

ESCatastroLib

La librería ESCatastroLib proporciona una interfaz sencilla para consultar el Catastro de España y obtener información geográfica precisa. Con esta librería, puedes acceder a datos como la ubicación de parcelas, características de construcción y valores geográficos.

Clases

Clase Municipio

Representa un municipio (ciudad o pueblo).

Atributos/Inputs del constructor

provincia (str): El nombre de la provincia donde se encuentra el municipio. Un valor por defecto se establece y se puede proporcionar un valor diferente si es necesario.

municipio (str, opcional): El nombre del municipio. Si no se proporciona al crear una instancia, se lanzará una excepción. Si se especifica, debe coincidir al menos parcialmente con el nombre de un municipio válido encontrado en la base de datos o fuente de datos del sistema.

Excepciones

Exception: Si no se especifica el municipio o si es inválido, o si no corresponde a un municipio válido en la base de datos del sistema. Se lanzará una excepción con la lista de municipios en ese caso.

Clase Calle

La clase Calle es una entidad que representa una calle.

Atributos/Inputs del constructor:

municipio (Municipio) : Objeto que representa el Municipio al que pertenece la calle.

nombre_calle (str, opcional) : El nombre de la calle asignada.

tipo_via (str, opcional) : El tipo de vía de la calle asignada. Se trata de una serie de siglas que puedes consultar en utils.listar_tipos_via()

Excepciones

Exception: Si no existe la calle, o la calle tiene más de un tipo de vía. Devuelve una lista de calles en formato TipoVia NombreCalle

Clase ParcelaCatastral

Representa una parcela catastral.

Inputs del constructor:

  • rc (str, opcional): La referencia catastral de la parcela. Por defecto es None. Puede ser proporcionada sola; también puede haber otros parámetros para buscar una parcela específica en el sistema.

  • provincia (str, opcional): El nombre de la provincia. Por defecto es None. Se usa para buscar por dirección o parcela.

  • municipio (str, opcional): El nombre del municipio. Por defecto es None. Se usa para buscar por dirección o parcela.

  • poligono (int, opcional): El número del polígono. Por defecto es None y puede ser específico para zonas rurales.

  • parcela (int, opcional): El número de la parcela. Por defecto es None y se usa para buscar zonas rurales.

  • tipo_via (str, opcional): El tipo de carretera en la dirección. Por defecto es None y es útil al buscar direcciones urbanas.

  • calle (str, opcional): El nombre de la calle en la dirección. Por defecto es None y es útil para encontrar ubicaciones urbanas

  • numero (str, opcional): El número de la calle en la dirección. Por defecto es None y se usa para encontrar ubicaciones urbanas por número.

Excepciones:

  • ValueError: Si no has proporcionado suficiente información para realizar la búsqueda, o si el RC hace referencia a una MetaParcela.
  • ErrorServidorCatastro: Si hay un error con la base de datos del Catastral Server.

Atributos:

  • rc (str): La referencia catastral de la parcela.
  • provincia (str): El nombre de la provincia.
  • municipio (str): El nombre del municipio.
  • poligono (int): El número del polígono. Solo se usa para terrenos rurales.
  • parcela (int): El número de la parcela. Solo se usa para terrenos rurales.
  • tipo_via (str): El tipo de carretera en la dirección.
  • calle (str): El nombre de la calle en la dirección.
  • numero (str): El número de la calle en la dirección.
  • url_croquis (str): La URL del croquis de la parcela.
  • tipo (str): El tipo de terreno (urbano o rural).
  • antiguedad (str): La edad de la parcela (solo en lotes urbanos)
  • uso (str): El uso de la parcela (solo en lotes urbanos)
  • nombre_paraje (str): El nombre del área, solo se usa para terrenos rurales.
  • regiones (list): Una lista de regiones en la parcela con una descripción y superficie.
  • centroide (dict): Las coordenadas del centroide de la parcela. (Latitud y longitud)
  • geometria (list): Una lista de puntos que representan la geometría de la parcela. (Latitud y longitud)
  • superficie_total (float): La superficie total de la parcela en metros cuadrados.
  • superficie_construida (float): La superficie construida en metros cuadrados.
  • superficie (float): La superficie total de las regiones en metros cuadrados.

Métodos:

  • distancias_aristas (property): Calcula las distancias entre puntos consecutivos de la geometría de la parcela.

    • Returns: Optional[List[float]] - Lista de distancias entre aristas consecutivas en metros, o None si no hay geometría.
  • perimetro (property): Calcula el perímetro total de la geometría de la parcela.

    • Returns: Optional[float] - Perímetro total en metros, o None si no hay geometría.
  • valor_catastral_urbano_m2(anio: int) -> Optional[float]: Obtiene el valor catastral por metro cuadrado para parcelas urbanas.

    • Args: anio (int) - Año del valor catastral a consultar.
    • Returns: Valor catastral en €/m², 0 si es rústica, o None si hay algún error.
  • valor_catastral_rustico_m2(anio: str) -> Optional[Dict]: Obtiene los valores catastrales de tierras para parcelas rústicas.

    • Args: anio (str) - Año del valor catastral a consultar.
    • Returns: Diccionario con region, nombre_region y modulos_€/ha, o None si no se encuentran.
  • numero_plantas (property): Obtiene el número de plantas de un edificio.

    • Returns: Dict[str, Any] con claves plantas, sotanos y total.
  • to_dataframe(): Convierte la parcela en un GeoDataFrame de GeoPandas.

  • to_json(filename: Optional[str] = None) -> str: Convierte la parcela a JSON.

  • to_csv(filename: Optional[str] = None) -> str: Convierte la parcela a CSV.

  • to_shapefile(filename: str): Guarda la parcela como Shapefile.

  • to_parquet(filename: str): Guarda la parcela como Parquet.

Clase MetaParcela

Representa una MetaParcela, es decir, una gran parcela catastral con varias referencias catastrales (Parcels Catastrales más pequeñas).

Atributos/Inputs del constructor:

  • rc (Union[str,None]): La referencia catastral de la MetaParcela. Puede ser proporcionada como None.
  • provincia (Union[str,None]): El nombre de la provincia donde se encuentra la MetaParcela. Por defecto, es None, lo que permite usar nombres generales.
  • municipio (Union[str,None]): El nombre del municipio donde se encuentra la MetaParcela. Por defecto, es None, lo que permite usar nombres generales.
  • poligono (Union[int,None]): El número del polígono en el que se encuentra la MetaParcela. Se utiliza para encontrar una parcela específica.
  • parcela (Union[int,None]): El número de parcelas dentro de la MetaParcela. Se utiliza para encontrar una parcela específica.
  • tipo_via (Union[str,None]): Tipo de camino en la dirección de la MetaParcela. Se usa para encontrar una parcela específica.
  • calle (Union[str,None]): Nombre de la calle de la MetaParcela. Se usa para encontrar una parcela específica.
  • numero (Union[str,None]): Número de casa de la MetaParcela.

Atributos:

  • rc (str): La referencia catastral de la MetaParcela.
  • parcelas (list): Una lista de ParcelaCatastral que representan las parcelas que componen la MetaParcela.

Funciones útiles

comprobar_errores()

Comprueba si la respuesta contiene errores.

Argumentos:

  • respuesta (dict): El diccionario de respuesta.

Excepciones:

  • El que venga de lanzar_excepcion (ErrorServidorCatastro): Si se encuentra un error en la respuesta.

Devuelve:

  • True si no se encuentran errores

listar_provincias()

Obtiene una lista de provincias.

Devuelve:

  • list: Una lista de nombres de provincias.

listar_municipios()

Obtiene una lista de municipios de España.

Argumentos:

  • provincia (str): El nombre de la provincia. Preferentemente en mayúsculas o capitalizado.
  • municipio (str, optional): El nombre del municipio. Por defecto es None.

Devuelve:

  • List[str]: Una lista de nombres de municipios.

Excepciones:

  • Exception: Si la provincia no existe. Muestra un mensaje con las provincias disponibles.

listar_tipos_via()

Retorna una lista de los tipos de vía disponibles.

Devuelve:

  • list: Una lista de los tipos de vía disponibles.

listar_calles()

Devuelve una lista de calles para una provincia y municipio dados.

Argumentos:

  • provincia (str): El nombre de la provincia.
  • municipio (str): El nombre del municipio.

Devuelve:

  • list: Una lista de calles en formato "tipo de vía nombre de vía".

Conversores

Las clases ParcelaCatastral y MetaParcela incluyen métodos para exportar los datos en diferentes formatos. Estos métodos permiten convertir los datos de las parcelas en formatos útiles para análisis y almacenamiento.

Métodos disponibles

to_dataframe()

Convierte la parcela o metaparcela en un DataFrame de GeoPandas, el cual incluye información geográfica.

Devuelve:

  • gpd.GeoDataFrame: Un DataFrame que contiene los datos de la parcela o metaparcela.

to_json()

Convierte la parcela o metaparcela en un archivo JSON.

Argumentos:

filename (str, opcional): Nombre del archivo donde guardar el JSON. Si no se proporciona, devuelve el JSON como cadena.

Devuelve:

str: Una cadena JSON que contiene los datos de la parcela o metaparcela, en caso de no añadir filename.

Un archivo con el filename en caso de añadirlo.

to_csv()

Convierte la parcela o metaparcela en un archivo CSV.

Argumentos:

filename (str, opcional): Nombre del archivo donde guardar el JSON. Si no se proporciona, devuelve el CSV como cadena.

Devuelve:

str: Una cadena CSV que contiene los datos de la parcela o metaparcela, en caso de no añadir filename.

Un archivo con el filename en caso de añadirlo.

to_shapefile()

Guarda la parcela o metaparcela como un archivo Shapefi

Related Skills

View on GitHub
GitHub Stars10
CategoryDevelopment
Updated5d ago
Forks1

Languages

Python

Security Score

95/100

Audited on Apr 3, 2026

No findings