| 1 | Changes in 3.7.0rc1
|
|---|
| 2 | 2018-08-19
|
|---|
| 3 | Fixes / enhancements since 3.7.0beta2
|
|---|
| 4 | - Avoid segfault when querying empty tree (#730, framm)
|
|---|
| 5 | - Collection with Empty components crashes overlay (#782, Dan Baston)
|
|---|
| 6 | - Allow static library with C API for CMake builds (#878, Dakota Hawkins)
|
|---|
| 7 |
|
|---|
| 8 |
|
|---|
| 9 | Changes in 3.7.0beta2
|
|---|
| 10 | 2018-08-06
|
|---|
| 11 | Fixes since 3.7.0beta1
|
|---|
| 12 | - Fix infinite loop in GEOSClipByRect (#865, Dan Baston)
|
|---|
| 13 | - Make GEOSException inherit from std::runtime_error
|
|---|
| 14 | to address clang warnings (Dan Baston)
|
|---|
| 15 | - Add missing CMake files to tarball (#895, Regina Obe)
|
|---|
| 16 |
|
|---|
| 17 | 3.7.0 changes
|
|---|
| 18 | - New things:
|
|---|
| 19 | - CAPI: GEOSDistanceIndexed (#795, Dan Baston)
|
|---|
| 20 | - CAPI: GEOSCoordSeq_isCCW (#870, Dan Baston)
|
|---|
| 21 | - CAPI: GEOSGeom_getXMin, GEOSGeom_getXMax,
|
|---|
| 22 | GEOSGeom_getYMin, GEOSGeom_getYMax (#871, Dan Baston)
|
|---|
| 23 | - CAPI: GEOSFrechetDistance (#797, Shinichi SUGIYAMA)
|
|---|
| 24 | - CAPI: GEOSReverse (#872, Dan Baston)
|
|---|
| 25 | - CAPI: GEOSGeomGetZ (#581, J Smith)
|
|---|
| 26 |
|
|---|
| 27 | - Improvements
|
|---|
| 28 | - Interruptible snap operation (Paul Ramsey)
|
|---|
| 29 | - Numerous packaging, doc, and build changes
|
|---|
| 30 | (Debian group: Bas Couwenberg, Francesco Paolo Lovergine)
|
|---|
| 31 |
|
|---|
| 32 | - C++ API changes:
|
|---|
| 33 | - Require defining USE_UNSTABLE_GEOS_CPP_API for use without
|
|---|
| 34 | warnings.
|
|---|
| 35 | - Make C++11 required (Mateusz Loskot)
|
|---|
| 36 | - Use C++11 unique_ptr, nullptr, and override constructs
|
|---|
| 37 | (Mateusz Loskot)
|
|---|
| 38 | - C++11 standard delete on noncopyable
|
|---|
| 39 | (#851, Vicky Vergara)
|
|---|
| 40 | - Fix CommonBits::getBit to correctly handle i >= 32
|
|---|
| 41 | (#834, Kurt Schwehr)
|
|---|
| 42 |
|
|---|
| 43 | Changes in 3.7.0beta1
|
|---|
| 44 | 2018-06-25
|
|---|
| 45 | See 3.7.0 latest notes
|
|---|
| 46 |
|
|---|
| 47 | Changes in 3.7.0alpha
|
|---|
| 48 | 2018-06-14
|
|---|
| 49 | See 3.7.0 notes
|
|---|
| 50 |
|
|---|
| 51 | Changes in 3.6.1
|
|---|
| 52 | 2016-12-24
|
|---|
| 53 |
|
|---|
| 54 | - Bug fixes / improvements
|
|---|
| 55 | - Fix GEOSSTRtree_nearest_r signature and add implementation (#796)
|
|---|
| 56 | - Fix --static-clibs and --static-cclibs returns from geos-config
|
|---|
| 57 | - Fix WKB representation of empty polygon (#680).
|
|---|
| 58 | - Fix empty GEOSSimplify return on inner ring collapse (#741)
|
|---|
| 59 |
|
|---|
| 60 | Changes in 3.6.0
|
|---|
| 61 | 2016-10-25
|
|---|
| 62 |
|
|---|
| 63 | - Important / Breaking Changes:
|
|---|
| 64 | - The PHP binding moved to its own repository:
|
|---|
| 65 | http://git.osgeo.org/gogs/geos/php-geos (#765)
|
|---|
| 66 | - New things:
|
|---|
| 67 | - CAPI: GEOSGeom_{get,set}UserData (Rashad Kanavath)
|
|---|
| 68 | - CAPI: GEOSGeom_{set,get}Precision (#713)
|
|---|
| 69 | - CAPI: GEOSMinimumRotatedRectangle and GEOSMinimumWidth
|
|---|
| 70 | (#729, Nyall Dawson)
|
|---|
| 71 | - CAPI: GEOSSTRtree_nearest (#768, Dan Baston)
|
|---|
| 72 | - CAPI: GEOSMinimumClearance and GEOSMinimumClearanceLine
|
|---|
| 73 | (#776, Dan Baston)
|
|---|
| 74 | - C++ API changes:
|
|---|
| 75 | - Automatic memory management for GeometryFactory objects
|
|---|
| 76 |
|
|---|
| 77 |
|
|---|
| 78 | Changes in 3.5.0
|
|---|
| 79 | 2015-08-16
|
|---|
| 80 |
|
|---|
| 81 | - New things:
|
|---|
| 82 | - Voronoi API (#627)
|
|---|
| 83 | - PHP: Geometry->normalize method
|
|---|
| 84 | - GEOS_USE_ONLY_R_API macro support (#695)
|
|---|
| 85 | - PHP: WKBReader->read() & WKBWriter::write() methods (Benjamin Morel)
|
|---|
| 86 | - GEOSClipByRect (#699, Mika Heiskanen, Sandro Santilli)
|
|---|
| 87 | - CAPI: thread-safe message handling API (#663, Pepijn Van Eeckhoudt)
|
|---|
| 88 | - Improvements:
|
|---|
| 89 | - Speed-up intersection and difference between geometries
|
|---|
| 90 | with small bounding box overlap.
|
|---|
| 91 | - CAPI: add MULTILINESTRING support for GEOSisClosed (Benjamin Morel)
|
|---|
| 92 | - C++ API changes:
|
|---|
| 93 | - Added no-parameter CoordinateSequenceFactory::create method (Sandro Mani)
|
|---|
| 94 |
|
|---|
| 95 | Changes in 3.4.2
|
|---|
| 96 | 2013-08-25
|
|---|
| 97 |
|
|---|
| 98 | - Bug fixes / improvements
|
|---|
| 99 | - Use a double for PrecisionModel scale, avoiding overflows
|
|---|
| 100 | should fix 32-bit regression failures (#652)
|
|---|
| 101 | - isnan workaround OS detection missing NetBSD, DragonFly, Sun nuance (#650)
|
|---|
| 102 | - Do not distribute platform.h and version.h, but install both (#601)
|
|---|
| 103 | - Non-standard ChangeLog file in 3.4.0 and 3.4.1 releases (#654)
|
|---|
| 104 | - new travis bot (#657)
|
|---|
| 105 | - accept multiple Nan representations (#656)
|
|---|
| 106 |
|
|---|
| 107 |
|
|---|
| 108 | Changes in 3.4.1
|
|---|
| 109 | 2013-08-17
|
|---|
| 110 |
|
|---|
| 111 | - Bug fixes / improvements
|
|---|
| 112 | - Assertion failure snapping line to points of rectangle
|
|---|
| 113 | smaller than tolerance (#649)
|
|---|
| 114 | - Can't build using cmake with tar ball (#644)
|
|---|
| 115 |
|
|---|
| 116 | Changes in 3.4.0
|
|---|
| 117 | 2013-08-11
|
|---|
| 118 |
|
|---|
| 119 | - New things:
|
|---|
| 120 | - Delaunay Triangulation API (#487, #565, #570, #567)
|
|---|
| 121 | - Interruptibility API (C and C++)
|
|---|
| 122 | - CAPI: GEOSNode (#496) - PHP: Geometry->node
|
|---|
| 123 | - GeometryPrecisionReducer class (#496, #526)
|
|---|
| 124 | - BufferInputLineSimplifier header exposed (#548)
|
|---|
| 125 | - New Centroid class supporting mixed geometry components (#612)
|
|---|
| 126 | - io::Writer::reserve() method
|
|---|
| 127 | - CAPI: GEOSNearestPoints
|
|---|
| 128 | - Add --cclibs, --static-clibs and --static-cclibs to geos-config (#497)
|
|---|
| 129 | - Early bail out of overlay exception if input is invalid
|
|---|
| 130 |
|
|---|
| 131 | - C++ API changes:
|
|---|
| 132 | - New noding::GeometryNoder class
|
|---|
| 133 | - Added BufferOp::setSingleSided
|
|---|
| 134 | - Signature of most functions taking a Label changed to take it
|
|---|
| 135 | by reference rather than pointer.
|
|---|
| 136 | - Signature of most functions taking an IntersectionMatrix changed
|
|---|
| 137 | to take it by reference rather than pointer.
|
|---|
| 138 | - GraphComponent::label is now a Label value (from a pointer)
|
|---|
| 139 | - NodedSegmentString takes ownership of CoordinateSenuence now
|
|---|
| 140 | - io::Writer's toString() returns by const ref, write() takes a const ref
|
|---|
| 141 | - Unify prototypes of WKTReader and WKBReader constructor (#310)
|
|---|
| 142 | - GeometryCollection::computeEnvelopInternal and
|
|---|
| 143 | GeometryCollection::compareToSameClass are marked virtual (#478)
|
|---|
| 144 |
|
|---|
| 145 | - Bug fixes / improvements
|
|---|
| 146 | - A point interpolated from a line does not always intersect
|
|---|
| 147 | the same line (#323)
|
|---|
| 148 | - Port ConvexHull robustness fix from JTS-1.13 (#457)
|
|---|
| 149 | - Improve Overlay robustness by reducing input precision on topology
|
|---|
| 150 | exception and by refusing to accept unnoded output (#459)
|
|---|
| 151 | - Improve Buffer robustness by reducing input precision on topology
|
|---|
| 152 | exception (#605)
|
|---|
| 153 | - Mismatch segment sides in OffsetCurveBuilder (#633 )
|
|---|
| 154 | - Fixed Linear Referencing API to handle MultiLineStrings consistently
|
|---|
| 155 | by always using the lowest possible index value, and by trimming
|
|---|
| 156 | zero-length components from results (#323)
|
|---|
| 157 | - Fixed CMake configuration to set correct SOVERSION (current - age)
|
|---|
| 158 | - Fix EMPTY return from single-point lines and zero-length polygons (#612)
|
|---|
| 159 | - CMakeLists.txt, tools/geos_svn_revision_cmake.h.in: Add
|
|---|
| 160 | geos_svn_revision.h generator to CMake config (#643)
|
|---|
| 161 | - Makefile.vc 'clean' step leaks obj files (#607)
|
|---|
| 162 |
|
|---|
| 163 | Changes in 3.3.9
|
|---|
| 164 | 2013-09-04
|
|---|
| 165 |
|
|---|
| 166 | - Bug fixes / improvements
|
|---|
| 167 | - Fix OffsetCurve op in presence of duplicated vertices (#602)
|
|---|
| 168 | - Fix LineSegmentVisitor copy ctor (#636)
|
|---|
| 169 | - Fix area boundary return from GEOSPointOnSurface (#623)
|
|---|
| 170 | - Speedup GEOSWKBReader_read (#621)
|
|---|
| 171 | - Fix RobustLineIntersector handling of invalid intersection points (#622)
|
|---|
| 172 | - Reduce likelyhood of invalid output from snap operation (#629, #501)
|
|---|
| 173 | - Reduce memory fragmentation of prepared Polygon/Point intersection op
|
|---|
| 174 | - Fix mingw64 compile (#630)
|
|---|
| 175 | - Fix bug in HotPixel constructor (#635)
|
|---|
| 176 | - Fix install location of linearref headers (#624)
|
|---|
| 177 | - Fix multi-geometry constructor to drop SRID from components (#583)
|
|---|
| 178 |
|
|---|
| 179 | Changes in 3.3.8
|
|---|
| 180 | 2013-02-28
|
|---|
| 181 |
|
|---|
| 182 | - Bug fixes / improvements
|
|---|
| 183 | - IsValidOp: throw proper error on nested shells (#608)
|
|---|
| 184 | - Fix header guards (#617, #618, #619)
|
|---|
| 185 | - WKTWriter::appendCoordinate optimisation
|
|---|
| 186 | - Fix centroid computation for collections with empty components (#582)
|
|---|
| 187 |
|
|---|
| 188 | Changes in 3.3.7
|
|---|
| 189 | 2013-01-22
|
|---|
| 190 |
|
|---|
| 191 | - Bug fixes / improvements
|
|---|
| 192 | - Fix abort in RightmostEdgeFinder (#605)
|
|---|
| 193 | - Do not force precision reduction below 6 significant digits
|
|---|
| 194 | while trying to obtain a valid Buffer output (#605)
|
|---|
| 195 | - Fix GEOSPointOnSurface with zero-length linestring (#609)
|
|---|
| 196 | - Fix EMPTY return from zero-area polygon (#613)
|
|---|
| 197 | - Segfault from symdifference (#615)
|
|---|
| 198 |
|
|---|
| 199 | Changes in 3.3.6
|
|---|
| 200 | 2012-11-15 -- that's Post-GIS day !
|
|---|
| 201 |
|
|---|
| 202 | - Bug fixes / improvements
|
|---|
| 203 | - Add support for testing with phpunit 3.6 (not loosing support for 3.4)
|
|---|
| 204 | - Segfault from intersection (#586, #598, #599)
|
|---|
| 205 |
|
|---|
| 206 | Changes in 3.3.5
|
|---|
| 207 | 2012-06-25
|
|---|
| 208 |
|
|---|
| 209 | - Bug fixes / improvements
|
|---|
| 210 | - Correctly increment CAPI lib version from 3.3.3 (#558)
|
|---|
| 211 | - Port robustness fix to CentroidArea (#559)
|
|---|
| 212 | - Always return POINT from GEOSGetCentroid, even for EMPTY (#560)
|
|---|
| 213 | - Always return POINT from GEOSPointOnSurface, even for EMPTY (#561)
|
|---|
| 214 |
|
|---|
| 215 | Changes in 3.3.4
|
|---|
| 216 | 2012-05-31
|
|---|
| 217 |
|
|---|
| 218 | - Bug fixes / improvements
|
|---|
| 219 | - Do not abort on NaN overlay input (#530)
|
|---|
| 220 | - Reduce CommonBitsRemover harmful effects during overlay op (#527)
|
|---|
| 221 | - Better cross-compiler support (#534)
|
|---|
| 222 | - Enable overlay ops short-circuits (#542)
|
|---|
| 223 | - Envelope-based short-circuit for symDifference (#543)
|
|---|
| 224 | - Fix support for PHP 5.4 (#513)
|
|---|
| 225 | - Fix TopologyPreservingSimplifier invalid output on closed line (#508)
|
|---|
| 226 | - Reduce calls to ptNotInList, greatly speeding up Polygonizer (#545)
|
|---|
| 227 |
|
|---|
| 228 | Changes in 3.3.3
|
|---|
| 229 | 2012-04-01
|
|---|
| 230 |
|
|---|
| 231 | - Bug fixes / improvements
|
|---|
| 232 | - Fix simplification of collections with empty items (#519)
|
|---|
| 233 | - Fix MSVC compilation of ambiguous log() call (#506)
|
|---|
| 234 | - Fix CMake issues with std:: namespace detection (#493)
|
|---|
| 235 |
|
|---|
| 236 | Changes in 3.3.2
|
|---|
| 237 | 2012-01-05
|
|---|
| 238 |
|
|---|
| 239 | - Bug fixes / improvements
|
|---|
| 240 | - Fix CMAKE_CXX_FLAGS overriding -std=gnu++0x (#489)
|
|---|
| 241 | - Missing versions update in CMake configuration (#490)
|
|---|
| 242 | - Fix noding of self-intersecting lines through UnaryUnion (#482)
|
|---|
| 243 | - Fix handling of collapsed edges skipping in BufferOp (#494)
|
|---|
| 244 | - Print up to 18 digits of precision for TopologyException points
|
|---|
| 245 | - Fix noding with reduced precision in Buffer operation (#473)
|
|---|
| 246 | - Fix HotPixel original point invalidation (#498)
|
|---|
| 247 | - Fix CascadedPolygonUnion to discard non-polygonal components (#499)
|
|---|
| 248 | - Improve buffer robustness by reverting to non-snaprounding noder (#495)
|
|---|
| 249 | - Fix C++11 build by avoiding std::pair<auto_ptr> (#491)
|
|---|
| 250 | - Add --clibs to geos-config and GEOS_C_LIBS to geos.m4 (#497)
|
|---|
| 251 | - Apply shoelace formula for area calculation (#485)
|
|---|
| 252 | - Fix default initialization issue for clang (#500)
|
|---|
| 253 | - Improve overlay robustness by fixing areal validity on snapping (#488)
|
|---|
| 254 |
|
|---|
| 255 | Changes in 3.3.1
|
|---|
| 256 | 2011-09-27
|
|---|
| 257 |
|
|---|
| 258 | - Bug fixes / improvements
|
|---|
| 259 | - Fix memory leak on invalid geometry in InteriorPointArea (#475)
|
|---|
| 260 | - ValidOp abort in presence of 2 touching holes forming an island (#449)
|
|---|
| 261 | - Enable prepared intersects operation for points
|
|---|
| 262 | - Fortify suspicious code found by static analysis tools
|
|---|
| 263 | - Fix for SOLARIS build (#461)
|
|---|
| 264 | - Fix EMPTY result from GEOSOffsetCurve with distance 0 (#454)
|
|---|
| 265 | - Fix Geometry::clone to copy SRID (#464)
|
|---|
| 266 | - Fix for clang builds (#463)
|
|---|
| 267 | - Fix out-of-place builds for python binding (#332) and regress testing
|
|---|
| 268 | - Fix OS X framework cmake build (#385)
|
|---|
| 269 |
|
|---|
| 270 | Changes in 3.3.0
|
|---|
| 271 | 2011-05-30
|
|---|
| 272 |
|
|---|
| 273 | - New things:
|
|---|
| 274 | - CAPI: GEOSBufferWithParams (allows single sided buffers)
|
|---|
| 275 | - CAPI: GEOSOffsetCurve deprecates GEOSSingleSidedBuffer
|
|---|
| 276 | - CAPI: GEOSUnaryUnion deprecates GEOSCascadedUnion
|
|---|
| 277 | - CAPI: GEOSisValidDetail: tell state, reason & location apart. allows
|
|---|
| 278 | passing flags.
|
|---|
| 279 | - CAPI: GEOSContext_setNoticeHandler_r, GEOSContext_setErrorHandler_r
|
|---|
| 280 | - CAPI: GEOSGeom_createEmptyPoint, GEOSGeom_createEmptyLineString
|
|---|
| 281 | GEOSGeom_createEmptyPolygon, GEOSGeom_createEmptyCollection
|
|---|
| 282 | - CAPI: GEOSGeom_extractUniquePoints
|
|---|
| 283 | - CAPI: GEOSGetGeometryN support for single geometries
|
|---|
| 284 | - CAPI: GEOSPolygonize_full to return all informations computed by
|
|---|
| 285 | the polygonizer
|
|---|
| 286 | - CAPI: GEOSOrientationIndex
|
|---|
| 287 | - CAPI: GEOSSharedPaths to find shared paths and their orientation
|
|---|
| 288 | - CAPI: GEOSSnap
|
|---|
| 289 | - CAPI: GEOSRelatePatternMatch
|
|---|
| 290 | - CAPI: GEOSCovers, GEOSCoveredBy (#396)
|
|---|
| 291 | - CAPI: GEOSRelateBoundaryNodeRule (#399)
|
|---|
| 292 | - CAPI: GEOSGeom_getCoordinateDimension() (#311)
|
|---|
| 293 | - CAPI: GEOSWKTWriter_setOutputDimension, GEOSWKTWriter_setOld3D (#292)
|
|---|
| 294 | - PHP: new PHP5 bindings based on CAPI
|
|---|
| 295 | - Semantic C++ API changes:
|
|---|
| 296 | - Geometry inheritance chain changed to introduce Puntal, Lineal
|
|---|
| 297 | and Polygonal classes (virtual inheritance introduced)
|
|---|
| 298 | - Polygonizer::getInvalidRingLines retains ownership of vector elements
|
|---|
| 299 | - Geometry::isWithinDistance method is now const
|
|---|
| 300 | - Polygonizer::getCutEdges returns by const ref
|
|---|
| 301 | - Polygonizer::getDangles returns by const ref
|
|---|
| 302 | - Empty LinearRings are closed by definition
|
|---|
| 303 | - Bug fixes / improvements
|
|---|
| 304 | - Fixed Geometry.distance() and DistanceOp to return 0.0 for empty inputs
|
|---|
| 305 | - Invalid compound geometries reported as valid (#333)
|
|---|
| 306 | - Return up to 15 digits of precision from GEOSisValidReason_t (#329)
|
|---|
| 307 | - CAPI: do not leak contexts when using the non-reentrant interface
|
|---|
| 308 | - Fix duplicated dangles returned by Polygonizer
|
|---|
| 309 | - Fix SnapIfNeededOverlayOp to throw the originating exception
|
|---|
| 310 | - Fixed LineMerger to skip lines with only a single unique coordinate
|
|---|
| 311 | - Fix NodedSegmentString to handle zero-length line segments correctly
|
|---|
| 312 | (via safeOctant)
|
|---|
| 313 | - Fixed buffer OffsetCurveSetBuilder to handle "flat" rings correctly
|
|---|
| 314 | - Added illegal state check in LineSegment::pointAlongOffset()
|
|---|
| 315 | - Improved performance of RectangleIntersects by always using
|
|---|
| 316 | segment-scanning and refining SegmentIntersectionTester
|
|---|
| 317 | - Reduce memory use in PreparedGeometry predicates (#342)
|
|---|
| 318 | - Fix infinite loop in RobustDeterminant with nan/inf input (#357)
|
|---|
| 319 |
|
|---|
| 320 | Changes in 3.2.0
|
|---|
| 321 | 2009-12-14
|
|---|
| 322 |
|
|---|
| 323 | - Add Single-sided buffer operation
|
|---|
| 324 | - JTS-1.10 sync ...
|
|---|
| 325 | - Drastically improved Buffer speed (20x for a case in testsuite)
|
|---|
| 326 | - Improved EdgeList duplicate edge finding
|
|---|
| 327 | - Added algorithm::distance package
|
|---|
| 328 | - Added algorithm::Angle class
|
|---|
| 329 | - Added algorithm::BoundaryNodeRule class
|
|---|
| 330 | - IsSimpleOp can now return non-simple location coordinate
|
|---|
| 331 | - DistanceOp can now check for 'within distance' predicate
|
|---|
| 332 | (earlier exit)
|
|---|
| 333 | - MultiPolygon::getBoundary always return MultiLineString, also
|
|---|
| 334 | when the result is the EMPTY geometry.
|
|---|
| 335 | - Various bug and leak fixes, optimizations
|
|---|
| 336 | - Replace MarkupSTL with tinyXML
|
|---|
| 337 |
|
|---|
| 338 | Changes in 3.1.0
|
|---|
| 339 |
|
|---|
| 340 | - PreparedGeometry operations for very fast predicate testing.
|
|---|
| 341 | - Intersects()
|
|---|
| 342 | - Covers()
|
|---|
| 343 | - CoveredBy()
|
|---|
| 344 | - ContainsProperly()
|
|---|
| 345 | - Easier builds under MSVC and OpenSolaris
|
|---|
| 346 | - Thread-safe CAPI option
|
|---|
| 347 | - IsValidReason added to CAPI
|
|---|
| 348 | - GEOSPolygonizer_getCutEdges added to CAPI
|
|---|
| 349 | - CascadedUnion operation for fast unions of geometry sets
|
|---|
| 350 | - Numerous bug fixes.
|
|---|
| 351 | http://trac.osgeo.org/geos/query?status=closed&milestone=3.1.0&order=priority
|
|---|
| 352 |
|
|---|
| 353 | Changes in 3.0.0
|
|---|
| 354 |
|
|---|
| 355 | These are mostly ABI breaking changes.
|
|---|
| 356 | In few cases the API also changed, but the most external one
|
|---|
| 357 | (the documented one) should be unchanged.
|
|---|
| 358 |
|
|---|
| 359 | - New things:
|
|---|
| 360 | - Added geom::BinaryOp class performing a binary operation
|
|---|
| 361 | using different heuristics to reduce probability of robustness
|
|---|
| 362 | issues. Both C-API and XMLTester now use this class for
|
|---|
| 363 | binary operations.
|
|---|
| 364 | - Added covers() and coveredBy() predicates to Geometry class
|
|---|
| 365 | - Added overlay::overlayOp() adapter class
|
|---|
| 366 | - Added GEOSSimplify() and GEOSTopologyPreserveSimplify()
|
|---|
| 367 | to the C API
|
|---|
| 368 | - Added closed ring checks in IsValidOp
|
|---|
| 369 | - Multi-input support in XMLTester
|
|---|
| 370 | - HEXWKB I/O
|
|---|
| 371 | - Envelope(string) ctor
|
|---|
| 372 | - Ruby interface
|
|---|
| 373 | - New ShortCircuitedGeometryVisitor class
|
|---|
| 374 | - New operation/predicate package
|
|---|
| 375 | - Added CGAlgorithms::isPointInRing() version working with
|
|---|
| 376 | Coordinate::ConstVect type (faster!)
|
|---|
| 377 | - Added getAt(int pos, Coordinate &to) funtion to CoordinateSequence
|
|---|
| 378 | class.
|
|---|
| 379 | - Moved GetNumGeometries() and GetGeometryN() interfaces
|
|---|
| 380 | from GeometryCollection to Geometry class.
|
|---|
| 381 | - New planarSubgraph class
|
|---|
| 382 | - New ConnectedSubgraphFinder class.
|
|---|
| 383 | - New LineSequencer class
|
|---|
| 384 | - New WKTWriter::toLineString and ::toPoint convenience methods
|
|---|
| 385 | - New IsValidOp::setSelfTouchingRingFormingHoleValid method
|
|---|
| 386 | - New WKTWriter::toLineString and ::toPoint convenience methods
|
|---|
| 387 | - New IsValidOp::setSelfTouchingRingFormingHoleValid method
|
|---|
| 388 | - New Envelope::centre()
|
|---|
| 389 | - New Envelope::intersection(Envelope)
|
|---|
| 390 | - New Envelope::expandBy(distance, [ydistance])
|
|---|
| 391 | - New LineString::reverse()
|
|---|
| 392 | - New MultiLineString::reverse()
|
|---|
| 393 | - New Geometry::buffer(distance, quadSeg, endCapStyle)
|
|---|
| 394 | - New SnapRounding code
|
|---|
| 395 | - New size() and operator[] interfaces to CoordinateSequence
|
|---|
| 396 | - New ScaledNoder class
|
|---|
| 397 | - New unit tests (make check rule)
|
|---|
| 398 |
|
|---|
| 399 | - Optimizations:
|
|---|
| 400 | - WKT parser speedup
|
|---|
| 401 | - Function inlining
|
|---|
| 402 | - Coordinate copies reduction
|
|---|
| 403 | - Heap allocations reduction
|
|---|
| 404 | - More classes made final
|
|---|
| 405 | - Better use of standard containers
|
|---|
| 406 | - Use of singletons when appropriate
|
|---|
| 407 | - Removed many function calls in loops' end conditions
|
|---|
| 408 | - Improved XMLTester output and user interface
|
|---|
| 409 | - Improved memory use in geos::geom::util::PolygonExtractor
|
|---|
| 410 | - Ported JTS-1.7 version of ConvexHull with big attention to
|
|---|
| 411 | memory usage optimizations.
|
|---|
| 412 | - Changed CoordinateArrayFilter to reduce memory copies
|
|---|
| 413 | - Changed UniqueCoordinateArrayFilter to reduce memory copies
|
|---|
| 414 | - Added rectangle-based optimizations of intersects() and
|
|---|
| 415 | contains() ops
|
|---|
| 416 | - Inlined all planarGraphComponent class
|
|---|
| 417 | - More iterators returning methods and inlining in planargraph.
|
|---|
| 418 | - Obsoleted toInternalGeometry/fromInternalGeometry
|
|---|
| 419 | - Improved buffering speed and robustness by using Snap Rounding
|
|---|
| 420 |
|
|---|
| 421 | - Semantic changes
|
|---|
| 422 |
|
|---|
| 423 | - SegmentString: getCoordinates() doesn't return a clone
|
|---|
| 424 | anymore, getCoordinatesRO() obsoleted.
|
|---|
| 425 | - JTS packages mapped to geos:: sub-namespaces
|
|---|
| 426 | - Geometry::getInteriorPoint() returns NULL if called
|
|---|
| 427 | against an EMPTY geom
|
|---|
| 428 | - LineString::get{Start,End}Point return NULL for
|
|---|
| 429 | EMPTY geoms
|
|---|
| 430 | - GEOSException is now derived by std::runtim_exception
|
|---|
| 431 | and thrown by const reference.
|
|---|
| 432 | - Geometry constructors made protected, to force use
|
|---|
| 433 | of a GeometryFactory.
|
|---|
| 434 |
|
|---|
| 435 | - Correctness:
|
|---|
| 436 | - More const-correct signatures
|
|---|
| 437 | - Stronger methods typing (removed some void * args).
|
|---|
| 438 | - Changed index-related funx signatures to use size_t
|
|---|
| 439 | rather then int
|
|---|
| 440 | - More const-correctness in Buffer "package"
|
|---|
| 441 | - Bugfix in LineString::getCoordinate() failing to return
|
|---|
| 442 | NULL from getCoordinat() when empty.
|
|---|
| 443 | - Use unsigned int for indexes and sizes.
|
|---|
| 444 |
|
|---|
| 445 | - Layout changes:
|
|---|
| 446 | - Namespaces mapping JTS packages
|
|---|
| 447 | - Renamed classes after JTS names (namespaces use made this possible
|
|---|
| 448 | w/out name clashes)
|
|---|
| 449 | - Splitted headers, for build speedup and possible API reduction.
|
|---|
| 450 | - Moved source/bigtest and source/test to tests/bigtest
|
|---|
| 451 | and test/xmltester
|
|---|
| 452 | - Moved C-API in it's own top-level dir capi/
|
|---|
| 453 | - Reworked automake scripts to produce a static lib for each subdir
|
|---|
| 454 | and then link all subsystem's libs togheter
|
|---|
| 455 | - Renamed DefaultCoordinateSequence to CoordinateArraySequence.
|
|---|
| 456 | - Renamed OverlayOp opcodes by prepending the 'op' prefix, and
|
|---|
| 457 | given the enum a name (OpCode) for type-safety.
|
|---|
| 458 |
|
|---|
| 459 | - Bug fixes:
|
|---|
| 460 | - Fixed bug causing redundant linestrings to be returned in the
|
|---|
| 461 | result of overlaying polygons containing touching holes (#13)
|
|---|
| 462 | - Fixed integer conversion bug
|
|---|
| 463 | - Fixed PointLocator handling of LinearRings
|
|---|
| 464 | - Added missing ::clone() methods for Multi* geoms
|
|---|
| 465 |
|
|---|
| 466 | - (Partial) Detailed list of changes:
|
|---|
| 467 | - Changed SegmentNode to contain a *real* Coordinate (not a pointer)
|
|---|
| 468 | to reduce construction costs.
|
|---|
| 469 | - Changed geomgraph nodeMap to use Coordinate pointers as keys
|
|---|
| 470 | - Envelope destructor made non-virtual to give compiler more static
|
|---|
| 471 | binding options.
|
|---|
| 472 | - Changed BufferSubgraph::computeDepths to use a set instead of a
|
|---|
| 473 | vector for checking visited Edges.
|
|---|
| 474 | - Made LineIntersector a concrete type
|
|---|
| 475 | - Node::isIncidentEdgeInResult() method made virtual
|
|---|
| 476 | - Const-correct signatures in LineMerger package
|
|---|
| 477 | - Changed operation/valid/*NestedRingTester classes interface
|
|---|
| 478 | to use Coordinate pointers instead of copies.
|
|---|
| 479 | - Changed EdgeIntersectionList to use a set instead of a vector
|
|---|
| 480 | - Changed DepthSegment to store a real Coordinate rather then a pointer.
|
|---|
| 481 | - Changed SubgraphDepthLocater to store real containers rather then
|
|---|
| 482 | pointers.
|
|---|
| 483 | - Changed BufferSubgraph to store a real RightmostEdgeFinder and real
|
|---|
| 484 | containers rather then pointers.
|
|---|
| 485 | - CoordinateSequence API changes:
|
|---|
| 486 | - point index and size related functions
|
|---|
| 487 | use unsigned int rather then int
|
|---|
| 488 | - Changed EdgeEndStar to maintain a single container for EdgeEnds
|
|---|
| 489 | - Changed PlanarGraph::addEdges to take a const vector by ref
|
|---|
| 490 | rathern then a non-const vector by pointer
|
|---|
| 491 | - Changed EdgeList::addAll to take a const vector by ref
|
|---|
| 492 | rather then a non-const vector by pointer
|
|---|
| 493 | - Added apply_rw(CoordinateFilter *) and apply_ro(CoordinateFilter *)
|
|---|
| 494 | const to CoordinateSequence
|
|---|
| 495 | - LineBuilder::lineEdgesList made a real vector, rather then pointer
|
|---|
| 496 | (private member)
|
|---|
| 497 | - SegmentString::eiList made a real SegmentNodeList, rather then
|
|---|
| 498 | a pointer (private member)
|
|---|
| 499 | - Removed coordinate copies in ElevationMatrix::elevate
|
|---|
| 500 | - Changed CoordinateFilter interface to have a const method
|
|---|
| 501 | for filter_rw, updated interfaces using this to take
|
|---|
| 502 | const CoordinateFilter (apply_rw).
|
|---|
| 503 |
|
|---|
| 504 |
|
|---|
| 505 | Changes in 2.2.4
|
|---|
| 506 |
|
|---|
| 507 | - Added version.in.vc to distribution
|
|---|
| 508 |
|
|---|
| 509 | Changes in 2.2.1
|
|---|
| 510 |
|
|---|
| 511 | - Support for MingW builds
|
|---|
| 512 | - Bugfix in Polygonizer chocking on invalid LineString inputs
|
|---|
| 513 | - CAPI: small leak removed in GEOSHasZ()
|
|---|
| 514 |
|
|---|
| 515 | Changes in 2.2.0
|
|---|
| 516 |
|
|---|
| 517 | - Performance improvement in OverlayOp::insertUniqueEdge()
|
|---|
| 518 | - CoordinateSequence copy removal in EdgeRing
|
|---|
| 519 | - Minor memory allocation improvements
|
|---|
| 520 | - Higher dimensions interface for CoordinateSequence
|
|---|
| 521 | - Added getCoordinatesRO for Point class
|
|---|
| 522 | - NEW WKB IO
|
|---|
| 523 | - NEW Simplified and stabler C API
|
|---|
| 524 |
|
|---|
| 525 | Changes in 2.1.4
|
|---|
| 526 |
|
|---|
| 527 | - Severe BUGFIX in BufferSubgraphGT and other functions used
|
|---|
| 528 | as StrictWeakOrdering predicates for sort()
|
|---|
| 529 |
|
|---|
| 530 | Changes in 2.1.3
|
|---|
| 531 |
|
|---|
| 532 | - win32/mingw build support
|
|---|
| 533 | - Segfault fix in LinearRing and LineString constructors
|
|---|
| 534 | - Segfault fix in Polygonizer
|
|---|
| 535 | - XMLTester installed by default
|
|---|
| 536 | - XMLTester code cleanup
|
|---|
| 537 | - Fixed handling of collection input in GeometryFactory::buildGeometry
|
|---|
| 538 | - Added shortcircuit test for Union operation
|
|---|
| 539 | - Reduced useless Coordinate copies in CGAlgorithms::isPointInRing()
|
|---|
| 540 | - Performance improvements in CGAlgorithms::isOnLine()
|
|---|
| 541 | - Other minor performance improvements
|
|---|
| 542 | - New Node::isIncidentEdgeInResult() method
|
|---|
| 543 | - OverlayOp's PointBuilder performance improvement by reduction
|
|---|
| 544 | of LineIntersector calls.
|
|---|
| 545 | - Optimizations in Buffer operation
|
|---|
| 546 | - Sever BUGFIX in DepthSegmentLT as suggested by Graeme Hiebert
|
|---|
| 547 |
|
|---|
| 548 | Changes in 2.1.2
|
|---|
| 549 |
|
|---|
| 550 | - Segfault fix in Point::isEmpty
|
|---|
| 551 | - Mem Leak fix in OffsetCurveBuilder::getRingCurve
|
|---|
| 552 | - Bugfix in LineSegment::reverse
|
|---|
| 553 | - Added multipolygon buffering test in source/test/testLeaksBig
|
|---|
| 554 | - Ported JTS robustness patch for RobustLineIntersector
|
|---|
| 555 | - Removed useless Coordinate copies in OverlayOp::mergeZ()
|
|---|
| 556 | - Avoided throws by IsValid on invalid input
|
|---|
| 557 | - Stricter C++ syntax (math.h=>cmath, ieeefp.h in "C" block, ostringstream
|
|---|
| 558 | instead of sprintf)
|
|---|
| 559 | - Better support for older compilers (Polygonizer::LineStringAdder friendship)
|
|---|
| 560 | - Removed useless Coordinate copies in CGAlgorithms::isOnLine()
|
|---|
| 561 | - Added support for polygonize and parametrized buffer tests in XMLTester
|
|---|
| 562 | - Fixed support for --includedir and --libdir
|
|---|
| 563 | - Fixed Z interpolation in LineIntersector
|
|---|
| 564 | - Handled NULL results from getCentroid() in XMLTester
|
|---|
| 565 | - Segfault fix in (EMPTY)Geometry::getCentroid()
|
|---|
| 566 | - Made polygon::getBoundary() always OGC-valid (no LinearRings)
|
|---|
| 567 | - Input checking and promoting in GeometryFactory::createMultiLineString()
|
|---|
| 568 | - Segfault fix in GeometryEditor::editPolygon()
|
|---|
| 569 |
|
|---|
| 570 |
|
|---|
| 571 | Changes in 2.1.1
|
|---|
| 572 |
|
|---|
| 573 | - Fixed uninitialized Coordinate in TopologyException
|
|---|
| 574 | - Added install of version.h, platform.h and timeval.h
|
|---|
| 575 | - Memleak fix in PolygonizeGraph
|
|---|
| 576 | - Memleak fix in OverlayOp
|
|---|
| 577 | - Compiler warnings removal
|
|---|
| 578 | - Cleaner w32 build
|
|---|
| 579 | - Z interpolation in overlay operations
|
|---|
| 580 | - Debian package build scripts
|
|---|
| 581 |
|
|---|
| 582 |
|
|---|
| 583 | Changes in 2.1.0
|
|---|
| 584 |
|
|---|
| 585 | - Added Polygonizer and LineMerger classes.
|
|---|
| 586 | - python wrapper examples
|
|---|
| 587 | - General cleanup / warnings removal
|
|---|
| 588 | - cleaner win32 / older copilers builds
|
|---|
| 589 | - Reduced heap allocations
|
|---|
| 590 | - debian package builder scripts
|
|---|
| 591 | - reduction of standard C lib headers dependency
|
|---|
| 592 | - Z support in overlay operations.
|
|---|
| 593 |
|
|---|
| 594 |
|
|---|
| 595 | Changes in 2.0.0
|
|---|
| 596 |
|
|---|
| 597 | - CoordinateList renamed to CoordinateSequence, BasicCoordinateList
|
|---|
| 598 | renamed to DefaultCoordinateSequence to reflect JTS changes.
|
|---|
| 599 | DefaultCoordinateSequenceFactory and CoordinateSequenceFactory
|
|---|
| 600 | got same interface as JTS.
|
|---|
| 601 | - Added geos/version.h defining versioning infos
|
|---|
| 602 | - Added geos.h for quick inclusion. It will include geos/geom.h,
|
|---|
| 603 | new geos/version.h, geos/util.h geos/io.h and geos/unload.h
|
|---|
| 604 | (geometry input/output, exceptions, operations).
|
|---|
| 605 | - Added a geos::version() function showing GEOS and equivalent
|
|---|
| 606 | JTS versions as strings.
|
|---|
| 607 | - All geometry constructors take ownership of given arguments.
|
|---|
| 608 | GeometryFactory provides pass-by-reference geometry creators
|
|---|
| 609 | to take care of a deep-copy.
|
|---|
| 610 | - GeometryFactory::createMultiPoint(const CoordinateList *)
|
|---|
| 611 | has been renamed to
|
|---|
| 612 | GeometryFactory::createMultiPoint(const CoordinateList &)
|
|---|
| 613 | to reflect copy semantic
|
|---|
| 614 | - GeometryFactory: EMPTY geometry creation do now have their
|
|---|
| 615 | own constructors taking no arguments.
|
|---|
| 616 | - Geometry constructors taking PrecisionModel and SRID have
|
|---|
| 617 | been dropped. You have to use GeometryFactory instead.
|
|---|
| 618 | - WKTWriter default constructor has been dropped. You need
|
|---|
| 619 | to initialize it with an explicit GeometryFactory
|
|---|
| 620 |
|
|---|