Permalink
Show file tree
Hide file tree
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
[FEATURE] New expression functions for angle/distance interpolation
angle_at_vertex: returns average (bisector) angle to a geometry at a specified vertex index distance_to_vertex: returns distance along geometry to a specified vertex index line_interpolate_angle: calculates the angle parallel to a geometry at the specified distance along the geometry line_interpolate_point: returns a point on line at distance line_locate_point: returns distance along line to nearest line location closest to specified point Sponsored by Andreas Neumann
- Loading branch information
1 parent
524d22f
commit 1334524
Showing
7 changed files
with
118 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
{ | ||
"name": "angle_at_vertex", | ||
"type": "function", | ||
"description": "Returns the bisector angle (average angle) to the geometry for a specified vertex on a linestring geometry. Angles are in degrees clockwise from north.", | ||
"arguments": [ {"arg":"geometry","description":"a linestring geometry"}, | ||
{"arg":"vertex","description":"vertex index, starting from 0"}], | ||
"examples": [ { "expression":"angle_at_vertex(geometry:=geom_from_wkt('LineString(0 0, 10 0, 10 10)'),vertex:=1)", "returns":"45.0"}] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
{ | ||
"name": "distance_to_vertex", | ||
"type": "function", | ||
"description": "Returns the distance along the geometry to a specified vertex.", | ||
"arguments": [ {"arg":"geometry","description":"a linestring geometry"}, | ||
{"arg":"vertex","description":"vertex index, starting from 0"}], | ||
"examples": [ { "expression":"distance_to_vertex(geometry:=geom_from_wkt('LineString(0 0, 10 0, 10 10)'),vertex:=1)", "returns":"10.0"}] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
{ | ||
"name": "line_interpolate_angle", | ||
"type": "function", | ||
"description": "Returns the angle parallel to the geometry at a specified distance along a linestring geometry. Angles are in degrees clockwise from north.", | ||
"arguments": [ {"arg":"geometry","description":"a linestring geometry"}, | ||
{"arg":"distance","description":"distance along line to interpolate angle at"}], | ||
"examples": [ { "expression":"line_interpolate_angle(geometry:=geom_from_wkt('LineString(0 0, 10 0)'),distance:=5)", "returns":"90.0"}] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
{ | ||
"name": "line_interpolate_point", | ||
"type": "function", | ||
"description": "Returns the point interpolated by a specified distance along a linestring geometry.", | ||
"arguments": [ {"arg":"geometry","description":"a linestring geometry"}, | ||
{"arg":"distance","description":"distance along line to interpolate"}], | ||
"examples": [ { "expression":"geom_to_wkt(line_interpolate_point(geometry:=geom_from_wkt('LineString(0 0, 10 0)'),distance:=5))", "returns":"'Point (5 0)'"}] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
{ | ||
"name": "line_locate_point", | ||
"type": "function", | ||
"description": "Returns the distance along a linestring corresponding to the closest position the linestring comes to a specified point geometry.", | ||
"arguments": [ {"arg":"geometry","description":"a linestring geometry"}, | ||
{"arg":"point","description":"point geometry to locate closest position on linestring to"}], | ||
"examples": [ { "expression":"line_locate_point(geometry:=geom_from_wkt('LineString(0 0, 10 0)'),point:=geom_from_wkt('Point(5 0)'))", "returns":"5.0"}] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters