Releases: mattijn/topojson
v1.9
What's Changed
- Geojson ids option by @Mr-Ixolate in #220
By default the ids of features from a GeoJSON source will be kept when applying the topology. This only can happen if there are no duplicates of ids in the source file. This feature can be controlled using the newly introduced parameter ignore_index
in the topojson.Topology
class. It has the following description:
ignore_index
:bool
If set toTrue
existing ids/indexes of geojson FeatureCollections will be
ignored and overwritten. Otherwise features with ids will use their existing one.
If indexes are not ignored and a duplicate id exists an exception will be raised.
Default isFalse
.
New Contributors
- @Mr-Ixolate made their first contribution in #220
Full Changelog: v1.8...v1.9
v1.8
What's Changed
- Update build system to flit_core by @takluyver in #216
- Update pyproject.toml by @mattijn in #217
- Update test.yml by @mattijn in #218
New Contributors
- @takluyver made their first contribution in #216
Full Changelog: v1.7...v1.8
v1.7
v1.6
What's Changed
- add shapely 1 & 2 compliant badge by @mattijn in #197
- Maintenance: fix linting issues in GitHub actions by @mattijn in #198
- Resolve deprecationwarnings by @mattijn in #202
- Update benchmark.yml by @mattijn in #205
- Update benchmark.yml by @mattijn in #206
- test get default branch by @mattijn in #207
- fix: change pop to indexing to get list element #203 by @aspyk in #204
- Update benchmark.yml by @mattijn in #208
New Contributors
Full Changelog: v1.5...v1.6
v1.5
What's Changed
- fix spelling in the repo by @mattijn in #163
- extract gdf index and use it during serialization of
.to_geojson()
and.to_gdf()
by @mattijn in #165 - Lint
utils/serialize_as_geodataframe
by @Zeroto521 in #166 - Resolve MultiPolygon with holes by @mattijn in #168
- Include shapely in matrix GitHub action workflow by @mattijn in #172
- Set dependency shapely to version >= 1.8.0 by @mattijn in #173
- update strtree functions by @mattijn in #171
- Github Action, shapely version overrule from matrix by @mattijn in #176
- Replaced ShapelyError with GeometryTypeError by @mattijn in #175
- Update test.yml by @mattijn in #177
- support for multiple gdf and geojson as input by @mattijn in #169
- Add support to rotate rings to avoid split by @theroggy in #180
- Fix: topology for data without junctions and shared_coords=False, prequantize=False gives error by @theroggy in #182
- Fix find duplicates for rings by @theroggy in #185
- Fix + improve performance for join with shared coords=false by @theroggy in #179
- change quantize default from
1e6
to1e5
by @mattijn in #189 - change default shared_coords from True to False by @mattijn in #190
- Catch STRTree warning by @theroggy in #188
- Improve vscode settings and launch.json by @theroggy in #193
- Continuous benchmarking by @mattijn in #194
- Fix: Linestrings that follow the same path but where one contains extra redundant points are not deduplicated by @theroggy in #192
- Backwards support shapely 1.7.1 by @mattijn in #196
New Contributors
- @Zeroto521 made their first contribution in #166
- @theroggy made their first contribution in #180
Full Changelog: v1.4...v1.5
v1.4
What's Changed
- Fixed typo and citation by @Nydhal in #143
- decimals for geojson and fix topoquantize in class by @mattijn in #144
- Fix None to 'null' when calling Topology.to_json(pretty=True) by @yizongk in #150
- Solve the issue of geojson attribute visualization by @natsuapo in #151
- Revert "Solve the issue of geojson attribute visualization" by @mattijn in #152
- add test to keep properties by @mattijn in #153
- Fix the bugs of generating topojson with complicated geojson by @natsuapo in #154
- changes in 3 tests by @mattijn in #155
- reduce warnings for multipart geoms by @mattijn in #156
- changes to accomodate the deprecated array interface by @mattijn in #157
- Sorted-last-shapely-2-deprecation-warnings by @mattijn in #158
- Update test_hashmap.py by @mattijn in #159
- add pypi workflow by @mattijn in #160
- Travis 2 GH action by @mattijn in #161
New Contributors
- @Nydhal made their first contribution in #143
- @yizongk made their first contribution in #150
- @natsuapo made their first contribution in #151
Full Changelog: v1.3...v1.4
v1.3
Version 1.3:
- include propagation of
transform
info in Topojson loaded data #135. - make sure FeatureCollection data is not modified #137
- accept GeoJSON from file as json-dict as input data #137, see docs
- make sure
bbox
is in pre-transformed coordinates #138 - guess
quant_factor
based on input data if none is given #140 - topojson is on conda-forge! #134
conda install -c conda-forge topojson
🎉🥳 - this version is made possible with sponsors🙏
What's Changed
- meta recipe by @mattijn in #132
- Add conda recipe by @mattijn in #133
- check if transform exists and include if so by @mattijn in #136
- Do not modify source data, include geojson from file and compute bbox consistently by @mattijn in #139
- Guess quantize factor from input data by @mattijn in #141
- update docs to include conda-forge install by @mattijn in #134
Full Changelog: v1.2...v1.3
v1.2
Version 1.2:
- enhance to compute bbox during toposimplify and topoquantize #117
- fix to circumvent the attribute error for pyshp and unnecessary deep-copy #120, thanks @llimllib, @karimbahgat
- enhance to include loading topojson data, see https://mattijn.github.io/topojson/example/input-types.html#topojson-file-loaded-as-json-dict #124, thanks @karimbahgat
- fix to allow nested lists in properties and allow bbox key for a geometry, #125 thanks @jpotter
What's Changed
- filter nan before converting array to int64 by @mattijn in #126
- Move deep-copy from top-level to dict-level by @mattijn in #127
- Allow Topojson dicts to be parsed into Topology by @mattijn in #128
- Skip properties and bbox in resolve objects by @mattijn in #129
- Update topology bbox when applying toposimplify or topoquantize by @mattijn in #130
- rename objects_name to object_name by @mattijn in #131
Full Changelog: v1.1...v1.2
v1.1
v1.0
Version 1.0
:
- fix duplicate coordinates in geojson export #112
- add docs how-it-works
- replace dispatcher with if-else statments #114
Version 1.0rc11
:
- support for
fiona
Collections, using the optionalgeojson
module #100 - improvements on popping of merged linestrings #105, #107
- the
to_gdf()
funtion is serialized through GeoJSON features and not through Fiona/OGR #108 - documentation updates #101 and #103
Version 1.0rc10
:
- introduced
shared_coords
as new default strategy to detect junctions #76 (thanks @martinfleis!) - optimize reading geopandas objects #77
- add
prevent_oversimplify
as parameter #86 - fix
serialize_as_json()
to dump correct json to file #87 (thanks @olenhb!) - store linestrings internally as numpy arrays instead of shapely geometries #90 - #97
- generate a speedup of ~20X for larger geographical objects
Version 1.0rc9
:
- include
to_geojson()
function to return the Topology as an GeoJSON object #71 - include a
__geo_interface__
for theTopology()
class #71
Version 1.0rc8
:
- complex shared paths are registered correctly #63
- new insterted junctions are inserted in right order #64
Version 1.0rc7
:
- major refactoring to include quantization of points
- and to hash combinations of polygons/linestrings with points #61
Version 1.0rc6
:
- fix linemerging of non-duplicate arcs #50
- include
__geo_interface__
attributed as input #53 - include travis testing on GitHub (thanks @Casyfill!)
- migrate from unittests to pytest (thanks @Casyfill!)
Version 1.0rc5
:
- change
TopoOptions
into_dict
to be serializable #46 - changed all
int
tonp.int64
, since it is platform specific #49, #45
Version 1.0rc4
:
- no
linestring
key in topojson - serialize
str
of TopoJSON or GeoJSON data - add
vw
as algoritm type and update widget
Version 1.0rc3
:
- changed class object to inherit sequence
- removed the
topojson.topology
function - introducted the
topojson.Topology
class - speedups and bug fixes, see #15 - #36
- introduced multiple options see #8
Version 1.0rc2
:
- apply linemerge on non-duplicate arcs
- fix computing topology without shared boundaries #1, #3
- use
geopandas
andgeojson
solely for tests, but recognize them as type #2, #4 - use
simplification
as option to simplify linestrings - include option to snap vertices to grid
- removed
rdtree
as dependency, useSRTtree
fromshapely
instead
Version 1.0rc1
:
- initial release
What's Changed
- improve parsing feature collection and feature by @mattijn in #5
- solved unboundlocalerror array_bk_sarcs by @mattijn in #6
- fix tests by @mattijn in #7
- use SRTtree instead of rdtree by @mattijn in #11
- bump to version 1.0rc2 by @mattijn in #12
- Merge branch 'setup-toml-travis' of https://github.com/mattijn/topojson into setup-toml-travis by @mattijn in #15
- update docstring by @mattijn in #16
- improves speeding by @mattijn in #17
- Fix #13 by @mattijn in #23
- WIP refactoring classes for improving inheritance by @mattijn in #24
- include list as accepted type by @mattijn in #25
- Insert vertices on linestring if on line but not as existing coord by @mattijn in #26
- add serialise as altair function by @mattijn in #29
- Improve the support of prequantization and delta-encoding as options by @mattijn in #31
- resolve winding order shared arcs by @mattijn in #32
- foreign members as properties and improved hashing of geometry collections by @mattijn in #33
- fix serialising objects with geo_interface in lists and dicts by @mattijn in #34
- include functions for presimplify and toposimplify by @mattijn in #35
- Add bbox on the index, add topoquantize and chaining of toposimplify and topoquantize by @mattijn in #36
- change options dict into parameters and to_svg function for Topology and Hashmap class by @mattijn in #38
- feature to_widget function by @mattijn in #39
- removed linestrings key add serialising geojson and topojson string by @mattijn in #42
- include vw as simplify algorithm including in the widget by @mattijn in #43
- changes the to_dict() functions by @mattijn in #47
- change all int to np.int64 by @mattijn in #49
- Fix: pop all indici except the last when line merge of non-duplicate arcs happened by @mattijn in #51
- FIX: popping of contiguous line-elements was too rigorous by @mattijn in #52
- ENH: improve parsing object with geo_interface attribute by @mattijn in #53
- Working travis by @Casyfill in #56
- added travis badge by @Casyfill in #57
- adding flake8 and pytest by @Casyfill in #58
- add a space by @mattijn in #48
- Migrate tests to pytest by @mattijn in #59
- Version 1.0rc6 by @mattijn in #60
- include (multi) point by @mattijn in #62
- Complex shared paths with backward and forward parts with non-existing junctions by @mattijn in #64
- doc changes from windows machine by @mattijn in #65
- update docs of deployment environment by @mattijn in #66
- Accept single geometries by @mattijn in #70
- include geojson serialization and geo_inferface by @mattijn in #71
- Fix hashmap and topology errors by @mattijn in #72
- Improve serialization of geopandas objects and code cleaning by @mattijn in #77
- Use dicts and sets in to get junctions by @martinfleis in #76
- Fix invalid geoms by @mattijn in #80
- Prepare Cut for coords routine by @mattijn in #78
- Adopt numpy-hash approach to find duplicates by @mattijn in #82
- refactoring classes by @mattijn in #83
- Include prevent_oversimplify and change shared_paths to shared_coords by @mattijn in #86
- Using json.dump method to write json to file by @olehb in #87
- Do not use shapely geometries from cut onwards by @mattijn in #90
- Improve deduplicate function by @mattijn in #92
- Store points as arrays instead of shapely points and improve its quantization by @mattijn in #93
- Shared_coords defaults to True by @mattijn in #94
- For ls cannot filter until 1 coordinate by @mattijn in #95
- Fix dequantization multipoint by @mattijn in #97
- Version 1.0rc10 by @mattijn in #98
- Support fiona and fix geojson errors by @mattijn in #100
- Improve docs by @mattijn in #101
- Improve docs by @mattijn in #103
- Fix dedup merged linestrings by @mattijn in #105
- no tolist() and only linemerge if no. arcs > 1 by @mattijn in #107
- Fix to gdf use to geojson by @mattijn in #108
- Version 1.0rc11 by @mattijn in #109
- Fix the duplicate coordinates in geojson export of topology by @YassineAbdelouadoud in #112
- Docs how it works by @mattijn in #113
- remove instance dispatcher by @mattijn in #114
- update version to 1.0 by @mattijn in #115
New Contributors
- @Casyfill made their first contribution in #56
- @martinfleis made their first contribution in #76
- @olehb made their first contribution in #87
- @YassineAbdelouadoud made their first contribution in #112
Full Changelog: https://github.com/mattijn/topojson/commits/v1.0