Releases: hotosm/fmtm-splitter
Releases · hotosm/fmtm-splitter
v1.1.1
- Improved parsing of AOI boundary strings.
- Option to not include data extract in split_by_sql:
- The data extract is generated automatically by the osm-rawdata module.
- If a data extract is passed, splitting is attempted using the custom extract.
v1.1.0
- Added support for parsing AOIs with multiple geometries.
v1.0.0
As v1.0.0rc0
Additions:
- Now accepts SQLAlchemy Session objects, in addition to psycopg2 connection or db connection string.
# Previously sqlalchemy_session = SessionLocal() psycopg2_connection = sqlalchemy_session.connection() split_by_sql(psycopg2_connection, ...) # Now just pass the sqlalchemy session directly sqlalchemy_session = SessionLocal() split_by_sql(sqlalchemy_session, ...)
- Suppressed noisy geopandas warnings.
v1.0.0 Release Candidate 0
- Removed SQLAlchemy and GeoAlchemy dependencies.
- Usage of the splitBySQL method now requires either a connection string, or psycopg2 connection.
- SQLAlchemy Session objects are no longer accepted.
To get the psycopg2 driver connection from an SQLAlchemy Session, it's as simple as using:
psycopg2_connection = sqlalchemy_session.connection()
# Then pass psycopg2_connection as the db variable
Advantages
- The updated code uses a single database transaction instead of three.
- The tables will be dropped with the
CASCADE
option at the start of the script:- This prevents conflicts if
osm_ways
orosm_lines
already exist in the db, likely from previous fmtm-splitter versions.
- This prevents conflicts if
- Reduction in sub-dependencies required to install this module.
v0.2.6
- Minor fix to parse tags as JSON prior to insert into database (using geopandas.to_postgis).
v0.2.5
- Return descriptive error if data extract is empty or incorrectly parsed.
- Handle case where 'tags' key in data extract is a JSON string (i.e. with escape characters).
- This would fail previously due to attempt to
.get()
a string. - The use case was for flatgeobuf --> geojson deserialisation. Sometimes nested props are generated as JSON string in the GeoJSON. This could be during flatgeobuf generation, or during the fgb --> geojson deserialisation.
- The workaround parses the 'tags' key as a dict, else skips the tags for a feature (if parsing fails).
- This would fail previously due to attempt to
v0.2.4
- Handle case where
split_by_sql
is used, but no data extract is passed. - Automatically
drop_all
prior tocreate_all
database tables (preventing conflicts if the existing db table has an incorrect schema).
v0.2.3
- Improved parsing of various geojson geometry types for AOI.
v0.2.2
- Improve parsing of geojson files: accept FeatureCollections, Feature, Geometry (polygon).
- splitByFeature use features instead of geopandas dataframe for splitting.
- Bug fixes and logging improvements.
v0.2.1
Tidy up import pinning:
- Use minimum required versions.
- Use
>=
for future compatibility.