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