Namn

ST_3DInterpolatePoint — Returnerar det interpolerade måttet för en geometri som ligger närmast en punkt i 3D.

Synopsis

float8 ST_3DInterpolatePoint(geometry linear_geom_with_measure, geometry point);

Beskrivning

Returnerar det interpolerade måttvärdet för en linjär ZM-geometri vid den plats som ligger närmast den angivna punkten, med 3D-avstånd (XYZ) för projektionen. Använd den här funktionen när geometrin har betydande Z-variation, till exempel flygbanor, där ST_InterpolatePoint skulle ge felaktiga resultat genom att ignorera Z-dimensionen.

[Notera]

Linjen måste ha både Z- och M-dimensioner. Punkten bör ha en Z-dimension.

Tillgänglig sedan: 3.7.0

Denna funktion stöder 3d och kommer inte att tappa z-index.

Exempel

Det här exemplet interpolerar på en linje som stiger diagonalt i Z med en punkt vid 3D-mittpunkten.

Kod
SELECT ST_3DInterpolatePoint(
'LINESTRING ZM (0 0 0 0,10 0 10 20)',
'POINT Z (5 0 5)');
Utdata
10
Figur
Geometry figure for visual-st-3dinterpolatepoint-01

Det här exemplet använder en lodrät linje med noll XY-utsträckning, där 3D-projektion fungerar men 2D-projektion inte gör det.

Kod
SELECT ST_3DInterpolatePoint(
'LINESTRING ZM (0 0 0 0,0 0 10 100)',
'POINT Z (5 5 5)');
Utdata
50
Figur
Geometry figure for visual-st-3dinterpolatepoint-02