proj4j to use [org.locationtech.proj4j/proj4j "1.0.0"], changing namespace from org.osgeo.proj4j to org.locationtech.proj4jproj4-string? to proj4-str?, to maintain naming consistency in the APItransform-geom to use externally created proj4j CoordinateTransform objectsgeo.io readers and writers are now thread-safeh3-line function to H3 protocol, which returns the line of indexes between two cellsget-res-0-indexes function for H3, which returns a collection of all indexes at resolution 0h3 to 3.4.0, enabling support for functions described abovejts2geojson to 0.13.0, and jts to 1.16.1midje to 1.9.6, cheshire to 5.8.1, and lein-codox to 0.10.6crs namespaceh3-distance functiongeo.h3 for interacing with Uber's H3 tiling libraryThis namespace contains a variety of functions for interoperating with H3 via Uber's H3 Java Bindings. Some highlights include these functions implemented for H3 Cells expressed as either Longs or Strings:
(Via protocol geo.h3/H3Index)
This protocol is implemented for String and Long which are the 2 ways of representing an H3 cell.
to-stringto-longh3->ptget-resolutionk-ringk-ring-distancesto-jtsedgeedge-originedge-destinationedgesedge-boundarypentagon?is-valid?neighbors?Via protocol geo.h3/Polygonal
This protocol includes interfaces to H3's Polyfill functionality for tiling a polygon with H3 cells.
It is implemented for ch.hsr.geohash.GeoHash, org.locationtech.spatial4j.shape.impl.RectangleImpl, org.locationtech.jts.geom.Polygon, org.locationtech.jts.geom.LinearRing, and org.locationtech.jts.geom.MultiPolygon.
to-polygonpolyfillpolyfill-addressAdditional H3 Functions
compactuncompactmulti-polygonAdditionally, we've added the H3 GeoCoord class to geo's Shapelike and Point protocols, so they can interoperate with all of the existing spatial types.
See the full API docs for more detailed information.
Note while this change is relatively minor with regard to the outward API for factual/geo, it is considered a major version upgrade because any of the JTS types returned by this library will have moved from the com.vividsolutions namespace to org.locationtech. So users of this library may need to update any type-specific code or imports accordingly.
Several new functions have been added to the geo.jts namespace to deal with CRS projections.
geo.jts operations will default to SRID 4326, but will respect a geometry's existing SRID if setgeo.jts/transform-geom to convert a JTS Geometry to an alternate CRS.geo.jts/get-srid to check the SRID of a JTS Geometrygeo.jts/set-srid to check the SRID of a JTS Geometrygeo.jts functions linear-ring, polygon-wkt, and multi-polygon-wkt now accept optional srid arguments for constructing new geometries in the desired SRIDgeo.spatial/to-jts New Shapelike protocol function for converting Shapelikes to JTS geometries. Accepts an optional SRID and defaults to 4326See geo.crs for some helpers around checking and manipulating CRS reference IDs.
geo.io/read-geojson Can now read GeoJSON Features and FeatureCollections. Note that the interface of this has changed somewhat to accommodate the different structures of GeoJSON Geometries, Features, and FeatureCollections. read-geojson will always return a sequence of Feature maps containing :geometry and :properties keysgeo.io/parse-geojson To access the raw GeoJSON entity (Geometry, Feature, or FeatureCollection) if neededgeo.io/to-geojson-feature-collection or geo.io/to-geojson-feature to construct the appropriate GeoJSON from a map containing {:properties {...} :geometry <JTS Geom>}geo.spatial/rand-point-in-radius for getting a random point within a given radius of a given center pointgeo.spatial/resegment for partitioning JTS LineStrings into segments of a given max lengthgeo.geohash/geohashes-intersecting has been optimized significantly for tiling large geometries with small geohash levels.geo.io namespace with functions for reading and writing common geo formatsCan you improve this documentation?Edit on GitHub
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |