geosop - GEOS 3.13.1 Executes GEOS geometry operations Usage: geosop [OPTION...] opName opArg -a arg source for A geometries (WKT, WKB, file, stdin, stdin.wkb) -b arg source for B geometries (WKT, WKB, file, stdin, stdin.wkb) -l, --limita arg Limit number of A geometries read -o, --offseta arg Skip reading first N geometries of A -c, --collect Collect input into single geometry (automatic for AGG ops) -e, --explode Explode results into component geometries -f, --format arg Output format (wkt, wkb, txt or geojson) -p, --precision arg Set number of decimal places in output coordinates -q, --quiet Disable result output -r, --repeat arg Repeat operation N times --select Select geometries where op result is true --selectNot Select geometries where op result is false -t, --time Print execution time -v, --verbose Verbose output -h, --help Print help Notes: - to use negative numeric op arguments use '--' before the op name - Negative numeric op arguments can be specified with leading N: e.g. N-0.1 Operations: Geometry ------------------ A copy > G - copy geometry A envelope > G - envelope of geometry A hasZ > B - test if geometry has Z ordinate A hasM > B - test if geometry has M ordinate A isEmpty > B - test if geometry is empty A lineMerge > G - merge the lines of geometry A normalize > G - normalize geometry A reducePrecision N > G - reduce precision of geometry to a precision scale factor A reducePrecisionKeepCollapsed N > G - reduce precision of geometry to a precision scale factor A reducePrecisionPointwise N > G - reduce precision of geometry to a precision scale factor A reverse > G - reverse geometry Metric ------------------ A area > D - area of geometry A length > D - length or perimeter of geometry Validity ------------------ A isSimple > B - test if geometry is simple A isValid > B - test if geometry is valid A fixInvalid > G - fix invalid geometry to be valid A makeValid > G - make geometry valid (original algorithm) Construction ------------------ A boundary > G - compute geometry boundary A buffer N > G - compute the buffer of geometry by a distance A bufferQuadSegs N N > G - compute the buffer of geometry by a distance with quadrant segments A bufferJoin N N > G - compute the buffer of geometry by a distance, with join >0 = QS, 0 = Bevel, <0 = Mitre limit A offsetCurve N > G - compute the offset curve of geometry by a distance A offsetCurveJoin N N > G - compute the offset curve of geometry by a distance, with join >0 = QS, 0 = Bevel, <0 = Mitre limit A OLDoffsetCurve N > G - compute the offset curve of geometry by a distance A centroid > G - compute geometry centroid A convexHull > G - compute geometry convex hull A concaveHull N > G - compute geometry concave hull for Edge Length Ratio A concaveHullByLength N > G - compute geometry concave hull for Edge Length A concaveHullHoles N > G - compute geometry concave hull allowing holes for Edge Length Ratio A densify N > G - densify geometry to a segment length A interiorPoint > G - compute interior point of geometry A largestEmptyCircle N > G - compute radius line of largest empty circle between obstacles, up to a distance tolerance A B largestEmptyCircleBdy N > G - compute radius line of largest empty circle between obstacles with center in a boundary, up to a distance tolerance A maxInscribedCircle N > G - compute maximum inscribed circle radius of Polygon up to a distance tolerance A minAreaRectangle > G - compute minimum-area rectangle enclosing geometry A minBoundingCircle > G - compute minimum bounding circle of geometry A maxDiameter > G - compute maximum diameter line of geometry A minDiameter > G - compute minimum diameter line of geometry A delaunay > G - compute the Delaunay Triangulation of geometry vertices A constrainedDelaunay > G - constrained Delauanay triangulation of polygonal geometries A voronoi > G - Voronoi Diagram of geometry vertices A polygonize > G - polygonize lines A polygonizeValid > G - polygonize lines into a valid polygonal geometry A buildArea > G - build area from lines A simplifyDP N > G - simplify geometry using Douglas-Peucker by a distance tolerance A simplifyTP N > G - simplify geometry using Douglas-Peucker with a distance tolerance, preserving topology Distance ------------------ A B distance > D - compute distance between geometry A and B A B nearestPoints > G - compute a line containing the nearest points of geometry A and B A B frechetDistance > D - compute discrete Frechet distance between geometry A and B A B hausdorffDistance > D - compute discrete Hausdorff distance between geometry A and B A B distancePrep > D - compute distance between geometry A and B using PreparedGeometry A B nearestPointsPrep > G - compute a line containing the nearest points of geometry A and B using PreparedGeometry Spatial Relationship ------------------ A B contains > B - test if geometry A contains geometry B A B coveredBy > B - test if geometry A is covered by geometry B A B covers > B - test if geometry A covers geometry B A B crosses > B - test if geometry A crosses geometry B A B disjoint > B - test if geometry A is disjoint from geometry B A B equals > B - test if geometry A equals geometry B A B intersects > B - test if geometry A intersects geometry B A B overlaps > B - test if geometry A overlaps geometry B A B touches > B - test if geometry A touches geometry B A B within > B - test if geometry A is within geometry B A B relate > S - compute DE-9IM matrix for geometry A and B A B relateBNR N > S - compute DE-9IM matrix for geometry A and B with a Boundary Node Rule (1=Mod2,2=Endpt,3=Multivalent,4=Monovalent) A B containsPrep > B - test if geometry A contains geometry B, with A prepared A B containsProperlyPrep > B - test if geometry A properly contains geometry B, with A prepared A B coversPrep > B - test if geometry A covers geometry B, with A prepared A B intersectsPrep > B - test if geometry A intersects geometry B, with A prepared A B orientationIndex > I - orientation index for a line segment and a point Overlay ------------------ A B difference > G - compute difference of geometry A from B A B intersection > G - compute intersection of geometry A and B A B symDifference > G - compute symmetric difference of geometry A and B A unaryUnion AGG > G - compute aggregate union A B union > G - compute union of geometry A and B A B differenceSR N > G - compute difference of geometry A from B, snap-rounding to a precision scale factor A B intersectionSR N > G - compute intersection of geometry A and B, snap-rounding to a precision scale factor A B symDifferenceSR N > G - compute symmetric difference of geometry A and B, snap-rounding to a precision scale factor A B unionSR N > G - compute union of geometry A and B, snap-rounding to a precision scale factor A unaryUnionSR N AGG > G - compute aggregate union A node > G - compute fully noded geometry A B clipRect > G - clip geometry A to envelope of B Linear Referencing ------------------ A extractLine N N > G - compute the line between two distances along linear geometry A A interpolate N > G - compute a point interpolated along a distance from the start of geometry A A B project > D - compute the distance of point B projected onto line A from the start of the line Clustering ------------------ A clusterIntersecting AGG > G - cluster geometries based on intersection A clusterWithin N AGG > G - cluster geometries based on distance Coverage ------------------ A coverageSimplify N AGG > G - simplify a polygonal coverage by a distance tolerance A coverageUnionNG AGG > G - union a polygonal coverage A coverageUnion AGG > G - union a polygonal coverage A coverageValidate AGG > G - validate a polygonal coverage