Skip to main content

catastro-api

API pública del Catastro español (DGC). Callejero, datos catastrales no protegidos, conversión de coordenadas. SOAP/REST/JSON. 48 provincias (excepto País Vasco y Navarra). Sin autenticación.

설치로 이동

소스 정보

저장소
Ntizar/NtizarBrainMasterMind
최근 소스 활동
2026년 6월 30일 12:46
감지된 SKILL.md 언어
스페인어
스타
2
포크
0

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
catastro-api
version
1.0.0
description
API pública del Catastro español (DGC). Callejero, datos catastrales no protegidos, conversión de coordenadas. SOAP/REST/JSON. 48 provincias (excepto País Vasco y Navarra). Sin autenticación.
tags
["catastro","catastro-api","catastro-spain","parcelas","coordenadas","callejero","inmuebles","government-data"]
# API Catastro — Datos Catastrales No Protegidos ## Resumen La **Dirección General del Catastro (DGC)** ofrece servicios web gratuitos con información catastral no protegida (todo excepto titularidad y valor catastral). **Dominio:** `https://ovc.catastro.meh.es` **Formatos:** JSON y XML **Método:** GET (REST) y SOAP **Autenticación:** NO requerida para datos no protegidos **Cobertura:** 48 provincias (excepto País Vasco y Navarra) ## Endpoints JSON Base URL: `https://ovc.catastro.meh.es/OVCServWeb/OVCWcfCallejero/COVCCallejero.svc/json/` ### 1. ObtenerProvincias ``` GET /ObtenerProvincias ``` Devuelve listado de todas las provincias con código INE. **Estructura:** ```json { "consulta_provincieroResult": { "control": {"cuprov": 48}, "provinciero": { "prov": [ {"cpine": "39", "np": "CANTABRIA"}, {"cpine": "28", "np": "MADRID"} ] } } } ``` ### 2. ObtenerMunicipios ``` GET /ObtenerMunicipios?Provincia={PROVINCIA} ``` - `Provincia`: nombre de la provincia (obligatorio) **Estructura:** ```json { "consulta_municipieroResult": { "municipiero": { "muni": [ { "nm": "SANTANDER", "carto": "U", "locat": {"cd": "39", "cmc": "190"}, "loine": {"cp": "39", "cm": "75"} } ] } } } ``` ### 3. ObtenerCallejero ``` GET /ObtenerCallejero?Provincia={PROVINCIA}&Municipio={MUNICIPIO}&TipoVia={TIPOVIA}&NomVia={NOMVIA} ``` - `Provincia`: nombre (obligatorio) - `Municipio`: nombre (obligatorio) - `TipoVia`: abreviatura tipo vía (CL=CL, AV=AVENIDA, etc.) - `NomVia`: nombre de la vía (opcional) ### 4. ObtenerNumerero ``` GET /ObtenerNumerero?Provincia={PROVINCIA}&Municipio={MUNICIPIO}&TipoVia={TIPOVIA}&NomVia={NOMVIA}&Numero={NUMERO} ``` Devuelve referencia catastral de un número concreto. ### 5. Consulta_DNPLOC — Datos por localización ``` GET /Consulta_DNPLOC?Provincia={PROVINCIA}&Municipio={MUNICIPIO}&Sigla={SIGLA}&Calle={CALLE}&Numero={NUMERO}&Bloque={BLOQUE}&Escalera={ESCALERA}&Planta={PLANTA}&Puerta={PUERTA} ``` - `Sigla`: tipo de vía (CL, AV, PL, etc.) **Datos devueltos (inmueble único):** - Tipo: urbano (UR) o rústico (RU) - Referencia catastral - Domicilio tributario - Uso (Residencial, Agrario, etc.) - Superficie (m²) - Coeficiente de participación - Antigüedad - Unidades constructivas - Subparcelas (cultivos) ### 6. Consulta_DNPRC — Datos por referencia catastral ``` GET /Consulta_DNPRC?RefCat={REFCAT} ``` - `RefCat`: referencia catastral de 14, 18 o 20 caracteres ### 7. Consulta_DNPPP — Datos por polígono-parcela ``` GET /Consulta_DNPPP?Provincia={PROVINCIA}&Municipio={MUNICIPIO}&Poligono={POLIGONO}&Parcela={PARCELA} ``` **Ejemplo respuesta (Santander, polígono 1, parcela 1):** ```json { "bico": { "bi": { "idbi": {"cn": "RU", "rc": {"pc1": "39900A0", "pc2": "0100001"}}, "dt": { "np": "CANTABRIA", "nm": "SANTANDER", "locs": {"lors": {"lorus": {"npa": "VIRGEN DEL MAR"}}} }, "ldt": "CL VIRGEN DEL MAR 161 Polígono 1 Parcela 1...", "debi": {"luso": "Agrario", "sfc": "539", "ant": "1920"} }, "finca": { "dff": {"ss": "33692"}, "infgraf": {"igraf": "https://www1.sedecatastro.gob.es/Cartografia/mapa.aspx?..."} } } } ``` ## Servicio de Coordenadas Base URL: `https://ovc.catastro.meh.es/OVCServWeb/OVCWcfCallejero/COVCCoordenadas.svc/json/` ### Consulta_RCCOOR — Referencia catastral por coordenadas ``` GET /Consulta_RCCOOR?SRS={SRS}&Coordenada_X={X}&Coordenada_Y={Y} ``` ### Consulta_CPMRC — Coordenadas por referencia catastral ``` GET /Consulta_CPMRC?SRS={SRS}&Provincia={PROVINCIA}&Municipio={MUNICIPIO}&RefCat={REFCAT} ``` ### Consulta_RCCOOR_Distancia — Referencias por proximidad ``` GET /Consulta_RCCOOR_Distancia?SRS={SRS}&Coordenada_X={X}&Coordenada_Y={Y} ``` **Sistemas de referencia soportados:** - `EPSG:4230` — Geográficas ED50 - `EPSG:4326` — Geográficas WGS84 - `EPSG:4258` — Geográficas ETRS89 - `EPSG:32630` — UTM 30N WGS84 - `EPSG:25830` — UTM 30N ETRS89 - `EPSG:23030` — UTM 30N ED50 ## Tipos de vía (abreviaturas) | Código | Tipo | Código | Tipo | |--------|------|--------|------| | CL | Calle | AV | Avenida | | PL | Plaza | PS | Paseo | | CR | Carretera | CT | Cuesta | | PJ | Pasaje | TR | Travesía | | BL | Bloque | PZ | Plazuela | | CM | Camino | CA | Cañada | | RD | Ronda | RB | Rambla | | GL | Glorieta | SL | Solar | ## Ejemplo JavaScript/Leaflet ```javascript // Buscar referencia catastral por coordenadas async function getCatastroRef(lat, lng) { const url = `https://ovc.catastro.meh.es/OVCServWeb/OVCWcfCallejero/COVCCoordenadas.svc/json/Consulta_RCCOOR?SRS=EPSG:4326&Coordenada_X=${lng}&Coordenada_Y=${lat}`; const resp = await fetch(url); const data = await resp.json(); const result = data.Consulta_RCCOORResult; if (result.control.cuerr > 0) return null; return result.coordenadas.coord[0]; // {pc: {pc1, pc2}, ldt: "dirección"} } // Obtener datos de un inmueble por referencia catastral async function getCatastroData(refCat) { const url = `https://ovc.catastro.meh.es/OVCServWeb/OVCWcfCallejero/COVCCallejero.svc/json/Consulta_DNPRC?RefCat=${refCat}`; const resp = await fetch(url); const data = await resp.json(); const result = data.consulta_dnprcResult; if (result.control.cuerr > 0) return null; return result.bico; // datos completos del inmueble } // Obtener coordenadas de una referencia catastral async function getCatastroCoords(refCat) { const url = `https://ovc.catastro.meh.es/OVCServWeb/OVCWcfCallejero/COVCCoordenadas.svc/json/Consulta_CPMRC?SRS=EPSG:4326&RefCat=${refCat}`; const resp = await fetch(url); const data = await resp.json(); const result = data.Consulta_CPMRCResult; if (result.control.cuerr > 0) return null; return result.coordenadas.coord[0].geo; // {xcen, ycen, srs} } ``` ## Datos descargables (requieren certificado/Cl@ve) La Sede Electrónica del Catastro (`https://www.sedecatastro.gob.es/Accesos/SECAccDescargaDatos.aspx`) ofrece: 1. **Información alfanumérica por provincia (formato CAT)** — todos los inmuebles excepto titularidad y valor 2. **Cartografía vectorial por provincia (formato Shapefile)** — polígonos de parcelas 3. **Ficheros de Redes Topo-Geodésicas Catastrales** 4. **Cartografía Histórica catastral** **Estos requieren:** certificado electrónico o Cl@ve + aceptación de licencia de uso **URL descarga shapefiles:** `https://www.catastro.hacienda.gob.es/web/DescargaCartografia.html` ## Pitfalls - **JSON BOM** → las respuestas JSON tienen BOM UTF-8 (`\ufeff`). Usar `utf-8-sig` al decodificar. - **Nombres de endpoints** → en JSON se llaman `ObtenerProvincias`, `ObtenerMunicipios`, etc. (no `ConsultaProvincia`). - **Provincia por nombre** → usar nombres como "CANTABRIA", "MADRID", "SANTANDER" (no códigos). - **Referencia catastral** → puede tener 14 (finca), 18 o 20 (inmueble) caracteres. Validar longitud. - **Sin País Vasco ni Navarra** → estos territorios tienen su propio catastro. - **Rate limiting** → no hay límites documentados, pero ser razonable (máx ~1 req/seg). - **WSDL/SOAP** → también disponible en `https://ovc.catastro.meh.es/OVCServWeb/OVCWcfCallejero/COVCCallejero.svc?singleWsdl` ## Documentación oficial - **Web services libres:** `https://www.catastro.hacienda.gob.es/ws/Webservices_Libres.pdf` - **Consulta masiva:** `https://www.catastro.hacienda.gob.es/ayuda/masiva/Descripcion_consulta_masiva_datos_Catastrales_tit.pdf` - **Esquemas XML:** `http://www.catastro.hacienda.gob.es/ws/esquemas.htm` - **Sede Electrónica:** `https://www.sedecatastro.gob.es/` ## Uso para dashboard regional Para un dashboard como DatoAsturias: 1. **Parcelas por zona** → `Consulta_RCCOOR_Distancia` con coordenadas del centro de la ciudad 2. **Datos de inmueble al hacer click** → `Consulta_DNPRC` con la referencia catastral 3. **Callejero interactivo** → `ObtenerCallejero` para autocompletado de direcciones 4. **Mapa catastral** → usar el servicio WMS del Catastro o los shapefiles descargados
GitHub에서 보기