Skip to content

Releases: hotosm/fmtm-splitter

1.2.2

05 Jun 08:57
Compare
Choose a tag to compare

What's Changed

  • Updated algorithm to split aoi when no linear features by @Sujanadh in #31
  • Also only split by major highways, no minor roads.

Full Changelog: 1.2.1...1.2.2

v1.2.1

21 Mar 08:18
Compare
Choose a tag to compare

What's Changed

Full Changelog: 1.2.0...1.2.1

v1.2.0

08 Mar 01:11
Compare
Choose a tag to compare

What's Changed

  • Refactor out geopandas in favour of shapely by @spwoodcock in #25
  • Better handling of FeatureCollection multiple geometry input (no convex_hull, instead splits per specific area, then merges the output together).

Full Changelog: 1.1.2...1.2.0

v1.1.2

15 Feb 09:52
Compare
Choose a tag to compare

Fixes related to data extract generation:

  • Add missing railway and aeroway tag filtering.
  • Add useStWithin=false to raw-data-api queries for polylines.
  • Use YAML format config for query generation.

Data extract generation should now work as intended.

Full Changelog: 1.1.1...1.1.2

v1.1.1

11 Feb 18:16
Compare
Choose a tag to compare
  • 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

08 Feb 17:41
Compare
Choose a tag to compare
  • Added support for parsing AOIs with multiple geometries.

v1.0.0

30 Jan 10:55
Compare
Choose a tag to compare

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

21 Jan 13:27
Compare
Choose a tag to compare
Pre-release
  • 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 or osm_lines already exist in the db, likely from previous fmtm-splitter versions.
  • Reduction in sub-dependencies required to install this module.

v0.2.6

18 Jan 17:19
Compare
Choose a tag to compare
  • Minor fix to parse tags as JSON prior to insert into database (using geopandas.to_postgis).

v0.2.5

16 Dec 16:33
Compare
Choose a tag to compare
  • 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).