Changelog#
1.3#
New features:
New function to calculate the surfacic distance between two polygons
surfacic_distance.New polygon squaring algorithm
square_polygon_orthogonal.New building simplification algorithm
simplify_building_morphological.New polygon treatment algorithm
remove_flat_vertices.New building typification algorithm
typify_buildings_burghardt_cecconi.New line smoothing algorithm
smooth_snake.New line simplification algorithm
simplify_wang_muller.New meta-algorithm
generalize_boundariesto apply line generalization algorithm to polygon while keeping topology.
Improvements:
Fixed
square_polygon_naiveto prevent vertices deletion.
Changes:
orientationrenamed topolygon_orientationto avoid confusion with the Shapely function.simplify_buildingrenamed tosimplify_building_ruasas new building simplification are added.simplify_topographicrenamed tosmooth_topographicas it is more representative of its nature.Removed
boundaries_douglas_peucker,boundaries_visvalingam_whyatt,boundaries_raposoandboundaries_li_openshawas it is now replaced bygeneralize_boundaries.
1.2#
New features:
New partitioning method
partition_quadtree.New network collapsing algorithm
collapse_junctions.New line displacement algorithm
propagation_network.New line smoothing algorithm
smooth_wma.New line simplification algorithm
simplify_angular.New line simplification algorithm
simplify_topographic.New area patches generalisation algorithm
generalize_area_patches.
1.1#
New features:
New building regularization algorithm
regularize_building_fer.New building typification algorithm
typify_buildings_matching.New line smoothing algorithm
smooth_catmull_rom.New line smoothing algorithm
smooth_chaikin.New line smoothing algorithm
smooth_taubin.New line smoothing algorithm
smooth_platre.New line simplification algorithm
simplify_whirlpool.New line simplification algorithm
simplify_lang.New line simplification algorithm
simplify_reumann_witkam.New line displacement algorithm
beams_displacement.New line displacement algorithm
propagation_crow_flies.New buildings algorithm
amalgamate_buildingsto merge two buildings.New line simplification algorithms designed to work on polygon boundaries and keep their topology:
boundaries_douglas_peuckerboundaries_visvalingam_whyattboundaries_raposoboundaries_li_openshaw
Improvements:
Renamed
gaussian_smoothingtosmooth_gaussian.Optimization of the
coalescence_splittingalgorithm along with all its related algorithms using numpy arrays.Handle MultiLineString input on line simplification algorithms.
Optimize tesselation algorithm, now the spatial index is only calculated once.
Enhanced
visvalingam_whyattusing an external code made by Elliot Hallmark.Update
strokes_riversto facilitate their generalization.Optimized
accordionalgorithm.Optimized
schematizationalgorithm.Optimized
inflexion_pointsalgorithm.
Bug Fixes:
Fixed the
collapse_dual_carriagewaysalgorithm to treat polygons connected by their short side.Fixed the
LeastSquaresMethod, some matrices were wrongly built.
1.0.2#
New features:
Added a new
make_planarfunction that creates a planar network from a provided network and keeps a link between input and output.Added a new
strokes_riversfunction that generate strokes on river networks.
Improvements:
network_facesnow returns a list of geometry instead of a GeometrySequence.Fixed some inconsistencies within the
dilate_linefunction that caused random issues with the precision of the vertexes coordinates. Now, the function never relies on distances, this is much quicker. Furthermore, wrapped line extremities are now accounted for.The point reduction algorithms now returns the full set of provided points with a boolean attribute to know if it was selected. This, of course, is not the case in aggregation mode. Furthermore, point reduction algorithms have been divided into multiple algorithms in order to be more obvious, easy to use. Read more about that on their respective reference page:
Bug fixes:
Fixed an issue in
li_openshaw. #14 (gowestmen)Fixed an issue in
collapse_branching_crossroadswhen splitting a line by a point which causes problems of floating points in Shapely.
1.0.1#
New features:
Improvements:
Renamed
detect_pastinesstocoalescence_splittingto better reflect the usage and litterature.
Bug fixes:
Fixed an issue in the
collapse_branching_crossroadsfunction wherelinemerge()could input a LineString instead of a MultiLineString.
1.0.0#
New features:
Exposed three new functions used inside the network enrichment functions:
is_roundaboutis_branching_crossroadis_dual_carriageway
Improvements:
All undocumented/unwanted functions are now hidden.
Removed all circular import inside the library.
Renamed
ConstrainttoLeastSquaresMethodto better reflect if usage and enhanced its documentation.
1.0rc2#
New features:
Added
li_openshawto simplify lines. (jberli)Added
square_polygon_naiveto square polygons. (jberli)New covering algorithms to create convex and concave hull:
Added
reduce_labelgridfunction as a new point reduction method. #3 #6 (Vpech77) #9 (gowestmen)Added
tessellateto create a tesselation of a given shape. This method has been taken from #3 #6 (Vpech77) and wrapped inside a new function.Added
partition_gridto partition objects using the new tessellations.Added
strokes_roads(ACourtial) function to detect strokes inside a road network. This allows an easy strokes calculation by reducing the number of steps.
Improvements:
Renamed point reduction functions:
reduce_points_kmeanstoreduce_kmeans.reduce_points_quadtreetoreduce_quadtree.
Every point reduction method, namely
reduce_kmeans,reduce_quadtreeandreduce_labelgridnow takes GeoDataFrame as input and have the same modes available (selection, simplification and aggregation).gaussian_smoothingcan now treat polygons.AGENT rectangle transformation now depends on the minimum rotated rectangle that shares at least one edge with the original rectangle. This allows the resulting rectangle to be more aligned with the original building.
Bug fixes:
Fixed the
morphological_amalgamationissues function caused by:The
__edge_removalfunction. The function was reworked.The
straight_line_intersectionmethod of theSegmentclass crashed because of the use of the deprecated numpy array methoditemset.The
Vector2D.from_segmentmethod which was fixed.
Fixed bugs in the network enrichment functions:
They now return an empty GeoDataFrame if no entity was detected.
Fixed a bug in
PointSetQuadTreewhere negative coordinates could cause problems.
1.0rc1#
The first official beta pre-release of CartAGen.