ForHosting KIT · Utilidades de desarrollo

Densificar una línea geodésica con vértices equidistantes

Densifique una línea geográfica insertando vértices intermedios de latitud y longitud en cada segmento.

● BetaGratis · en su navegador
Úselo desde WebAPIEmailTelegramApp pronto

Indique una línea ordenada y una separación máxima en metros; el resultado seguirá el arco de círculo máximo más corto y garantizará que ningún intervalo generado supere esa separación. Los vértices originales conservarán su orden, mientras que los recuentos y resúmenes de distancia facilitarán revisar, representar o reutilizar el resultado en otro flujo geoespacial sin depender de una aplicación SIG de escritorio.

Elija una separación adecuada para el proceso posterior

La densificación resulta útil cuando una operación necesita muestras más frecuentes que las proporcionadas por la geometría de origen. Comience con una matriz ordenada de registros que contengan lat y lon, y defina spacing_m como el intervalo máximo aceptable en metros. La calculadora evalúa cada segmento original por separado. Si uno ya es más corto que la separación solicitada, se conserva como un único tramo y no se añade ningún punto innecesario. Si es más largo, se divide en el menor número entero de tramos geodésicos de igual longitud que cumpla el máximo. La separación funciona como límite superior, no como una exigencia de igualdad exacta. Al dividir cada segmento por separado, se conserva su extremo y el siguiente comienza exactamente en el vértice original. Elija una separación amplia para vistas generales y otra menor cuando las muestras alimenten consultas de terreno, cobertura, animaciones o cálculos que presupongan aristas cortas. Una separación excesivamente pequeña puede generar muchos datos; por eso se rechazan las solicitudes que excedan el límite de salida, sin truncar la línea silenciosamente.

Comprenda el cálculo geodésico esférico

Cada par de coordenadas consecutivas define un segmento sobre una esfera. El algoritmo convierte ambos extremos en vectores unitarios tridimensionales, mide su ángulo central e interpola sobre el arco de círculo máximo más corto. La distancia es ese ángulo multiplicado por earth_radius_m, cuyo valor predeterminado es el radio medio convencional de la Tierra. El método funciona correctamente al cruzar el antimeridiano: una línea desde 179 grados este hasta 179 grados oeste toma el trayecto breve junto a la línea internacional de cambio de fecha. También evita tratar la latitud y la longitud como coordenadas cartesianas planas, una aproximación engañosa en distancias largas o cerca de los polos. Las coordenadas originales y añadidas son deterministas y se redondean con una precisión estable. Los puntos consecutivos coincidentes se conservan porque pueden tener significado estructural, aunque su distancia sea cero. Los extremos exactamente antípodas se rechazan: infinitos círculos máximos unen dos puntos opuestos y no existe una ruta corta única. Para trabajos topográficos elipsoidales, tenga presente que se utiliza una esfera configurable, no el elipsoide WGS-84 completo.

Interprete y valide el resultado

El resultado principal es vertices, una matriz ordenada que puede serializar como coordenadas o transformar al formato geométrico de su aplicación. La primera y la última coordenada son los extremos de origen, y cada vértice interior original aparece en el límite entre segmentos. La respuesta también incluye input_vertices, output_vertices e inserted_vertices, de modo que la expansión sea explícita y pueda controlar los presupuestos de almacenamiento o representación. total_distance_m suma las longitudes geodésicas originales. max_segment_distance_m indica el mayor intervalo real tras la subdivisión y debe ser menor o igual que la separación solicitada, salvo redondeos insignificantes. Compruebe ese campo si la densificación protege un requisito de muestreo posterior. Respete el orden al convertir a GeoJSON: allí los pares suelen colocar la longitud antes que la latitud, aunque esta API usa propiedades con nombre lat y lon. El cálculo es puro, no realiza solicitudes de red ni conserva la línea. Puede probarlo en el navegador y automatizarlo mediante la API por $0.002 por solicitud, con la misma estructura determinista.

Preparar una ruta para muestreo regular

Añada suficientes vértices antes de consultar elevación, meteorología, cobertura de señal u otro valor variable a lo largo de una ruta.

Mejorar el dibujo de aristas largas

Represente aristas geográficas extensas con puntos intermedios de círculo máximo para que rutas proyectadas o animadas sigan el trayecto previsto.

Normalizar líneas de resolución desigual

Aplique un único límite de separación a líneas cuyos vértices de origen se capturaron con intervalos diferentes.

¿spacing_m fija una distancia exacta entre todos los puntos?

No. Establece el intervalo máximo permitido. Cada segmento original se divide en tramos geodésicos iguales que no superan ese valor.

¿Se conservan los vértices originales?

Sí. Todos permanecen en su orden y los nuevos vértices se insertan entre originales consecutivos.

¿Funciona al cruzar el antimeridiano?

Sí. La interpolación sigue el arco de círculo máximo más corto, incluido el cruce breve entre longitudes próximas a 180 grados.

¿Por qué se rechazan los extremos antípodas?

Los puntos opuestos no determinan un único círculo máximo. El rechazo evita seleccionar una ruta arbitraria.

¿El cálculo usa el elipsoide WGS-84?

No. Emplea geometría esférica de círculo máximo con un radio configurable cuyo valor inicial es el radio medio terrestre.

¿Cuánto cuesta una solicitud de API?

Cada solicitud cuesta $0.002. El cálculo determinista no llama a servicios externos.

Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.

POSThttps://api.kit.forhosting.com/geo/densify-line

¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.

curl -X POST https://api.kit.forhosting.com/geo/densify-line \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"line":[{"lat":37.7749,"lon":-122.4194},{"lat":37.8044,"lon":-122.2711},{"lat":37.6879,"lon":-122.4702}],"spacing_m":5000}'
{
  "line": [
    {
      "lat": 37.7749,
      "lon": -122.4194
    },
    {
      "lat": 37.8044,
      "lon": -122.2711
    },
    {
      "lat": 37.6879,
      "lon": -122.4702
    }
  ],
  "spacing_m": 5000
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "geo.densify_line",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.

Por solicitud$0.002

Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.

max_points10000
max_output_vertices100000
HTTPCódigoSignificado
401unauthorizedAPI key ausente o inválida.
402insufficient_balanceEl saldo no cubre el precio de la tarea.
404unknown_typeEl tipo de tarea no existe.
429rate_limitedDemasiadas peticiones. Use el webhook en vez de sondear.

Ver la documentación completa del KIT →