Top 5 Recent Articles
- Biography (1)
- Blog (26)
- Changes (1)
- Customers (1)
- Education (2)
- General Software (21)
- Image Catalog (2)
- Licensing (1)
- ManifoldGIS (3)
- MySQL Spatial (2)
- Networking and Routing (including Optimization) (3)
- Oracle Spatial (57)
- PostGIS (20)
- Press Releases (1)
- Source code (6)
- Space Curves (1)
- Spatial DB comparison (1)
- SQL (1)
- SQL Server Blog (13)
- SQL Server Spatial (General) (15)
- SQL Server Spatial (LRS) (37)
- Stored Procedure (2)
- XML (5)
STLineLocatePoint — Returns a float between 0 and 1 representing the location of the closest point on LineString to the given Point
Function [$(lrsowner)].[STLineLocatePoint] ( @p_linestring geometry, @p_point geometry, @p_round_xy int = 3, @p_round_zm int = 2 ) Returns geometry
This function, given a point near a the supplied measure @p_linestring, returns the measure/length ratio of the found position.
Is identical to PostGIS’s ST_LineLocatePoint.
Srid of @p_linestring and @p_point must be the same.
If @p_linestring is measured ratio returned is measure of located point / MeasureRange of linestring.
If @p_linestring is not measured the ratio returned is position of located point from start / STLenth of linestring.
@p_linestring (geometry) - Linestring geometry with or without measures. @p_point (geometry) - Point near to linestring. @p_round_xy (int) - Decimal degrees of precision to which calculated XY ordinates are rounded. @p_round_zm (int) - Decimal degrees of precision to which calculated ZM ordinates are rounded.
The function returns the ratio of the position of the point on @p_linestring using measure/measure range or length/total length.
select [lrs].[STLineLocatePoint] ( geometry::STGeomFromText('LINESTRING(-4 -4 0 1, 0 0 0 5.6, 10 0 0 15.61, 10 10 0 25.4)',28355), geometry::Point(8,8,28355), default, default ) as ratio union all select [lrs].[STLineLocatePoint] ( geometry::STGeomFromText('LINESTRING(-4 -4,0 0,10 0,10 10)',28355), geometry::Point(10,0,28355), 4, 8 ) as ratio GO ratio 23.44 15.6