osmlinter v1.0.0
OSM Linter
Advanced OSM linter for node and browsers
Install
npm
$ yarn osmlinter
web
<script type='module'>
import { getAngle } from "https://unpkg.com/osmlinter?module"
console.log(getAngle([5, 5], [5, 6], [3, 4]))
</script>
API
closestEndNodes
Closest End Nodes, this validator detects if a line has ending nodes closer to other lines.
End Nodes touching lines are ignored.
JSOM Linter (Way end node near other highway)
Parameters
lines
(FeatureCollection | Feature<(LineString | MultiLineString)>) GeoJSON (Multi)LineString(s)options
Object? Optional parameters
Examples
const lines = turf.featureCollection([
turf.lineString([[5.00001, 6.00001], [2, 2], [0, 1]]),
turf.lineString([[5, 5], [5, 6], [3, 4]])
])
const endNodes = osmlinter.closestEndNodes(lines)
//=endNodes
Returns FeatureCollection<Point> End nodes near other lines
index
Finds the angle between 3 points.
Parameters
startPoint
Array<number> Start Point CoordiantesmidPoint
Array<number> Mid Point CoordinatesendPoint
Array<number> End Point Coordinatesoptions
Examples
osmlinter.getAngle([5, 5], [5, 6], [3, 4])
//=45
Returns number angle
index
Detects if line is closed
Parameters
geojson
Feature<(LineString | MultiLineString | Polygon | MultiPolygon)> LineString(s) or Polygons(s)options
Object Optional parameters (optional, default{}
)
Examples
const line1 = turf.lineString([[5, 5], [5, 6], [3, 4], [5, 5]])
const line2 = turf.lineString([[5, 5], [5, 6], [3, 4], [3, 3]])
osmlinter.isLineClosed(line1)
//=true
osmlinter.isLineClosed(line2)
//=false
Returns boolean true/false if line is closed
impossibleAngle
Impossible Angle, this validator detects lines with less likely turning angles.
Parameters
lines
(FeatureCollection | Feature<(LineString | MultiLineString)>) GeoJSON (Multi)LineString(s)options
Object? Optional parameters
Examples
const line = {
type: 'LineString',
coordinates: [[5, 5], [5, 6], [3, 4]]
}
osmlinter.impossibleAngle(line)
Returns boolean true/false
isBuilding
Detects if geometry is highly likely to be a building
Parameters
geojson
Feature<(LineString | MultiLineString | Polygon | MultiPolygon)> LineString(s) or Polygons(s)options
Object Optional parameters (optional, default{}
)
Examples
const line = turf.lineString([[5, 5], [5, 6], [3, 4], [4, 4] [5, 5]])
osmlinter.isBuilding(line)
//=true/false
Returns boolean true/false
isRiverbank
Detects if geometry is highly likely to be a riverbank
Parameters
geojson
Feature<(LineString | MultiLineString | Polygon | MultiPolygon)> LineString(s) or Polygons(s)options
Object Optional parameters (optional, default{}
)
Examples
const line = turf.lineString([[5, 5], [5, 6], [3, 4]])
osmlinter.isRiverbank(line)
//=true/false
Returns boolean true/false
totalNodes
Count the amount of Nodes in a GeoJSON Geometry
Parameters
geojson
GeoJSON GeoJSON
Examples
const line = turf.lineString([[10, 5], [-10, 0]])
osmlinter.totalNodes(line) // => 2
Returns number Total number of nodes in GeoJSON
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago