Wykres commitów

21 Commity (main)

Autor SHA1 Wiadomość Data
Michael Barry fb1d0e3bd6
Iniitial geoparquet support (#888) 2024-05-22 05:55:57 -04:00
Björn Bilger c480b35f1c
Add support for "files"-archive (#761)
* Add support for "files"-archive

i.e. write individual pbf-files to disk in the format <base>/z/x/y.pbf

in order to use that format it must be passed as "--ouput=/path/to/tiles?format=files"

Fixes #536

* default to files format

...if no explict format query param given, path ends with a slash, or no extension given

* output metadata.json in files-archive

and refactor TileArchiveMetadata
1. put zoom into center (CoordinateXY->Coordinate) - in sync with mbtiles-format
2. add (De-)Serializer for Coordinate+Envelop => avoid duplication and cleaner
3. change the json and proto output for TileArchiveMetadata to be (more) in sync with mbtiles-format

* add support for custom tile scheme in files-archive

{z}/{x}/{y}.pbf is the default and can be configured as needed - e.g.:
- different order: {x}/{y}/{z}.pbf
- with intermediate dirs: {x}/a/{y}/b/{z}.pbf
- with different extension: {z}/{y}/{y}.pbf.gz

instead of {x} and {y}, {xs} and {xy} can be used which breaks up
x and y into 2 directories each and ensures that each directory has <1000 children

* fix issues with multiple writers

1. call finish archive only once after all writers are finished
   ...and not every time a writer finishes
2. log "zoom-progress" for the first tile write only
   (Finished z11 ... now starting z12)
3. remove file/dir-size progress logger bottleneck for files archive
   => each archive now reports the bytes written, which also fixes
   the issues of stream-archives reporting the size incorrectly
4. introduce printStats-hook on archive-level

* add async file write support to files archive

...allow to use virtual threads ExecturService (bound only!) for tile writing

also add some benchmark for writing tiles to disk: fixed, bound virtual, async, unbound virtual

* Revert "add async file write support to files archive"

This reverts commit b8cfa56977d98520aa8b62252c3a2726d440afe0.

* few improvements

- extract TileSchemeEncoding
- use Counter.MultithreadCounter rather than LongAdder to count bytes written
- add some JavaDoc

* simplify files archive usage

1. allow to pass tile scheme directly via output: --output=tiles/{x}/{y}/{z}.pbf
2. auto-encode { (%7B) and } (%7D) => no need to encode it the URI on CLI

* few more adjustments according to PR feeback

1. use WriteableTileArchive#bytesWritten in summmary as well
2. call WriteableTileArchive#init in a safer manner

..and a few more adjustments

* more PR feedback
2024-01-02 20:37:49 -05:00
Michael Barry 1be2fca45f
Use some new Java 21 features (#695) 2023-10-27 20:29:26 -04:00
Michael Barry 8d0e06c667
Fix invalid polygons before snapping to tile coordinates (#566) 2023-04-27 08:19:31 -04:00
Michael Barry 74db638dbc
Expose pmtiles writer (#520) 2023-03-18 14:38:04 -04:00
Brandon Liu 09fd4ba2ba
Tile archive refactor (#443) 2023-01-17 07:05:45 -05:00
Michael Barry 0eb148ee3c
Expose arguments via config (#363) 2022-10-04 19:57:59 -04:00
Michael Barry 5296d1772e
Shortbread schema (#323) 2022-09-23 06:49:09 -04:00
Michael Barry b04f4cde0b
Review thread local warnings (#196) 2022-04-27 07:24:14 -04:00
Michael Barry 5341d4d712
Fix sonar warnings (#181) 2022-04-23 05:58:49 -04:00
Yuri Astrakhan bc66bbd352
Linting - spelling, tiny cleanups (#150)
* Linting - spelling, tiny cleanups

Grammar fixes, marked one place as `final`, etc.

* formatting
2022-03-27 05:49:58 -04:00
Michael Barry e20b41c88d
Offload multipolygon storage to disk (reduce memory usage by 10-15gb) (#141) 2022-03-22 20:34:54 -04:00
Michael Barry bf081692ce
Node location cache: off-heap storage and “array” implementation that supports parallel inserts (#131)
* Add --nodemap-type=array option for 2-3x faster osm pass 1 imports
* Add --nodemap-storage=direct option to experiment with direct (off-heap) memory usage
* Extract ResourceUsage and OsmPhaser utilities
2022-03-19 05:46:03 -04:00
Michael Barry cce51668f2
Migrate to eclipse formatter to support multiple IDEs (#122) 2022-03-08 21:08:03 -05:00
Michael Barry e93ff79a01
Log direct memory usage (#108) 2022-03-03 20:21:25 -05:00
Michael Barry 8a6997f9dc
Remove graphhopper dependency (#101) 2022-03-01 08:43:19 -05:00
Michael Barry 2f05f942b2
Custom PBF parsing (#82)
Pull in pbf parsing to give more control over threading model and performance.
2022-02-28 20:52:30 -05:00
Michael Barry 0d727c4302
Thread stats (#85)
Add more detailed thread and GC stats to summary.
2022-02-24 08:19:44 -05:00
Mike Barry e7e5cd88c4 fix warnings 2022-02-23 20:45:56 -05:00
Michael Barry 8d90470d55
Fix unit tests in other locales (#64) 2022-01-27 20:23:24 -05:00
Michael Barry 9e9cf7c413
Change name to Planetiler (#40)
* change name from flatmap to planetiler
* bump version to 0.2-SNAPSHOT
2021-12-23 05:42:24 -05:00