Up to [cvs.NetBSD.org] / pkgsrc / geography / geos
Request diff between arbitrary revisions
Keyword substitution: kv
Default branch: MAIN
geography/geos: Update to 3.13.1 Upstream NEWS: ## Changes in 3.13.1 2024-03-03 - Fixes/Improvements: - Fix ConcaveHullOfPolygons nested shell handling (GH-1169, Martin Davis) - Fix RelateNG for computing IM for empty-nonempty cases (Martin Davis) - Fix LineString->getPoint(n) for M geometries (GH-1191, @hsieyuan) - Fix TopologyPreservingSimplifier/TaggedLineString to avoid jumping components (JTS-1096, Martin Davis) - Fix WKTWriter for small precisions and with trim enabled (GH-1199, Mike Taves) - Fix BufferOp to increase length of segments removed by heuristic (GH-1200, Martin Davis) - Improve RelateNG performance for A/L cases in prepared predicates (GH-1201, Martin Davis) - Improve OffsetCurve to handle mitre joins for polygons (Martin Davis) - Fix inscribed circle initialization (GH-1225, Benoit Maurin) - Fix overlay heuristic for GeometryCollections with empty elements (GH-1229, Martin Davis) - Add ring buffer hole removal heuristic (GH-1233, Martin Davis) - Fix buffer element erosion for negative distance and remove overlay deps (GH-1239, Martin Davis)
geography/geos: Update to 3.13.0 packaging changes: - change to cmake/build.mk - set test target (tests pass on NetBSD 10 amd64) - update HOMEPAGE - adjust revbumping instructions, because depending pcakages no longer wrongly link to the C++ library * NEWS: Changes in 3.13.0 (2024-09-06) - New things: - Add Angle::sinCosSnap to avoid small errors, e.g. with buffer operations (GH-978, Mike Taves) - Add classes for curved geometry types: CircularString, CompoundCurve, CurvedPolygon, MultiCurve, MultiSurface (GH-1046, Dan Baston/German QGIS users group/Canton of Basel-Landschaft/Canton of Zug) - Support curved geometry types in WKT/WKB readers/writers (GH-1046, GH-1104, GH-1106, Dan Baston) - 3D read and write support for GeoJSON (GH-1150, Oreilles) - Port of RelateNG https://github.com/locationtech/jts/pull/1052 (Martin Davis, Paul Ramsey) - Rewrite of boolean predicates and relate matrix calculations - "Prepared" mode now available for all predicates and relate matrix - CAPI functions GEOSPreparedRelate and GEOSPreparedRelatePattern expose new functionality - CAPI implementations of GEOSPreparedTouches, etc, that were previously defaulting into non-prepared implementations now default into the RelateNG prepared implementation - Prepared implementations for Intersects, Covers, still use the older implementations - https://lin-ear-th-inking.blogspot.com/2024/05/jts-topological-relationships-next.html - https://lin-ear-th-inking.blogspot.com/2024/05/relateng-performance.html - Breaking Changes - Zero-length linestrings (eg LINESTRING(1 1, 1 1)) are now treated as equivalent to points (POINT(1 1)) in boolean predicates - CMake 3.15 or later is requried (GH-1143, Mike Taves) * https://libgeos.org/posts/2024-09-06-geos-3-13-released/ This secion restates the NEWS with a different organization. The headline features of this release are: - A new approach to boolean predicates via RelateNG - Faster performance for many cases where a short circuit is available - Avoiding the full computation of a topology graph for every call - Ability to use a high speed “prepared” approach for the complete set of predicates as well as the relate matrix functions - Initial support for ISO SQL/MM curve types - Create, read and write support for CircularString, CompoundCurve, CurvedPolygon, MultiCurve, MultiSurface This release includes the following new features in the C API (and of course underlying changes to the C++ code to support these features): - GEOSGeom_createEmptyCircularString() creates a new empty CircularString - GEOSGeom_createCircularString(coordseq) creates a CircularString with the supplied coordinates - GEOSGeom_createEmptyCompoundCurve() creates a new empty CompoundCurve - GEOSGeom_createCompoundCurve(curves, ncurves) creates a CompoundCurve with the supplied components (start/end coordinates must match up) - GEOSGeom_createEmptyCurvePolygon() creates a new empty CurvePolygon - GEOSGeom_createCurvePolygon(shell, holes, nholes) creates a CurvePolygon with the supplied rings - GEOSPreparedRelate(prepgeom, geom) generates a DE9IM intersection matrix for the geometry pair, where one input has been “prepared” for fast repeated calls - GEOSPreparedRelatePattern(prepgeom, geom, pattern) tests a pair of geometry against a known DE9IM pattern to see if the relationship is consistent with the pattern
geography/geos: Update to 3.12.2 packaging changes: Our patch about __sun collides with upstream choosing illumos. Simply accept upstream, because our patch was not filed upstream as is documented in the guide. upstream changes: bug fixes and minor improvements tests pass on netbsd-10 amd64
geography/geos: Update to 3.12.1 upstream NEWS: bugfixes
geography/geos: Update to 3.12.0 ## Changes in 3.12.0 2023-06-27 - New things: - C++14 is now required. - Polygonal coverages: CoverageValidator, CoveragePolygonValidator, CoverageGapFinder, CoverageUnion (JTS-900, Martin Davis & Paul Ramsey) - Support reading and writing M values through WKB and WKT readers/writers (GH-721, Dan Baston) - Interpolate M values in overlay results (GH-802, Dan Baston) - CAPI: GEOSPreparedContainsXY, GEOSPreparedIntersectsXY (GH-677, Dan Baston) - Add CoordinateSequenceIterator (GH-685, Dan Baston) - Geometry clustering: DBSCAN, geometry intersection/distance, envelope intersection/distance (GH-688, Dan Baston) - CAPI: GEOSDisjointSubsetUnion (GH-692, Dan Baston) - CAPI: GEOSLineSubstring (GH-706, Dan Baston) - CAPI: GEOSEqualsIdentical (GH-810, Dan Baston) - CAPI: GEOSOrientPolygons (GH-818, Dan Baston) - CAPI: GEOSSTRtree_build (GH-835, Dan Baston) - CAPI: GEOSConcaveHullByLength (GH-849, Martin Davis) - CAPI: GEOSGeomGetM (GH-864, Mike Taves) - Voronoi: Add option to create diagram in order consistent with inputs (GH-781, Dan Baston) - Polygonal coverages: CoverageSimplifier (JTS-911, Martin Davis) - CAPI: GEOSCoverageIsValid, GEOSCoverageSimplifyVW (GH-867, Paul Ramsey) - CAPI: GEOSGeom_releaseCollection (GH-848) - CAPI: GEOSMinimumRotatedRectangle now uses MinimumAreaRectangle (Paul Ramsey) - Breaking Changes - CoverageUnion now requires valid inputs to produce valid outputs and may return invalid outputs silently when fed invalid inputs. Use CoverageValidator first if you do not know the validity of your data. - Changes: - Remove Orientation.isCCW exception to simplify logic and align with JTS (GH-878, Martin Davis) - Change MultiPoint WKT to use parentheses in sub-members (GH-903, Mike Taves) - Change WKBWriter default output dimension to 4 (GH-908, Mike Taves) - Change WKTWriter defaults output dimension to 4 and trim to 'on' (GH-915, Mike Taves) Much infrastructure work on GEOS this cycle was funded by a GDAL maintenance grant, and carried out by the amazing Dan Baston. Read a summary of the work accomplished here. https://www.mail-archive.com/gdal-dev@lists.osgeo.org/msg39018.html
geography/geos: Update to 3.11.2 ## Changes in 3.11.2 2023-03-16 - Fixes/Improvements: - GEOSIntersection: Fix FE_INVALID exception on intersection of disjoint geometries (GH-791, Joris Van den Bossche & Dan Baston) - Fix incorrect result from Envelope::disjoint (GH-791, Dan Baston) - Fix handling of odd cases in PolygonHoleJoiner (JTS-946, Paul Ramsey, Martin Davis) - Support gcc-13 (GH-743, Sergei Trofimovich) - Disallow Inf envelopes in Quadtree, avoid inf loop (Paul Ramsey) - GEOSUnaryUnion: Fix crash on collection containing empty point (GH-830, Dan Baston) - GEOSSTRtree_iterate: Do not return removed items (GH-833, Dan Baston) - IndexedFacetDistance: Fix crash with Inf coordinates (GH-821, Dan Baston) - HausdorffDistance: Fix crash on collection containing empty point (GH-840, Dan Baston) - MaximumInscribedCircle: Fix infinite loop with non-finite coordinates (GH-843, Dan Baston) - DistanceOp: Fix crash on collection containing empty point (GH-842, Dan Baston) - Guard against non-finite distances in Buffer/OffsetCurve (GH-661, Paul Ramsey)
geography/geos: Update to 3.11.1 bugfixes and minor improvements
geography/geos: Update to 3.11.0 Upstream NEWS: - New things: - OffsetCurve (GH-530, Paul Ramsey/Martin Davis) - ConcaveHull (GH-549, Paul Ramsey/Martin Davis) - PolygonHull (GH-603, Paul Ramsey/Martin Davis) - LineMerger directed option (GH-597, Sergei Sh) - CAPI: GEOSHilbertCode (GH-556, Brendan Ward) - CAPI: GEOSGeom_createRectangle (GH-558, Brendan Ward) - CAPI: GEOSGeom_transformXY (GH-563, Dan Baston/Brendan Ward) - CAPI: GEOSRemoveRepeatedPoints (GH-599, Paul Ramsey) - CAPI: GEOSLineMergeDirected (GH-597, Sergei Sh) - Improvements: - Allow direct setting of grid size (GH-513, Martin Davis) - Allow GEOS to be used as a CMake subproject (GH-518, Robert Coup) - Remove .inl inline files in favour of header declaration (GH-543, Paul Ramsey) - Add SnappingNoder seeding (Martin Davis) - Add OverlayNG area check heuristic (JTS-812, Paul Ramsey)
geography/geos: Add workaround for Solaris compiler The smartos bulk build reported a failure due to not resolving sqrt(5). Add a patch which is part of a change upstream just merged to deal with this: change 5 to 5.0.
geography/geos: Update to 3.10.3 Upstream changes are minor
geos: fix build on SunOS
geography/geos: Update to 3.10.2 bugfixes and minor improvements
geography/geos: Update to 3.10.1 upstream changes: bug fixes and minor improvements
geography: Replace RMD160 checksums with BLAKE2s checksums All checksums have been double-checked against existing RMD160 and SHA512 hashes
geography/geos: Update to 3.10.0 Packaging changes: Use cmake instead of the now-deleted autotools, introducing a regression in "make test" where the installed version is tested instead of the build tree version. Upstream changes: Changes in 3.10.0 2021-10-20 - New things: - CAPI: GEOSDistanceWithin, GEOSPreparedDistanceWithin (#1124, Sandro Santilli) - Output WKT using positional precision with the ryu library (#868, Paul Ramsey) - geosop CLI for GEOS (Martin Davis) - Full doxygen of the C-API (Paul Ramsey) - GeometryFixer class for validity enforcement (Martin Davis, Paul Ramsey) - CAPI: GEOSDensify (Brendan Ward) - CAPI: GEOSCoordSeq_copyFromArrays, GEOSCoordSeq_copyFromBuffer, GEOSCoordSeq_copyToArrays, GEOSCoordSeq_copyToBuffer (Daniel Baston) - CAPI: GEOSMakeValidWithParams new validity enforcement approach from https://github.com/locationtech/jts/pull/704, uses GeometryFixer (Paul Ramsey, Martin Davis) - CAPI: GEOSWKBWriter_getFlavor, GEOSWKBWriter_setFlavor support outputting ISO or Extended WKB flavors (#466, Paul Ramsey) - CAPI: GEOSConstrainedDelaunayTriangulation, builds a constrained triangulation of an input Polygon or MultiPolygon, returning a GeometryCollection(Polygon) of the triangles. - Fixes/Improvements: - Preserve ordering of lines in overlay results (Martin Davis) - Check for invalid geometry before fixing polygonal result in Densifier and DPSimplifier (Martin Davis) - Fix overlay handling of flat interior lines (JTS-685, Martin Davis) - Fix IsValidOp to correctly report invalid nested MultiPolygons (#1112, Martin Davis) - Fix BufferOp to avoid artifacts in certain polygon buffers (#1101, Martin Davis) - Fix IsValidOp to correctly report certain kinds of invalid LinearRings (Martin Davis) - Improve STRtree performance through TemplateSTRtree implementation (Daniel Baston) - Fix DiscreteFrechetDistance to use initial points of input lines (#1128, Martin Davis) - Changes: - Autoconf build system is dropped in favour of CMake See README.md and INSTALL.md for examples of usage - Libtool is no longer used for in favour of CMake Therefor libgeos.la is no longer built/installed - #1094, #1090: Drop inlines.cpp to address duplicate symbols on many platforms (Regina Obe) - GH475: Do not return NaN from GEOSProjectNormalized_r (Paul Ramsey) - GH442: BufferOp now returns unique_ptr<Geometry> result (Paul Ramsey)
geography: Remove SHA1 hashes for distfiles
geography/geos: Update to 3.9.1 upstream changes are bugfixes and minor improvements
geogrpahy/geos: Update to 3.9.0 Upstream NEWS: Changes in 3.9.0beta1 2020-11-27 - New things: - MaximumInscribedCircle and LargestEmptyCircle (JTS-530, Paul Ramsey) - CAPI: Fixed precision overlay operations (Sandro Santilli, Paul Ramsey) - CAPI: GEOSPreparedNearestPoints (#1007, Sandro Santilli) - CAPI: GEOSPreparedDistance (#1066, Sandro Santilli) - SimpleSTRTree spatial index implementation (Paul Ramsey) - Add support for pkg-config for GEOS C API (#1073, Mike Taves) - Improvements: - Stack allocate segments in OverlapUnion (Paul Ramsey) - Improve performance of GEOSisValid (Dan Baston) - Update geos-config tool for consistency and escape paths (https://git.osgeo.org/gitea/geos/geos/pulls/99) changes mostly affect CMake MSVC builds (#1015, Mike Taves) - Testing on Rasberry Pi 32-bit (berrie) (#1017, Bruce Rindahl, Regina Obe) - Replace ttmath with JTS DD double-double implementation (Paul Ramsey) - Fix bug in DistanceOp for geometries with empty components (#1026, Paul Ramsey) - Remove undefined behaviour in CAPI (#1021, Greg Troxel) - Fix buffering issue (#1022, JTS-525, Paul Ramsey) - MinimumBoundingCircle.getMaximumDiameter fix (JTS-533, Paul Ramsey) - Changes: - Drop SWIG bindings, including for Ruby and Python (#1076, Mike Taves)
geography/geos: Add upstream bug URL to patch
geography/geos: Improve patch comment
geography/geos: Adjust patch comment text
geography/geos: Update to 3.8.1 Changes in 3.8.1 2020-xx-xx - Bug fixes / improvements - Stack allocate line segments in OverlapUnion (Paul Ramsey) - Avoid returning non-empty CoordinateSequence from empty Point (#1001, Dan Baston) - Avoid assertion failure with MSVC 2017 / 2019 (#1002, Dan Baston) - Remove whitespace from end of GEOSversion() output (azhi) - Improve performance of GEOSisValid (#1008, Dan Baston) - Avoid changing MultiLineString component order in GEOSReverse (#1013, Dan Baston) - Fix missing vtable for LineString and CoordinateArraySequenceFactory (#299 and #1016, Evgen Bodunov) - Reduce performance regression in GEOSBuffer (#1020) Changes in 3.8.0 2019-10-10 - New things: - CAPI: GEOSBuildArea (#952, Even Rouault) - CAPI: GEOSMakeValid (#952, Even Rouault) - CAPI: GEOSPolygonize_valid (#727, Dan Baston) - CAPI: GEOSCoverageUnion (Dan Baston) - CAPI: GEOSCoordSeq_setXY, GEOSCoordSeq_setXYZ, GEOSCoordSeq_getXY, GEOSCoordSeq_getXYZ (Dan Baston) - CAPI: GEOSMinimumBoundingCircle (#735) - CAPI: GEOSGeom_createPointFromXY (Dan Baston) - Improvements: - Improve overall performance by reducing of heap allocations (Dan Baston) - Improve performance and robustness of GEOSPointOnSurface (Martin Davis) - Improve performance of GEOSPolygonize for cases with many potential holes (#748, Dan Baston) - Support extended precision calculations (ttmath) and port JTS improvements related to extended precision (Paul Ramsey, Mateusz Loskot) - Improve performance of GEOSPolygonize for cases with many or complex shells (Dan Baston, Martin Davis) - Improve performance of Delaunay triangulations / Voronoi Diagrams (Dan Baston) - Improve performance of prepared geometry operations (Dan Baston) - Improve robustness of Delaunay triangulations (Paul Ramsey, Martin Davis) - Improve performance of unary union for lines (Dan Baston) - Improve general predicate, overlay, and buffer performance (Dan Baston, Paul Ramsey) - Improve cascaded union performance (Paul Ramsey, Martin Davis) - Allocate default GeometryFactory singleton on the stack (Sandro Mani) - Harmonize XML tests with JTS and harmonize cmake/autoconf test running (Paul Ramsey) - CMake modernization (Mateusz Loskot, Paul Ramsey, Dan Baston) - Return unique_ptr from most methods that produce a new geometry (Dan Baston) - Changes: - Constructive geometry functions in CAPI now preserve SRID of input arguments in output (#896)
geography/geos: Update to 3.7.3 Upstream changes are bug fixes.
geography/geos: Update to 3.7.1. upstream changelog: Changes in 3.7.1 2018-11-29 - Bug fixes / improvements - Fix crash in GEOSCoordSeq_isCCW with empty coordseq (#927, Sergey Fedoseev) - Fix crash in GEOSInterpolate with empty LineString (#926, Sergey Fedoseev) - Fix crash in GEOSUnaryUnion with empty LineString (#928, Sergey Fedoseev) - Fix memory leak in SIRtree::insert (#919, Dan Baston) - Reduce required autoconf to 2.63 (#56, John Harvey) - Fix incorrect return values on error from GEOSLength GEOSisValidDetail (#941, Dan Baston)
Update to 3.7.0: pkgsrc changes: revise comments about geos C vs C++ library linking in light of unexpected libtool behavior (which defeats geos's scheme) Upstream NEWS: 3.7.0 changes 2018-09-10 - New things: - CAPI: GEOSDistanceIndexed (#795, Dan Baston) - CAPI: GEOSCoordSeq_isCCW (#870, Dan Baston) - CAPI: GEOSGeom_getXMin, GEOSGeom_getXMax, GEOSGeom_getYMin, GEOSGeom_getYMax (#871, Dan Baston) - CAPI: GEOSFrechetDistance (#797, Shinichi SUGIYAMA) - CAPI: GEOSReverse (#872, Dan Baston) - CAPI: GEOSGeomGetZ (#581, J Smith) - Improvements - Interruptible snap operation (Paul Ramsey) - Numerous packaging, doc, and build changes (Debian group: Bas Couwenberg, Francesco Paolo Lovergine) (NetBSD: Greg Troxel) - Allow static library with C API for CMake builds (#878, Dakota Hawkins) - C++ API changes: - Require defining USE_UNSTABLE_GEOS_CPP_API for use without warnings. - Make C++11 required (Mateusz Loskot) - Use C++11 unique_ptr, nullptr, and override constructs (Mateusz Loskot) - C++11 standard delete on noncopyable (#851, Vicky Vergara) - Fix CommonBits::getBit to correctly handle i >= 32 (#834, Kurt Schwehr)
Update to 3.6.2 Changes in 3.6.2 2017-07-25 - Bug fixes / improvements - Fix exception in UnaryUnion of collection of touching polygons (#837) - Allow building against python 3 (#774) - Fix build with android-ndk and other compilers (#799) - Allows compiling with -Wpointer-bool-conversion (#638) - Fix unhandled exception on invalid fp operation (#811) - Fix overloaded virtual print in DirectedEdge* (#812) - AppVeyor CI build added (#813) - Clean up numerous MSVC warnings, notably C4275 and C4589 (#814) - Bump CMake version to 3.0.0 (#817) - Fix leaks in WKT parser (#830) Changes in 3.6.1 2016-12-24 - Bug fixes / improvements - Fix GEOSSTRtree_nearest_r signature and add implementation (#796) - Fix --static-clibs and --static-cclibs returns from geos-config - Fix WKB representation of empty polygon (#680). - Fix empty GEOSSimplify return on inner ring collapse (#741) Changes in 3.6.0 2016-10-25 - Important / Breaking Changes: - The PHP binding moved to its own repository: http://git.osgeo.org/gogs/geos/php-geos (#765) - New things: - CAPI: GEOSGeom_{get,set}UserData (Rashad Kanavath) - CAPI: GEOSGeom_{set,get}Precision (#713) - CAPI: GEOSMinimumRotatedRectangle and GEOSMinimumWidth (#729, Nyall Dawson) - CAPI: GEOSSTRtree_nearest (#768, Dan Baston) - CAPI: GEOSMinimumClearance and GEOSMinimumClearanceLine (#776, Dan Baston) - C++ API changes: - Automatic memory management for GeometryFactory objects
Update to 3.5.1. Upstream changes are bugfixes: - Fix CMake configuration to allow build from released sources package (#753) - Fix memory leaks in single-sided buffers (#747), PlanarGraph and tests - Fix GeometryEditor to correctly update factory of empty geometries (#749) - Fix snapping of last segment of a closed linestring (#758) - Fix memory exhaustion case in isvalid (#757) - Fix Windows build with Visual Studio 2008 (#766) - Fix incorrect return from prepared multipoint intersects (#764) - Fix build against GCC 3.5.0+ (#784)
Add SHA512 digests for distfiles for geography category One mismatched digest found in geography/libmemphis02: # package libmemphis02 recorded SHA1 (memphis-0.2.3.tar.gz) = dbc2f61e49b996dc9ca91df0de9a08eb7adbfa9b calculated SHA1 (memphis-0.2.3.tar.gz) = 85993bce12c3616fcf6e7682a70b9605883edec2 No changes were made to the libmemphis02 distinfo file Otherwise, existing SHA1 digests verified and found to be the same on the machine holding the existing distfiles (morden). All existing SHA1 digests retained for now as an audit trail.
Passing non-POD types like std::string to variadic functions is UB. In this case, it is just plainly wasteful as well, so don't do that.
Update to 3.5.0. Changes in 3.5.0 2015-08-15 - New things: - Voronoi API (#627) - PHP: Geometry->normalize method - GEOS_USE_ONLY_R_API macro support (#695) - PHP: WKBReader->read() & WKBWriter::write() methods (Benjamin Morel) - GEOSClipByRect (#699, Mika Heiskanen, Sandro Santilli) - CAPI: thread-safe message handling API (#663, Pepijn Van Eeckhoudt) - Improvements: - Speed-up intersection and difference between geometries with small bounding box overlap. - CAPI: add MULTILINESTRING support for GEOSisClosed (Benjamin Morel) - C++ API changes: - Added no-parameter CoordinateSequenceFactory::create method (Sandro Mani)
Update to 3.4.2. patches/patch-include-geos-platform.h.in was applied upstream in r3902 (trunk) and r3903 (branches/3.4). Upstream NEWS: Changes in 3.4.2 2013-08-25 - Bug fixes / improvements - Use a double for PrecisionModel scale, avoiding overflows should fix 32-bit regression failures (#652) - isnan workaround OS detection missing NetBSD, DragonFly, Sun nuance (#650) - Do not distribute platform.h and version.h, but install both (#601) - Non-standard ChangeLog file in 3.4.0 and 3.4.1 releases (#654) - new travis bot (#657) - accept multiple Nan representations (#656)
Update to 3.4.1. Changes in 3.4.1 2013-08-DD - Bug fixes / improvements - Assertion failure snapping line to points of rectangle smaller than tolerance (#649) - Can't build using cmake with tar ball (#644) Changes in 3.4.0 2013-08-11 - New things: - Delaunay Triangulation API (#487, #565, #570, #567) - Interruptibility API (C and C++) - CAPI: GEOSNode (#496) - PHP: Geometry->node - GeometryPrecisionReducer class (#496, #526) - BufferInputLineSimplifier header exposed (#548) - New Centroid class supporting mixed geometry components (#612) - io::Writer::reserve() method - CAPI: GEOSNearestPoints - Add --cclibs, --static-clibs and --static-cclibs to geos-config (#497) - Early bail out of overlay exception if input is invalid - C++ API changes: - New noding::GeometryNoder class - Added BufferOp::setSingleSided - Signature of most functions taking a Label changed to take it by reference rather than pointer. - Signature of most functions taking an IntersectionMatrix changed to take it by reference rather than pointer. - GraphComponent::label is now a Label value (from a pointer) - NodedSegmentString takes ownership of CoordinateSenuence now - io::Writer's toString() returns by const ref, write() takes a const ref - Unify prototypes of WKTReader and WKBReader constructor (#310) - GeometryCollection::computeEnvelopInternal and GeometryCollection::compareToSameClass are marked virtual (#478) - Bug fixes / improvements - A point interpolated from a line does not always intersect the same line (#323) - Port ConvexHull robustness fix from JTS-1.13 (#457) - Improve Overlay robustness by reducing input precision on topology exception and by refusing to accept unnoded output (#459) - Improve Buffer robustness by reducing input precision on topology exception (#605) - Mismatch segment sides in OffsetCurveBuilder (#633 ) - Fixed Linear Referencing API to handle MultiLineStrings consistently by always using the lowest possible index value, and by trimming zero-length components from results (#323) - Fixed CMake configuration to set correct SOVERSION (current - age) - Fix EMPTY return from single-point lines and zero-length polygons (#612) - CMakeLists.txt, tools/geos_svn_revision_cmake.h.in: Add geos_svn_revision.h generator to CMake config (#643) - Makefile.vc 'clean' step leaks obj files (#607)
Update to 3.3.8: - IsValidOp: throw proper error on nested shells (#608) - Fix header guards (#617, #618, #619) - WKTWriter::appendCoordinate optimisation - Fix centroid computation for collections with empty components (#582)
Update to 3.3.7 - Bug fixes / improvements - Fix abort in RightmostEdgeFinder (#605) - Do not force precision reduction below 6 significant digits while trying to obtain a valid Buffer output (#605) - Fix GEOSPointOnSurface with zero-length linestring (#609) - Fix EMPTY return from zero-area polygon (#613) - Segfault from symdifference (#615)
Update to 3.3.6. Changes in 3.3.6 2012-11-15 -- that's Post-GIS day ! - Bug fixes / improvements - Add support for testing with phpunit 3.6 (not loosing support for 3.4) - Segfault from intersection (#586, #598, #599) Changes in 3.3.5 2012-06-25 - Bug fixes / improvements - Correctly increment CAPI lib version from 3.3.3 (#558) - Port robustness fix to CentroidArea (#559) - Always return POINT from GEOSGetCentroid, even for EMPTY (#560) - Always return POINT from GEOSPointOnSurface, even for EMPTY (#561)
Changes in 3.3.4 2012-05-31 - Bug fixes / improvements - Do not abort on NaN overlay input (#530) - Reduce CommonBitsRemover harmful effects during overlay op (#527) - Better cross-compiler support (#534) - Enable overlay ops short-circuits (#542) - Envelope-based short-circuit for symDifference (#543) - Fix support for PHP 5.4 (#513) - Fix TopologyPreservingSimplifier invalid output on closed line (#508) - Reduce calls to ptNotInList, greatly speeding up Polygonizer (#545) Changes in 3.3.3 2012-04-01 - Bug fixes / improvements - Fix simplification of collections with empty items (#519) - Fix MSVC compilation of ambiguous log() call (#506) - Fix CMake issues with std:: namespace detection (#493)
Fix broken patch file.
Fix problem with ISNAN on SunOS.
Update to 3.3.2 (bugfixes from 3.3.0, basically). Changes in 3.3.2 2012-01-05 - Bug fixes / improvements - Fix CMAKE_CXX_FLAGS overriding -std=gnu++0x (#489) - Missing versions update in CMake configuration (#490) - Fix noding of self-intersecting lines through UnaryUnion (#482) - Fix handling of collapsed edges skipping in BufferOp (#494) - Print up to 18 digits of precision for TopologyException points - Fix noding with reduced precision in Buffer operation (#473) - Fix HotPixel original point invalidation (#498) - Fix CascadedPolygonUnion to discard non-polygonal components (#499) - Improve buffer robustness by reverting to non-snaprounding noder (#495) - Fix C++11 build by avoiding std::pair<auto_ptr> (#491) - Add --clibs to geos-config and GEOS_C_LIBS to geos.m4 (#497) - Apply shoelace formula for area calculation (#485) - Fix default initialization issue for clang (#500) - Improve overlay robustness by fixing areal validity on snapping (#488) Changes in 3.3.1 2011-09-27 - Bug fixes / improvements - Fix memory leak on invalid geometry in InteriorPointArea (#475) - ValidOp abort in presence of 2 touching holes forming an island (#449) - Enable prepared intersects operation for points - Fortify suspicious code found by static analisys tools - Fix for SOLARIS build (#461) - Fix EMPTY result from GEOSOffsetCurve with distance 0 (#454) - Fix Geometry::clone to copy SRID (#464) - Fix for clang builds (#463) - Fix out-of-place builds for python binding (#332) and regress testing - Fix OS X framework cmake build (#385)
geometry/geos: Fix DragonFly DragonFly need the same platform.h.in modification that NetBSD requires for ISNAN support.
Handle isnan from cmath on NetBSD like on Darwin. XXX The comment in the code is wrong and using std::isnan is actually XXX the portable approach. DragonFly and other GCC users likely need the XXX same change
Changes 3.3.0: - New things: - CAPI: GEOSBufferWithParams (allows single sided buffers) - CAPI: GEOSOffsetCurve deprecates GEOSSingleSidedBuffer - CAPI: GEOSUnaryUnion deprecates GEOSCascadedUnion - CAPI: GEOSisValidDetail: tell state, reason & location apart. allows passing flags. - CAPI: GEOSContext_setNoticeHandler_r, GEOSContext_setErrorHandler_r - CAPI: GEOSGeom_createEmptyPoint, GEOSGeom_createEmptyLineString GEOSGeom_createEmptyPolygon, GEOSGeom_createEmptyCollection - CAPI: GEOSGeom_extractUniquePoints - CAPI: GEOSGetGeometryN support for single geometries - CAPI: GEOSPolygonize_full to return all informations computed by the polygonizer - CAPI: GEOSOrientationIndex - CAPI: GEOSSharedPaths to find shared paths and their orientation - CAPI: GEOSSnap - CAPI: GEOSRelatePatternMatch - CAPI: GEOSCovers, GEOSCoveredBy - CAPI: GEOSRelateBoundaryNodeRule - PHP: new PHP5 bindings based on CAPI - Semantic C++ API changes: - Geometry inheritance chain changed to introduce Puntal, Lineal and Polygonal classes (virtual inheritance introduced) - Polygonizer::getInvalidRingLines retains ownership of vector elements - Geometry::isWithinDistance method is now const - Polygonizer::getCutEdges returns by const ref - Polygonizer::getDangles returns by const ref - Empty LinearRings are closed by definition - Bug fixes / improvements - Fixed Geometry.distance() and DistanceOp to return 0.0 for empty inputs - Invalid compound geometries reported as valid - Return up to 15 digits of precision from GEOSisValidReason_t - CAPI: do not leak contexts when using the non-reentrant interface - Fix duplicated dangles returned by Polygonizer - Fix SnapIfNeededOverlayOp to throw the originating exception - Fixed LineMerger to skip lines with only a single unique coordinate - Fix NodedSegmentString to handle zero-length line segments correctly (via safeOctant) - Fixed buffer OffsetCurveSetBuilder to handle "flat" rings correctly - Added illegal state check in LineSegment::pointAlongOffset() - Improved performance of RectangleIntersects by always using segment-scanning and refining SegmentIntersectionTester - Reduce memory use in PreparedGeometry predicates - Fix infinite loop in RobustDeterminant with nan/inf input
Update geos to 3.2.2 Changelog: 2010-04-18 09:34 Sandro Santilli <strk@keybit.net> * [r2978] tests/unit/capi/GEOSGetCentroidTest.cpp: Forgot to add this, since I added the Makefile.am line.. 2010-04-17 21:55 Sandro Santilli <strk@keybit.net> * [r2975] NEWS, capi/geos_c.cpp, capi/geos_c.h.in, capi/geos_ts_c.cpp, configure.in, source/headers/geos/version.h.vc, tests/unit/Makefile.am: Back-port fix of GEOS-context leakage 2010-04-07 14:01 Mateusz Loskot <mateusz@loskot.net> * [r2973] source/dirlist.mk: Ported r2967 update to branches/3.2 2010-04-07 13:35 Mateusz Loskot <mateusz@loskot.net> * [r2969] nmake.opt: Removed NDEBUG from CPPFLAGS of debug build configuration (Ticket #338) 2010-03-29 17:50 Mateusz Loskot <mateusz@loskot.net> * [r2966] ., autogen.bat, nmake.opt, source/algorithm/distance/DistanceToPoint.cpp: Added NMake 10.x version to be recognized by nmake.opt (ported from trunk) 2010-03-29 16:21 Sandro Santilli <strk@keybit.net> * [r2963] ChangeLog: Update ChangeLog 2010-03-26 12:35 Mateusz Loskot <mateusz@loskot.net> * [r2956] source/headers/geos/platform.h.vc: platform.h.vc: disable min/max macros substitution (ported from trunk) 2010-03-26 12:03 Mateusz Loskot <mateusz@loskot.net> * [r2953] source/headers/geos/operation/union/CascadedPolygonUnion.h: Added GEOS_DLL with Microsoft-specific __declspec attribute missing from CascadedPolygonUnion class 2010-03-26 12:00 Mateusz Loskot <mateusz@loskot.net> * [r2951] source/geom/GeometryList.cpp: geom\GeoemtryList.cpp: missing implementation of GeometryList::size() function. 2010-03-26 11:57 Mateusz Loskot <mateusz@loskot.net> * [r2949] source/Makefile.vc: source\Makefile.vc: added missing geom\GeometryList.cpp 2010-03-26 11:52 Mateusz Loskot <mateusz@loskot.net> * [r2947] nmake.opt: nmake.opt: Added missing GEOS_DLL_EXPORT to CPPFLAGS 2010-03-19 15:09 Sandro Santilli <strk@keybit.net> * [r2945] NEWS, capi/geos_ts_c.cpp: Improve formatting for GEOSisValidReason_r (issue #329) 2010-03-18 18:28 Sandro Santilli <strk@keybit.net> * [r2943] NEWS: Add bugfix item 2010-03-18 18:26 Sandro Santilli <strk@keybit.net> * [r2942] source/headers/geos/operation/valid/IsValidOp.h, source/operation/valid/IsValidOp.cpp, tests/xmltester/tests/general/TestValid.xml: Fix false-positive return from IsValidOp. This is done better than in trunk, so will backport later. 2009-12-30 17:55 Mateusz Loskot <mateusz@loskot.net> * [r2836] source/Makefile.vc: Ported fix for missing CoordinateSequenceFactory?.cpp from makefile.vc (Ticket #313) 2009-12-14 19:21 Paul Ramsey <pramsey@cleverelephant.ca> * [r2830] capi/geos_c.h.in, configure.in, source/headers/geos/version.h.vc: Back up the versions to 3.2.1 for 3.2 branch
Update to 3.2.0: Changes in 3.2.0 - Add Single-sided buffer operation - JTS-1.10 sync ... - Drastically improved Buffer speed (20x for a case in testsuite) - Improved EdgeList duplicate edge finding - Added algorithm::distance package - Added algorithm::Angle class - Added algorithm::BoundaryNodeRule class - IsSimpleOp can now return non-simple location coordinate - DistanceOp can now check for 'within distance' predicate (earlier exit) - MultiPolygon::getBoundary always return MultiLineString, also when the result is the EMPTY geometry. - Various bug and leak fixes, optimizations - Replace MarkupSTL with tinyXML
Version 3.1.0 includes a number of improvements over the 3.0 version: - PreparedGeometry operations for very fast predicate testing. - Intersects() - Covers() - CoveredBy() - ContainsProperly() - Easier builds under MSVC and OpenSolaris - Thread-safe CAPI option - IsValidReason added to CAPI - CascadedUnion operation for fast unions of geometry sets - Single-sided buffering operation added - Numerous bug fixes. http://trac.osgeo.org/geos/query?status=closed&milestone=3.1.0&order=priority
Update to 3.0.3. Add TEST_TARGET. From NEWS: Changes in 3.0.3 - Bug fixes.
Update to 3.0.2. From NEWS: Changes in 3.0.1 - To be added
Update to 3.0.0. Changes in 3.0.0 These are mostly ABI breaking changes. In few cases the API also changed, but the most external one (the documented one) should be unchanged. - New things: - Added geom::BinaryOp class performing a binary operation using different heuristics to reduce probability of robustness issues. Both C-API and XMLTester now use this class for binary operations. - Added covers() and coveredBy() predicates to Geometry class - Added overlay::overlayOp() adapter class - Added GEOSSimplify() and GEOSTopologyPreserveSimplify() to the C API - Added closed ring checks in IsValidOp - Multi-input support in XMLTester - HEXWKB I/O - Envelope(string) ctor - Ruby interface - New ShortCircuitedGeometryVisitor class - New operation/predicate package - Added CGAlgorithms::isPointInRing() version working with Coordinate::ConstVect type (faster!) - Added getAt(int pos, Coordinate &to) funtion to CoordinateSequence class. - Moved GetNumGeometries() and GetGeometryN() interfaces from GeometryCollection to Geometry class. - New planarSubgraph class - New ConnectedSubgraphFinder class. - New LineSequencer class - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New WKTWriter::toLineString and ::toPoint convenience methods - New IsValidOp::setSelfTouchingRingFormingHoleValid method - New Envelope::centre() - New Envelope::intersection(Envelope) - New Envelope::expandBy(distance, [ydistance]) - New LineString::reverse() - New MultiLineString::reverse() - New Geometry::buffer(distance, quadSeg, endCapStyle) - New SnapRounding code - New size() and operator[] interfaces to CoordinateSequence - New ScaledNoder class - New unit tests (make check rule) - Optimizations: - WKT parser speedup - Function inlining - Coordinate copies reduction - Heap allocations reduction - More classes made final - Better use of standard containers - Use of singletons when appropriate - Removed many function calls in loops' end conditions - Improved XMLTester output and user interface - Improved memory use in geos::geom::util::PolygonExtractor - Ported JTS-1.7 version of ConvexHull with big attention to memory usage optimizations. - Changed CoordinateArrayFilter to reduce memory copies - Changed UniqueCoordinateArrayFilter to reduce memory copies - Added rectangle-based optimizations of intersects() and contains() ops - Inlined all planarGraphComponent class - More iterators returning methods and inlining in planargraph. - Obsoleted toInternalGeometry/fromInternalGeometry - Improved buffering speed and robustness by using Snap Rounding - Semantic changes - SegmentString: getCoordinates() doesn't return a clone anymore, getCoordinatesRO() obsoleted. - JTS packages mapped to geos:: sub-namespaces - Geometry::getInteriorPoint() returns NULL if called against an EMPTY geom - LineString::get{Start,End}Point return NULL for EMPTY geoms - GEOSException is now derived by std::runtim_exception and thrown by const reference. - Geometry constructors made protected, to force use of a GeometryFactory. - Correctness: - More const-correct signatures - Stronger methods typing (removed some void * args). - Changed index-related funx signatures to use size_t rather then int - More const-correctness in Buffer "package" - Bugfix in LineString::getCoordinate() failing to return NULL from getCoordinat() when empty. - Use unsigned int for indexes and sizes. - Layout changes: - Namespaces mapping JTS packages - Renamed classes after JTS names (namespaces use made this possible w/out name clashes) - Splitted headers, for build speedup and possible API reduction. - Moved source/bigtest and source/test to tests/bigtest and test/xmltester - Moved C-API in it's own top-level dir capi/ - Reworked automake scripts to produce a static lib for each subdir and then link all subsystem's libs togheter - Renamed DefaultCoordinateSequence to CoordinateArraySequence. - Renamed OverlayOp opcodes by prepending the 'op' prefix, and given the enum a name (OpCode) for type-safety. - Bug fixes: - Fixed bug causing redundant linestrings to be returned in the result of overlaying polygons containing touching holes (#13) - Fixed integer conversion bug - Fixed PointLocator handling of LinearRings - Added missing ::clone() methods for Multi* geoms - (Partial) Detailed list of changes: - Changed SegmentNode to contain a *real* Coordinate (not a pointer) to reduce construction costs. - Changed geomgraph nodeMap to use Coordinate pointers as keys - Envelope destructor made non-virtual to give compiler more static binding options. - Changed BufferSubgraph::computeDepths to use a set instead of a vector for checking visited Edges. - Made LineIntersector a concrete type - Node::isIncidentEdgeInResult() method made virtual - Const-correct signatures in LineMerger package - Changed operation/valid/*NestedRingTester classes interface to use Coordinate pointers instead of copies. - Changed EdgeIntersectionList to use a set instead of a vector - Changed DepthSegment to store a real Coordinate rather then a pointer. - Changed SubgraphDepthLocater to store real containers rather then pointers. - Changed BufferSubgraph to store a real RightmostEdgeFinder and real containers rather then pointers. - CoordinateSequence API changes: - point index and size related functions use unsigned int rather then int - Changed EdgeEndStar to maintain a single container for EdgeEnds - Changed PlanarGraph::addEdges to take a const vector by ref rathern then a non-const vector by pointer - Changed EdgeList::addAll to take a const vector by ref rather then a non-const vector by pointer - Added apply_rw(CoordinateFilter *) and apply_ro(CoordinateFilter *) const to CoordinateSequence - LineBuilder::lineEdgesList made a real vector, rather then pointer (private member) - SegmentString::eiList made a real SegmentNodeList, rather then a pointer (private member) - Removed coordinate copies in ElevationMatrix::elevate - Changed CoordinateFilter interface to have a const method for filter_rw, updated interfaces using this to take const CoordinateFilter (apply_rw).
Update to 2.2.3. (Minor and irrelevant changes omitted.) Take maintainership. Changes in 2.2.3 - CAPI: multiple finishGEOS() calls made harmless. Changes in 2.2.2 - Added LinearRing::clone - Added GEOSArea(), GEOSLength(), GEOSEnvelope(), and GEOSGeomType() to C API - Cleanups in C-API - Support for gcc-4 - Fixed Polygon::equalsExact - Fixed bug in NULL-factory Geometry constructor - Cleanups in SWIG wrappers - New Ruby bindings - Enumerated SweepLineEvent's DELETE and INSERT labels renamed to DELETE_EVENT and INSERT_EVENT. - Fixed geos-config to use system-specific libs path - Accept correct WKT format for MultiPoints - SRID support in (E)WKB reader. Changes in 2.2.0 - Higher dimensions interface for CoordinateSequence - Added getCoordinatesRO for Point class - NEW WKB IO - NEW Simplified and stabler C API Changes in 2.1.4 - Severe BUGFIX in BufferSubgraphGT and other functions used as StrictWeakOrdering predicates for sort() Changes in 2.1.3 - XMLTester installed by default - New Node::isIncidentEdgeInResult() method Changes in 2.1.2 - Added multipolygon buffering test in source/test/testLeaksBig - Ported JTS robustness patch for RobustLineIntersector - Removed useless Coordinate copies in OverlayOp::mergeZ() - Avoided throws by IsValid on invalid input - Stricter C++ syntax (math.h=>cmath, ieeefp.h in "C" block, ostringstream instead of sprintf) - Better support for older compilers (Polygonizer::LineStringAdder friendship) - Removed useless Coordinate copies in CGAlgorithms::isOnLine() - Added support for polygonize and parametrized buffer tests in XMLTester - Fixed Z interpolation in LineIntersector - Made polygon::getBoundary() always OGC-valid (no LinearRings) - Input checking and promoting in GeometryFactory::createMultiLineString() - Segfault fix in GeometryEditor::editPolygon() Changes in 2.1.1 - Fixed uninitialized Coordinate in TopologyException - Added install of version.h, platform.h and timeval.h - Z interpolation in overlay operations Changes in 2.1.0 - Added Polygonizer and LineMerger classes. - python wrapper examples - Z support in overlay operations.
Add @LDFLAGS@ to tools/geos-config.in, so that 'geos-config --libs' prints -L/usr/pkg/lib -Wl,-R/usr/pkg/lib -lgeos instead of -L/usr/pkg/lib -lgeos
Fix build with gcc4. Patch provided by Brook Milligan in PR 34273.
Import geos from pkgsrc-wip. Packaged by David Price. GEOS (Geometry Engine - Open Source) is a C++ port of the Java Topology Suite (JTS). It contain the complete functionality of JTS in C++. It includes all the OpenGIS "Simple Features for SQL" spatial predicate functions and spatial operators,and JTS topology functions like IsValid().
Initial revision