2.0.1 • Published 1 year ago
geojson-polygon-labels v2.0.1
geojson-polygon-labels
Command line tool to generate point labels from GeoJSON polygons.
Features include:
- Supports GeoJSON FeatureCollections or GeoJSON Features separated by a newline
- Point and LineString features present in the input are ignored
- Supports GeometryCollections and MultiPolygons with options to label each part (
--collections=explode), only the largest part (--collections=largest), or treat all parts as one (--collections=combine) - Label placement algorithm supported are:
- polylabel pole of inaccessibility, the most distant internal point from the polygon outline
- center, simple center by finding the midpoint between the extents of the polygon
- center of mass, imagine the polygon is a sheet of paper, finds where the sheet would balance on a fingertip
- center mean, takes the average of all the coordinates, unlike center it is sensitive to clusters and outliers
- center median, takes the mean center and tries to find, iteratively, a new point that requires the least amount of travel from all points in the polygon. not as sensitive to outliers as center-mean
- centroid, find the mean of all the verticies within the polygon
- point in polygon, finds an arbitrary point guaranteed to be within the polygon
- Source feature properties are retained
- Optionally adds an
_areaproperty (in m²) (--include-area) - Optionally adds a
_bboxproperty ([west, south, east, north]) (--include-bbox) - Optionally adds a
tippecanoeminzoom to each label (--include-minzoom)
Install
npm install --global geojson-polygon-labelsCommand Line
geojson-polygon-labels [--polylabel-precision=0.001] [--coordinate-precision=5] [--include-area] [--include-bbox] [--method=polylabel] [--collections=explode] [--include-minzoom=0-16] [--verbose] layer.geojson > labels.geojson--polylabel-precisionPolylabel precision. Defaults to0.000001.--coordinate-precisionOutput coordinate precision. Defaults to5.--methodLabel placement algorithm. Options arepolylabel,centroid,center-of-mass,center-mean,center-median,centroid,point-in-polygon.--include-areaAdds an_areaproperty in m².--include-bboxAdds a_bboxproperty as[west, south, east, north]--include-minzoomwill try to determine a suitable minzoom for the label to appear at and save it in thetippecanoekey for use in tippecanoe. Value in the form min-max where min is the smallest minzoom and max the largest minzoom.--collectionsHow to place labels for GeometryCollections or Multi* Geometry types. Options areexplode,largest,combine.--input-formatInput format. Options aregeojson,geojsonseq.--output-formatOutput format. Options aregeojson,geojsonseq.