Carga masiva de perfil geoespacial (LinearReferencingGeospatial)¶
Este proceso permite cargar el perfil geoespacial completo de un ducto para un segmento, usando archivos CSV o XLSX.
Objetivo¶
Persistir puntos de referencia lineal (KP) con coordenadas geográficas para que los eventos (por ejemplo, fugas) puedan georreferenciarse e interpolarse correctamente.
Endpoint de carga masiva¶
POST /linear-referencing-geospatial/bulk_import- Tipo de request:
multipart/form-data
Campos del form-data:
file(requerido): archivo.csvo.xlsxsegment_name(opcional): segmento por defecto para filas que no lo incluyanupdate_existing(opcional, defaulttrue): sitrue, actualiza filas existentes con mismosegment + kp; sifalse, las omite
Formato esperado del archivo¶
Columnas requeridas:
kplatitudelongitude
Columnas opcionales:
segment_name(si no viene, se usasegment_namedel form-data)elevation
Alias soportados de columnas:
segment_name:segment,segmentolatitude:lat,ylongitude:lon,lng,xelevation:elev,altitude,altura
Ejemplo CSV¶
segment_name,kp,latitude,longitude,elevation
Segmento_Norte,0.0,10.12345,-72.45678,35.0
Segmento_Norte,0.5,10.12395,-72.45720,35.4
Segmento_Norte,1.0,10.12450,-72.45780,36.2
Reglas de validación¶
segment_namedebe existir en la tablaSegment.kp,latitude,longitudedeben ser numéricos.elevationes opcional y numérica si se envía.- Se utiliza unicidad por
segment + kp.
Resultado de la importación¶
La respuesta retorna un resumen:
processed: total de filas leídascreated: filas insertadasupdated: filas actualizadasskipped: filas omitidas (por ejemplo, duplicadas conupdate_existing=false)errors: lista de errores por filasuccess:truesi no hubo errores
Interpolación posterior¶
Una vez cargado el perfil, se puede consultar ubicación por KP:
POST /linear-referencing-geospatial/interpolate- Body JSON:
Si el KP no existe exacto, el sistema realiza interpolación lineal entre los puntos adyacentes.