A LineString is a Curve which, once two points have been added to it, can never be less than two points long.

Summary

OpenLayers. | A LineString is a Curve which, once two points have been added to it, can never be less than two points long. |

Constructor | |

OpenLayers. | Create a new LineString geometry |

Functions | |

removeComponent | Only allows removal of a point if there are three or more points in the linestring. |

intersects | Test for instersection between two geometries. |

getSortedSegments | {Array} An array of segment objects. |

splitWithSegment | Split this geometry with the given segment. |

split | Use this geometry (the source) to attempt to split a target geometry. |

splitWith | Split this geometry (the target) with the given geometry (the source). |

getVertices | Return a list of all points in this geometry. |

distanceTo | Calculate the closest distance between two geometries (on the x-y plane). |

simplify | This function will return a simplified LineString. |

OpenLayers. | |

OpenLayers. | Generate a meridian (line at constant longitude). |

OpenLayers. | Generate a parallel (line at constant latitude). |

Create a new LineString geometry

points | {Array(OpenLayers.Geometry.Point)} An array of points used to generate the linestring |

removeComponent: function( point )

Only allows removal of a point if there are three or more points in the linestring. (otherwise the result would be just a single point)

point | {OpenLayers.Geometry.Point} The point to be removed |

{Boolean} The component was removed.

intersects: function( geometry )

Test for instersection between two geometries. This is a cheapo implementation of the Bently-Ottmann algorigithm. It doesn’t really keep track of a sweep line data structure. It is closer to the brute force method, except that segments are sorted and potential intersections are only calculated when bounding boxes intersect.

geometry | {OpenLayers.Geometry} |

{Boolean} The input geometry intersects this geometry.

splitWithSegment: function( seg, options )

Split this geometry with the given segment.

seg | {Object} An object with x1, y1, x2, and y2 properties referencing segment endpoint coordinates. |

options | {Object} Properties of this object will be used to determine how the split is conducted. |

edge | {Boolean} Allow splitting when only edges intersect. Default is true. If false, a vertex on the source segment must be within the tolerance distance of the intersection to be considered a split. |

tolerance | {Number} If a non-null value is provided, intersections within the tolerance distance of one of the source segment’s endpoints will be assumed to occur at the endpoint. |

{Object} An object with **lines** and **points** properties. If the given segment intersects this linestring, the lines array will reference geometries that result from the split. The points array will contain all intersection points. Intersection points are sorted along the segment (in order from x1,y1 to x2,y2).

split: function( target, options )

Use this geometry (the source) to attempt to split a target geometry.

target | {OpenLayers.Geometry} The target geometry. |

options | {Object} Properties of this object will be used to determine how the split is conducted. |

mutual | {Boolean} Split the source geometry in addition to the target geometry. Default is false. |

edge | {Boolean} Allow splitting when only edges intersect. Default is true. If false, a vertex on the source must be within the tolerance distance of the intersection to be considered a split. |

tolerance | {Number} If a non-null value is provided, intersections within the tolerance distance of an existing vertex on the source will be assumed to occur at the vertex. |

{Array} A list of geometries (of this same type as the target) that result from splitting the target with the source geometry. The source and target geometry will remain unmodified. If no split results, null will be returned. If mutual is true and a split results, return will be an array of two arrays - the first will be all geometries that result from splitting the source geometry and the second will be all geometries that result from splitting the target geometry.

splitWith: function( geometry, options )

Split this geometry (the target) with the given geometry (the source).

geometry | {OpenLayers.Geometry} A geometry used to split this geometry (the source). |

options | {Object} Properties of this object will be used to determine how the split is conducted. |

mutual | {Boolean} Split the source geometry in addition to the target geometry. Default is false. |

edge | {Boolean} Allow splitting when only edges intersect. Default is true. If false, a vertex on the source must be within the tolerance distance of the intersection to be considered a split. |

tolerance | {Number} If a non-null value is provided, intersections within the tolerance distance of an existing vertex on the source will be assumed to occur at the vertex. |

{Array} A list of geometries (of this same type as the target) that result from splitting the target with the source geometry. The source and target geometry will remain unmodified. If no split results, null will be returned. If mutual is true and a split results, return will be an array of two arrays - the first will be all geometries that result from splitting the source geometry and the second will be all geometries that result from splitting the target geometry.

getVertices: function( nodes )

Return a list of all points in this geometry.

nodes | {Boolean} For lines, only return vertices that are endpoints. If false, for lines, only vertices that are not endpoints will be returned. If not provided, all vertices will be returned. |

{Array} A list of all vertices in the geometry.

distanceTo: function( geometry, options )

Calculate the closest distance between two geometries (on the x-y plane).

geometry | {OpenLayers.Geometry} The target geometry. |

options | {Object} Optional properties for configuring the distance calculation. |

details | {Boolean} Return details from the distance calculation. Default is false. |

edge | {Boolean} Calculate the distance from this geometry to the nearest edge of the target geometry. Default is true. If true, calling distanceTo from a geometry that is wholly contained within the target will result in a non-zero distance. If false, whenever geometries intersect, calling distanceTo will return 0. If false, details cannot be returned. |

{Number | Object} The distance between this geometry and the target. If details is true, the return will be an object with distance, x0, y0, x1, and x2 properties. The x0 and y0 properties represent the coordinates of the closest point on this geometry. The x1 and y1 properties represent the coordinates of the closest point on the target geometry.

OpenLayers.Geometry.LineString.geodesic = function( interpolate, transform, squaredTolerance )

interpolate | {function(number): OpenLayers.Geometry.Point} Interpolate function. |

transform | {function(OpenLayers.Geometry.Point): OpenLayers.Geometry.Point} Transform from longitude/latitude to projected coordinates. |

squaredTolerance | {number} Squared tolerance. |

{OpenLayers.Geometry.LineString}

OpenLayers.Geometry.LineString.geodesicMeridian = function( lon, lat1, lat2, projection, squaredTolerance )

Generate a meridian (line at constant longitude).

lon | {number} Longitude. |

lat1 | {number} Latitude 1. |

lat2 | {number} Latitude 2. |

projection | {OpenLayers.Projection} Projection. |

squaredTolerance | {number} Squared tolerance. |

{OpenLayers.Geometry.LineString} Line geometry for the meridian at <lon>.

OpenLayers.Geometry.LineString.geodesicParallel = function( lat, lon1, lon2, projection, squaredTolerance )

Generate a parallel (line at constant latitude).

lat | {number} Latitude. |

lon1 | {number} Longitude 1. |

lon2 | {number} Longitude 2. projection {OpenLayers.Projection} Projection. |

squaredTolerance | {number} Squared tolerance. |

{OpenLayers.Geometry.LineString} Line geometry for the parallel at <lat>.

OpenLayers 2

JavaScript Mapping Library

Only allows removal of a point if there are three or more points in the linestring.

removeComponent: function( point )

Test for instersection between two geometries.

intersects: function( geometry )

{Array} An array of segment objects.

getSortedSegments: function()

Split this geometry with the given segment.

splitWithSegment: function( seg, options )

Use this geometry (the source) to attempt to split a target geometry.

split: function( target, options )

Split this geometry (the target) with the given geometry (the source).

splitWith: function( geometry, options )

Return a list of all points in this geometry.

getVertices: function( nodes )

Calculate the closest distance between two geometries (on the x-y plane).

distanceTo: function( geometry, options )

This function will return a simplified LineString.

simplify: function( tolerance )

OpenLayers.Geometry.LineString.geodesic = function( interpolate, transform, squaredTolerance )

Generate a meridian (line at constant longitude).

OpenLayers.Geometry.LineString.geodesicMeridian = function( lon, lat1, lat2, projection, squaredTolerance )

Generate a parallel (line at constant latitude).

OpenLayers.Geometry.LineString.geodesicParallel = function( lat, lon1, lon2, projection, squaredTolerance )

A Curve is a MultiPoint, whose points are assumed to be connected.

Point geometry class.

A Geometry is a description of a geographic object.