From e3e8a4522e67cdeb33ec9b7430f0fad552624c35 Mon Sep 17 00:00:00 2001 From: Andras Schmelczer Date: Wed, 6 May 2026 19:36:46 +0100 Subject: [PATCH] Remove logs --- .gitignore | 1 + server-rs/logs/server.log.2026-05-04 | 2590 ---------------------- server-rs/logs/server.log.2026-05-05 | 2977 -------------------------- server-rs/logs/server.log.2026-05-06 | 78 - 4 files changed, 1 insertion(+), 5645 deletions(-) delete mode 100644 server-rs/logs/server.log.2026-05-04 delete mode 100644 server-rs/logs/server.log.2026-05-05 delete mode 100644 server-rs/logs/server.log.2026-05-06 diff --git a/.gitignore b/.gitignore index d07fdcc..d84dc57 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,4 @@ server-rs/target .task frontend/public/assets +server-rs/logs diff --git a/server-rs/logs/server.log.2026-05-04 b/server-rs/logs/server.log.2026-05-04 deleted file mode 100644 index 66f3306..0000000 --- a/server-rs/logs/server.log.2026-05-04 +++ /dev/null @@ -1,2590 +0,0 @@ -2026-05-04T16:24:26.361386Z INFO property_map_server: Prometheus metrics initialized -2026-05-04T16:24:26.361534Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet -2026-05-04T16:24:26.361545Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet" -2026-05-04T16:24:26.536642Z INFO property_map_server::data::property: Postcode features loaded rows=1263786 -2026-05-04T16:24:26.536654Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet" -2026-05-04T16:24:29.416013Z INFO property_map_server::data::property: Properties joined with postcodes rows=15268176 -2026-05-04T16:24:29.416046Z INFO property_map_server::data::property: Feature columns from config numeric=63 enums=6 total=69 -2026-05-04T16:24:32.703052Z WARN property_map_server::data::property: Dropped properties with missing postcode coordinates rows=743076 -2026-05-04T16:24:32.703062Z INFO property_map_server::data::property: Combined data selected rows=14525100 -2026-05-04T16:24:32.828025Z INFO property_map_server::data::property: Extracting numeric feature columns -2026-05-04T16:24:33.156275Z INFO property_map_server::data::property: Computing histograms for numeric features -2026-05-04T16:24:34.291666Z INFO property_map_server::data::property: Extracting string columns -2026-05-04T16:24:35.567759Z INFO property_map_server::data::property: Building enum features -2026-05-04T16:24:36.731373Z INFO property_map_server::data::property: Extracting renovation history -2026-05-04T16:24:44.067059Z INFO property_map_server: Prometheus metrics initialized -2026-05-04T16:24:44.067224Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet -2026-05-04T16:24:44.067239Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet" -2026-05-04T16:24:44.132872Z INFO property_map_server::data::property: Postcode features loaded rows=1263786 -2026-05-04T16:24:44.132883Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet" -2026-05-04T16:24:46.752832Z INFO property_map_server::data::property: Properties joined with postcodes rows=15268176 -2026-05-04T16:24:46.752925Z INFO property_map_server::data::property: Feature columns from config numeric=63 enums=6 total=69 -2026-05-04T16:24:51.431716Z WARN property_map_server::data::property: Dropped properties with missing postcode coordinates rows=743076 -2026-05-04T16:24:51.431726Z INFO property_map_server::data::property: Combined data selected rows=14525100 -2026-05-04T16:24:51.555919Z INFO property_map_server::data::property: Extracting numeric feature columns -2026-05-04T16:24:51.929914Z INFO property_map_server::data::property: Computing histograms for numeric features -2026-05-04T16:24:53.386992Z INFO property_map_server::data::property: Extracting string columns -2026-05-04T16:24:54.755992Z INFO property_map_server::data::property: Building enum features -2026-05-04T16:24:55.968130Z INFO property_map_server::data::property: Extracting renovation history -2026-05-04T16:24:58.228125Z INFO property_map_server::data::property: Renovation history extracted properties_with_events=1741939 -2026-05-04T16:24:58.228135Z INFO property_map_server::data::property: Sorting rows by spatial locality -2026-05-04T16:24:59.203922Z INFO property_map_server::data::property: Building interned strings -2026-05-04T16:25:04.927897Z INFO property_map_server::data::property: Transposing to row-major layout (spatially sorted, quantized to u16) -2026-05-04T16:25:08.105335Z INFO property_map_server::data::property: Data loading complete -2026-05-04T16:25:09.830771Z INFO property_map_server: Allocator trim label="property data load" trimmed=true rss_before_mib=12855.6 rss_after_mib=3403.5 released_mib=9452.2 -2026-05-04T16:25:09.830783Z INFO property_map_server: Property data loaded rows=14525100 features=69 enums=6 -2026-05-04T16:25:09.830786Z INFO property_map_server: Building spatial grid index (0.01° cells) -2026-05-04T16:25:09.942635Z INFO property_map_server: Precomputing H3 cells at resolution 12 -2026-05-04T16:25:09.942645Z INFO property_map_server::data::property: Precomputing H3 cells at resolution 12 -2026-05-04T16:25:10.306827Z INFO property_map_server::data::property: H3 precomputation complete (14525100 cells) -2026-05-04T16:25:10.306857Z INFO property_map_server: Loading POI data from /app/data/filtered_uk_pois.parquet -2026-05-04T16:25:10.306864Z INFO property_map_server::data::poi: Loading POI data from "/app/data/filtered_uk_pois.parquet"... -2026-05-04T16:25:10.369598Z INFO property_map_server::data::poi: Loaded 567534 POIs -2026-05-04T16:25:10.513535Z INFO property_map_server::data::poi: POI string columns interned category_unique=94 group_unique=11 emoji_unique=71 -2026-05-04T16:25:10.514657Z INFO property_map_server::data::poi: POI data loading complete. -2026-05-04T16:25:10.560531Z INFO property_map_server: Allocator trim label="poi data load" trimmed=true rss_before_mib=3810.0 rss_after_mib=3621.0 released_mib=189.0 -2026-05-04T16:25:10.560541Z INFO property_map_server: POI data loaded pois=567534 -2026-05-04T16:25:10.560543Z INFO property_map_server: Building POI spatial grid index -2026-05-04T16:25:10.567362Z INFO property_map_server: Loading place data from /app/data/places.parquet -2026-05-04T16:25:10.567374Z INFO property_map_server::data::places: Loading place data from "/app/data/places.parquet"... -2026-05-04T16:25:10.569093Z INFO property_map_server::data::places: Loaded 3474 places -2026-05-04T16:25:10.570039Z INFO property_map_server::data::places: Place data loaded places=3474 types=2 with_population=71 with_city=3392 -2026-05-04T16:25:10.573398Z INFO property_map_server: Allocator trim label="place data load" trimmed=true rss_before_mib=3630.1 rss_after_mib=3625.7 released_mib=4.4 -2026-05-04T16:25:10.573403Z INFO property_map_server: Place data loaded places=3474 -2026-05-04T16:25:10.573411Z INFO property_map_server: Loading postcode boundaries from /app/data/postcode_boundaries -2026-05-04T16:25:10.573415Z INFO property_map_server::data::postcodes: Loading postcode boundaries from "/app/data/postcode_boundaries" -2026-05-04T16:25:10.584080Z INFO property_map_server::data::postcodes: Found GeoJSON files to process files=2361 -2026-05-04T16:25:18.723063Z INFO property_map_server::data::postcodes: Postcode boundary data ready postcodes=1490140 -2026-05-04T16:25:19.054258Z INFO property_map_server: Allocator trim label="postcode boundary load" trimmed=true rss_before_mib=10946.3 rss_after_mib=10753.6 released_mib=192.8 -2026-05-04T16:25:19.054270Z INFO property_map_server: Postcode boundaries loaded postcodes=1490140 -2026-05-04T16:25:19.195126Z INFO property_map_server::data::postcodes: Outcode data derived from postcodes outcodes=2361 -2026-05-04T16:25:19.195176Z INFO property_map_server: Loading PMTiles from /app/data/uk.pmtiles -2026-05-04T16:25:19.212588Z INFO property_map_server: PMTiles loaded successfully -2026-05-04T16:25:19.249528Z INFO property_map_server: No --dist provided; static serving and OG injection disabled -2026-05-04T16:25:19.314387Z INFO property_map_server: Screenshot service configured: http://screenshot:8002 -2026-05-04T16:25:19.314534Z INFO property_map_server: Precomputed features response groups=8 -2026-05-04T16:25:19.314548Z INFO property_map_server: PocketBase configured: http://pocketbase:8090 -2026-05-04T16:25:19.420784Z INFO property_map_server::pocketbase: PocketBase users collection already has all required fields -2026-05-04T16:25:19.449243Z INFO property_map_server::pocketbase: PocketBase collection 'saved_searches' API rules updated -2026-05-04T16:25:19.465332Z INFO property_map_server::pocketbase: PocketBase collection 'saved_properties' API rules updated -2026-05-04T16:25:23.979357Z INFO property_map_server::pocketbase: PocketBase meta.appURL set to https://perfect-postcodes.co.uk/pb -2026-05-04T16:25:24.002744Z INFO property_map_server::pocketbase: PocketBase OAuth configured on users collection -2026-05-04T16:25:24.002796Z INFO property_map_server: Gemini configured (model: gemini-3-flash-preview) -2026-05-04T16:25:24.002816Z INFO property_map_server: Loading travel time data from /app/data/travel-times -2026-05-04T16:25:24.067846Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="bicycle" destinations=2753 -2026-05-04T16:25:24.094429Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="walking" destinations=2753 -2026-05-04T16:25:24.164916Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="car" destinations=2753 -2026-05-04T16:25:24.195787Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="transit" destinations=2752 -2026-05-04T16:25:24.195823Z INFO property_map_server: Travel time store loaded modes=4 -2026-05-04T16:25:24.195890Z INFO property_map_server: Precomputed AI filters system prompt -2026-05-04T16:25:59.854933Z INFO property_map_server: All memory pages locked (mlockall) -2026-05-04T16:25:59.854973Z INFO property_map_server: Server listening on 0.0.0.0:8001 -2026-05-04T16:33:12.504278Z INFO property_map_server::routes::pois: GET /api/pois results=337 candidates=34206 categories=1 categories_raw="Bakery" ms=1.5 -2026-05-04T16:33:12.507287Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=501590 parallel=true cells_before_filter=43 cells_after_filter=34 truncated=false bounds=51.4639,-0.2078,51.5523,0.0016 filters=2 filters_raw="Outstanding primary schools within 5km:0:13;;Outstanding secondary schools within 5km:4:4" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=4.3 json_ms=0.0 total_ms=4.3 -2026-05-04T16:33:12.753975Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=501590 filters=2 travel=0 total=8128 filters_raw="Outstanding primary schools within 5km:0:13;;Outstanding secondary schools within 5km:4:4" ms=2.3 -2026-05-04T16:33:15.076379Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=156212 parallel=true cells_before_filter=0 cells_after_filter=0 truncated=false bounds=51.4941,-0.1494,51.5403,-0.0399 filters=2 filters_raw="Outstanding primary schools within 5km:0:13;;Outstanding secondary schools within 5km:4:4" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.7 json_ms=0.0 total_ms=0.7 -2026-05-04T16:33:15.081953Z INFO property_map_server::routes::pois: GET /api/pois results=146 candidates=15316 categories=1 categories_raw="Bakery" ms=0.3 -2026-05-04T16:33:15.777094Z INFO property_map_server::routes::pois: GET /api/pois results=1234 candidates=191594 categories=1 categories_raw="Bakery" ms=2.3 -2026-05-04T16:33:15.813170Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=6 rows=5259222 parallel=true cells_before_filter=48 cells_after_filter=48 truncated=false bounds=50.6262,-1.8129,51.8797,1.1415 filters=2 filters_raw="Outstanding primary schools within 5km:0:13;;Outstanding secondary schools within 5km:4:4" fields=0 travel_entries=0 grid_ms=0.1 agg_ms=38.3 json_ms=0.0 total_ms=38.4 -2026-05-04T16:33:16.051536Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=5259222 filters=2 travel=0 total=245108 filters_raw="Outstanding primary schools within 5km:0:13;;Outstanding secondary schools within 5km:4:4" ms=27.8 -2026-05-04T16:33:17.789858Z INFO property_map_server::routes::pois: GET /api/pois results=3 candidates=173 categories=1 categories_raw="Bakery" ms=0.0 -2026-05-04T16:33:17.789972Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=7000 parallel=false cells_before_filter=0 cells_after_filter=0 truncated=false bounds=52.4593,0.8156,52.5646,1.0709 filters=2 filters_raw="Outstanding primary schools within 5km:0:13;;Outstanding secondary schools within 5km:4:4" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.1 json_ms=0.0 total_ms=0.1 -2026-05-04T16:33:17.996574Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=7000 filters=2 travel=0 total=0 filters_raw="Outstanding primary schools within 5km:0:13;;Outstanding secondary schools within 5km:4:4" ms=0.1 -2026-05-04T16:33:18.491913Z INFO property_map_server::routes::pois: GET /api/pois results=0 candidates=13 categories=1 categories_raw="Bakery" ms=0.0 -2026-05-04T16:33:18.491954Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=2208 parallel=false cells_before_filter=0 cells_after_filter=0 truncated=false bounds=52.4951,0.9091,52.5324,0.9996 filters=2 filters_raw="Outstanding primary schools within 5km:0:13;;Outstanding secondary schools within 5km:4:4" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.0 json_ms=0.0 total_ms=0.0 -2026-05-04T16:33:18.755504Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=2208 filters=2 travel=0 total=0 filters_raw="Outstanding primary schools within 5km:0:13;;Outstanding secondary schools within 5km:4:4" ms=0.0 -2026-05-04T16:33:19.464638Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=5813 parallel=false cells_before_filter=0 cells_after_filter=0 truncated=false bounds=52.4761,0.8660,52.5482,1.0407 filters=2 filters_raw="Outstanding primary schools within 5km:0:13;;Outstanding secondary schools within 5km:4:4" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.1 json_ms=0.0 total_ms=0.1 -2026-05-04T16:33:19.465914Z INFO property_map_server::routes::pois: GET /api/pois results=2 candidates=106 categories=1 categories_raw="Bakery" ms=0.0 -2026-05-04T16:33:19.713721Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=5813 filters=2 travel=0 total=0 filters_raw="Outstanding primary schools within 5km:0:13;;Outstanding secondary schools within 5km:4:4" ms=0.1 -2026-05-04T16:33:21.541755Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=5813 parallel=false cells_before_filter=212 cells_after_filter=200 truncated=false bounds=52.4761,0.8660,52.5482,1.0407 filters=1 filters_raw="Outstanding primary schools within 5km:0:13" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=0.2 json_ms=0.1 total_ms=0.3 -2026-05-04T16:33:21.689938Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=5813 parallel=false cells_before_filter=0 cells_after_filter=0 truncated=false bounds=52.4761,0.8660,52.5482,1.0407 filters=2 filters_raw="Outstanding primary schools within 5km:0:13;;Outstanding secondary schools within 5km:4:4" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=0.1 json_ms=0.0 total_ms=0.1 -2026-05-04T16:33:21.935287Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=5813 parallel=false cells_before_filter=212 cells_after_filter=200 truncated=false bounds=52.4761,0.8660,52.5482,1.0407 filters=2 filters_raw="Outstanding primary schools within 5km:0:13;;Outstanding secondary schools within 5km:0:4" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.3 json_ms=0.2 total_ms=0.5 -2026-05-04T16:33:22.184166Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=5813 filters=2 travel=0 total=5813 filters_raw="Outstanding primary schools within 5km:0:13;;Outstanding secondary schools within 5km:0:4" ms=0.1 -2026-05-04T16:33:23.065248Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89194162883ffff resolution=9 total_count=8 filters=2 filters_raw="Outstanding primary schools within 5km:0:13;;Outstanding secondary schools within 5km:0:4" ms=0.1 -2026-05-04T16:33:23.382213Z INFO property_map_server::routes::pois: GET /api/pois results=2 candidates=100 categories=1 categories_raw="Bakery" ms=0.0 -2026-05-04T16:33:23.382464Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=3843 parallel=false cells_before_filter=136 cells_after_filter=131 truncated=false bounds=52.4761,0.8897,52.5482,1.0170 filters=2 filters_raw="Outstanding primary schools within 5km:0:13;;Outstanding secondary schools within 5km:0:4" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.2 json_ms=0.1 total_ms=0.3 -2026-05-04T16:33:23.632327Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=3843 filters=2 travel=0 total=3843 filters_raw="Outstanding primary schools within 5km:0:13;;Outstanding secondary schools within 5km:0:4" ms=0.0 -2026-05-04T16:33:24.723887Z INFO property_map_server::routes::screenshot: Fetching screenshot from: http://screenshot:8002/screenshot?og=1&lat=52.5122&lon=0.9534&zoom=13.1&school=primary%3Aoutstanding%3A5%3A0%3A13&school=secondary%3Aoutstanding%3A5%3A0%3A4&poi=Bakery -2026-05-04T16:33:28.689144Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:33:28.689206Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:33:28.797267Z INFO property_map_server::routes::pois: GET /api/pois results=2 candidates=106 categories=1 categories_raw="Bakery" ms=0.0 -2026-05-04T16:33:29.148232Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=5749 filters=2 travel=0 total=5749 filters_raw="Outstanding primary schools within 5km:0:13;;Outstanding secondary schools within 5km:0:4" ms=0.0 -2026-05-04T16:33:31.157780Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:33:31.158900Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:33:32.275864Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:33:32.275869Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:33:32.654590Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:33:32.655162Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=83099 parallel=true cells_before_filter=0 cells_after_filter=0 truncated=false bounds=51.4958,-0.1756,51.5342,-0.0844 filters=2 filters_raw="Outstanding primary schools within 5km:0:13;;Outstanding secondary schools within 5km:0:4" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.6 json_ms=0.0 total_ms=0.6 -2026-05-04T16:33:32.655169Z INFO property_map_server::routes::pois: GET /api/pois results=136 candidates=14319 categories=1 categories_raw="Bakery" ms=0.6 -2026-05-04T16:33:32.656028Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:33:32.656467Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=4490 parallel=false cells_before_filter=139 cells_after_filter=126 truncated=false bounds=52.4892,0.8813,52.5352,1.0255 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.2 json_ms=0.1 total_ms=0.3 -2026-05-04T16:33:32.657565Z INFO property_map_server::routes::pois: GET /api/pois results=2 candidates=92 categories=1 categories_raw="Bakery" ms=0.0 -2026-05-04T16:33:32.853023Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:33:32.853024Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:33:32.908907Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=83099 filters=2 travel=0 total=0 filters_raw="Outstanding primary schools within 5km:0:13;;Outstanding secondary schools within 5km:0:4" ms=0.6 -2026-05-04T16:33:33.165458Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:33:33.165461Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:33:33.408861Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:33:33.408859Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:33:33.636864Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:33:33.636880Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:33:33.844608Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:33:33.844612Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:33:34.174004Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:33:34.175086Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:33:34.378600Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:33:34.378602Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:33:34.504438Z INFO property_map_server::routes::pois: GET /api/pois results=620 candidates=66807 categories=1 categories_raw="Bakery" ms=1.3 -2026-05-04T16:33:34.602799Z WARN property_map_server::routes::screenshot: Screenshot service returned 500 Internal Server Error: {"error":"Screenshot failed"} -2026-05-04T16:33:34.602833Z ERROR tower_http::trace::on_failure: response failed classification=Status code: 502 Bad Gateway latency=9878 ms -2026-05-04T16:33:34.756167Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=1555849 filters=2 travel=0 total=452550 filters_raw="Outstanding primary schools within 5km:0:13;;Outstanding secondary schools within 5km:0:4" ms=8.5 -2026-05-04T16:33:35.982661Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=83099 parallel=true cells_before_filter=0 cells_after_filter=0 truncated=false bounds=51.4958,-0.1756,51.5342,-0.0844 filters=2 filters_raw="Outstanding primary schools within 5km:0:13;;Outstanding secondary schools within 5km:0:4" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.5 json_ms=0.0 total_ms=0.5 -2026-05-04T16:33:35.984926Z INFO property_map_server::routes::pois: GET /api/pois results=136 candidates=14319 categories=1 categories_raw="Bakery" ms=0.3 -2026-05-04T16:33:36.255875Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=83099 filters=2 travel=0 total=0 filters_raw="Outstanding primary schools within 5km:0:13;;Outstanding secondary schools within 5km:0:4" ms=0.4 -2026-05-04T16:33:39.615709Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:33:39.615713Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:33:39.807124Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=71850 parallel=true cells_before_filter=281 cells_after_filter=221 truncated=false bounds=51.5024,-0.1686,51.5276,-0.0914 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=4.0 json_ms=0.1 total_ms=4.2 -2026-05-04T16:33:40.495077Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=71850 parallel=true cells_before_filter=281 cells_after_filter=221 truncated=false bounds=51.5024,-0.1686,51.5276,-0.0914 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=3.5 json_ms=0.2 total_ms=3.7 -2026-05-04T16:34:07.509866Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:34:07.509946Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:34:07.611127Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:34:07.612193Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:34:07.889701Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122687 parallel=true cells_before_filter=928 cells_after_filter=889 truncated=false bounds=51.3737,-0.0587,51.4622,0.0559 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=2.0 json_ms=0.7 total_ms=2.7 -2026-05-04T16:34:14.334723Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:34:14.337390Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:34:14.491807Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:34:14.493124Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:34:14.778805Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122687 parallel=true cells_before_filter=928 cells_after_filter=889 truncated=false bounds=51.3737,-0.0587,51.4622,0.0559 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=3.2 json_ms=0.6 total_ms=3.8 -2026-05-04T16:34:43.581458Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:34:43.588215Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:34:43.713295Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:34:43.714928Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:34:43.997860Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122687 parallel=true cells_before_filter=928 cells_after_filter=889 truncated=false bounds=51.3737,-0.0587,51.4622,0.0559 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.7 json_ms=0.5 total_ms=2.2 -2026-05-04T16:34:51.018981Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:34:51.018985Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:34:51.170017Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:34:51.172856Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:34:51.445786Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122687 parallel=true cells_before_filter=928 cells_after_filter=889 truncated=false bounds=51.3737,-0.0587,51.4622,0.0559 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.5 json_ms=0.4 total_ms=2.0 -2026-05-04T16:35:33.953632Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:35:33.954861Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:35:34.097014Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:35:34.098093Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:35:34.374003Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122687 parallel=true cells_before_filter=928 cells_after_filter=889 truncated=false bounds=51.3737,-0.0587,51.4622,0.0559 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.5 json_ms=0.5 total_ms=2.0 -2026-05-04T16:35:42.141838Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:35:42.143317Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:35:42.274342Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:35:42.274559Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:35:42.545901Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122687 parallel=true cells_before_filter=928 cells_after_filter=889 truncated=false bounds=51.3737,-0.0587,51.4622,0.0559 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.5 json_ms=0.4 total_ms=1.9 -2026-05-04T16:36:20.658389Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:36:20.658391Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:36:20.795952Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:36:20.797839Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:36:21.077586Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122687 parallel=true cells_before_filter=928 cells_after_filter=889 truncated=false bounds=51.3737,-0.0587,51.4622,0.0559 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.5 json_ms=0.5 total_ms=2.0 -2026-05-04T16:36:30.210679Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:36:30.210688Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:36:30.347013Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:36:30.348059Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:36:30.634397Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122687 parallel=true cells_before_filter=928 cells_after_filter=889 truncated=false bounds=51.3737,-0.0587,51.4622,0.0559 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.3 json_ms=0.4 total_ms=1.8 -2026-05-04T16:37:00.881004Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:37:00.881756Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:37:01.014400Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:37:01.015618Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:37:01.298842Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122687 parallel=true cells_before_filter=928 cells_after_filter=889 truncated=false bounds=51.3737,-0.0587,51.4622,0.0559 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.5 json_ms=0.5 total_ms=2.1 -2026-05-04T16:37:07.528356Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:37:07.534379Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:37:07.683099Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:37:07.684122Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:37:07.964419Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122687 parallel=true cells_before_filter=928 cells_after_filter=889 truncated=false bounds=51.3737,-0.0587,51.4622,0.0559 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.4 json_ms=0.5 total_ms=2.0 -2026-05-04T16:41:53.484148Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:41:53.484270Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:41:53.625058Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:41:53.627511Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:41:53.941582Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122687 parallel=true cells_before_filter=928 cells_after_filter=889 truncated=false bounds=51.3737,-0.0587,51.4622,0.0559 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.4 json_ms=0.5 total_ms=1.8 -2026-05-04T16:42:10.923902Z INFO property_map_server: Prometheus metrics initialized -2026-05-04T16:42:10.924042Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet -2026-05-04T16:42:10.924049Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet" -2026-05-04T16:42:11.094026Z INFO property_map_server::data::property: Postcode features loaded rows=1263786 -2026-05-04T16:42:11.094035Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet" -2026-05-04T16:42:13.827665Z INFO property_map_server::data::property: Properties joined with postcodes rows=15268176 -2026-05-04T16:42:13.827705Z INFO property_map_server::data::property: Feature columns from config numeric=63 enums=6 total=69 -2026-05-04T16:42:17.729486Z WARN property_map_server::data::property: Dropped properties with missing postcode coordinates rows=743076 -2026-05-04T16:42:17.729497Z INFO property_map_server::data::property: Combined data selected rows=14525100 -2026-05-04T16:42:17.849623Z INFO property_map_server::data::property: Extracting numeric feature columns -2026-05-04T16:42:18.291464Z INFO property_map_server::data::property: Computing histograms for numeric features -2026-05-04T16:42:19.592229Z INFO property_map_server::data::property: Extracting string columns -2026-05-04T16:42:27.719470Z INFO property_map_server: Prometheus metrics initialized -2026-05-04T16:42:27.719671Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet -2026-05-04T16:42:27.719681Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet" -2026-05-04T16:42:27.793178Z INFO property_map_server::data::property: Postcode features loaded rows=1263786 -2026-05-04T16:42:27.793189Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet" -2026-05-04T16:42:30.659605Z INFO property_map_server::data::property: Properties joined with postcodes rows=15268176 -2026-05-04T16:42:30.659645Z INFO property_map_server::data::property: Feature columns from config numeric=63 enums=6 total=69 -2026-05-04T16:42:50.820991Z INFO property_map_server: Prometheus metrics initialized -2026-05-04T16:42:50.821208Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet -2026-05-04T16:42:50.821219Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet" -2026-05-04T16:42:50.918750Z INFO property_map_server::data::property: Postcode features loaded rows=1263786 -2026-05-04T16:42:50.918761Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet" -2026-05-04T16:42:57.851045Z INFO property_map_server: Prometheus metrics initialized -2026-05-04T16:42:57.851212Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet -2026-05-04T16:42:57.851222Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet" -2026-05-04T16:42:57.931582Z INFO property_map_server::data::property: Postcode features loaded rows=1263786 -2026-05-04T16:42:57.931593Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet" -2026-05-04T16:43:00.770232Z INFO property_map_server::data::property: Properties joined with postcodes rows=15268176 -2026-05-04T16:43:00.770272Z INFO property_map_server::data::property: Feature columns from config numeric=63 enums=6 total=69 -2026-05-04T16:43:04.255567Z WARN property_map_server::data::property: Dropped properties with missing postcode coordinates rows=743076 -2026-05-04T16:43:04.255577Z INFO property_map_server::data::property: Combined data selected rows=14525100 -2026-05-04T16:43:04.391949Z INFO property_map_server::data::property: Extracting numeric feature columns -2026-05-04T16:43:04.774580Z INFO property_map_server::data::property: Computing histograms for numeric features -2026-05-04T16:43:06.026169Z INFO property_map_server::data::property: Extracting string columns -2026-05-04T16:43:09.128196Z INFO property_map_server::data::property: Building enum features -2026-05-04T16:43:12.906716Z INFO property_map_server::data::property: Extracting renovation history -2026-05-04T16:43:16.270759Z INFO property_map_server::data::property: Renovation history extracted properties_with_events=1741939 -2026-05-04T16:43:16.270789Z INFO property_map_server::data::property: Sorting rows by spatial locality -2026-05-04T16:43:18.401462Z INFO property_map_server::data::property: Building interned strings -2026-05-04T16:43:27.431736Z INFO property_map_server::data::property: Transposing to row-major layout (spatially sorted, quantized to u16) -2026-05-04T16:43:30.335068Z INFO property_map_server::data::property: Data loading complete -2026-05-04T16:45:19.338545Z INFO property_map_server: Prometheus metrics initialized -2026-05-04T16:45:19.338692Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet -2026-05-04T16:45:19.338704Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet" -2026-05-04T16:45:19.412115Z INFO property_map_server::data::property: Postcode features loaded rows=1263786 -2026-05-04T16:45:19.412126Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet" -2026-05-04T16:45:22.338627Z INFO property_map_server::data::property: Properties joined with postcodes rows=15268176 -2026-05-04T16:45:22.338667Z INFO property_map_server::data::property: Feature columns from config numeric=63 enums=6 total=69 -2026-05-04T16:45:25.112569Z WARN property_map_server::data::property: Dropped properties with missing postcode coordinates rows=743076 -2026-05-04T16:45:25.112579Z INFO property_map_server::data::property: Combined data selected rows=14525100 -2026-05-04T16:45:25.239061Z INFO property_map_server::data::property: Extracting numeric feature columns -2026-05-04T16:45:25.639028Z INFO property_map_server::data::property: Computing histograms for numeric features -2026-05-04T16:45:26.973065Z INFO property_map_server::data::property: Extracting string columns -2026-05-04T16:45:28.297017Z INFO property_map_server::data::property: Building enum features -2026-05-04T16:45:30.086686Z INFO property_map_server::data::property: Extracting renovation history -2026-05-04T16:45:42.387619Z INFO property_map_server::data::property: Renovation history extracted properties_with_events=1741939 -2026-05-04T16:45:42.387628Z INFO property_map_server::data::property: Sorting rows by spatial locality -2026-05-04T16:46:26.166388Z INFO property_map_server: Prometheus metrics initialized -2026-05-04T16:46:26.166547Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet -2026-05-04T16:46:26.166557Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet" -2026-05-04T16:46:26.235389Z INFO property_map_server::data::property: Postcode features loaded rows=1263786 -2026-05-04T16:46:26.235399Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet" -2026-05-04T16:46:29.258413Z INFO property_map_server::data::property: Properties joined with postcodes rows=15268176 -2026-05-04T16:46:29.258459Z INFO property_map_server::data::property: Feature columns from config numeric=63 enums=6 total=69 -2026-05-04T16:46:31.897499Z WARN property_map_server::data::property: Dropped properties with missing postcode coordinates rows=743076 -2026-05-04T16:46:31.897509Z INFO property_map_server::data::property: Combined data selected rows=14525100 -2026-05-04T16:46:32.031482Z INFO property_map_server::data::property: Extracting numeric feature columns -2026-05-04T16:46:32.419698Z INFO property_map_server::data::property: Computing histograms for numeric features -2026-05-04T16:46:33.763754Z INFO property_map_server::data::property: Extracting string columns -2026-05-04T16:46:35.076058Z INFO property_map_server::data::property: Building enum features -2026-05-04T16:46:36.278281Z INFO property_map_server::data::property: Extracting renovation history -2026-05-04T16:46:38.340164Z INFO property_map_server::data::property: Renovation history extracted properties_with_events=1741939 -2026-05-04T16:46:38.340172Z INFO property_map_server::data::property: Sorting rows by spatial locality -2026-05-04T16:46:39.172699Z INFO property_map_server::data::property: Building interned strings -2026-05-04T16:46:44.579476Z INFO property_map_server::data::property: Transposing to row-major layout (spatially sorted, quantized to u16) -2026-05-04T16:46:47.660894Z INFO property_map_server: Prometheus metrics initialized -2026-05-04T16:46:47.661061Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet -2026-05-04T16:46:47.661070Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet" -2026-05-04T16:46:47.743195Z INFO property_map_server::data::property: Postcode features loaded rows=1263786 -2026-05-04T16:46:47.743207Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet" -2026-05-04T16:47:00.841916Z INFO property_map_server: Prometheus metrics initialized -2026-05-04T16:47:00.842064Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet -2026-05-04T16:47:00.842075Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet" -2026-05-04T16:47:00.908914Z INFO property_map_server::data::property: Postcode features loaded rows=1263786 -2026-05-04T16:47:00.908923Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet" -2026-05-04T16:47:03.639664Z INFO property_map_server::data::property: Properties joined with postcodes rows=15268176 -2026-05-04T16:47:03.639695Z INFO property_map_server::data::property: Feature columns from config numeric=63 enums=6 total=69 -2026-05-04T16:47:06.148292Z WARN property_map_server::data::property: Dropped properties with missing postcode coordinates rows=743076 -2026-05-04T16:47:06.148303Z INFO property_map_server::data::property: Combined data selected rows=14525100 -2026-05-04T16:47:06.279025Z INFO property_map_server::data::property: Extracting numeric feature columns -2026-05-04T16:47:06.652207Z INFO property_map_server::data::property: Computing histograms for numeric features -2026-05-04T16:47:07.840677Z INFO property_map_server::data::property: Extracting string columns -2026-05-04T16:47:09.177884Z INFO property_map_server::data::property: Building enum features -2026-05-04T16:47:10.365612Z INFO property_map_server::data::property: Extracting renovation history -2026-05-04T16:47:12.564052Z INFO property_map_server::data::property: Renovation history extracted properties_with_events=1741939 -2026-05-04T16:47:12.564060Z INFO property_map_server::data::property: Sorting rows by spatial locality -2026-05-04T16:47:13.560189Z INFO property_map_server::data::property: Building interned strings -2026-05-04T16:47:19.116752Z INFO property_map_server::data::property: Transposing to row-major layout (spatially sorted, quantized to u16) -2026-05-04T16:51:59.629509Z INFO property_map_server: Prometheus metrics initialized -2026-05-04T16:51:59.629660Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet -2026-05-04T16:51:59.629669Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet" -2026-05-04T16:51:59.697083Z INFO property_map_server::data::property: Postcode features loaded rows=1263786 -2026-05-04T16:51:59.697094Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet" -2026-05-04T16:52:02.401421Z INFO property_map_server::data::property: Properties joined with postcodes rows=15268176 -2026-05-04T16:52:02.401453Z INFO property_map_server::data::property: Feature columns from config numeric=63 enums=6 total=69 -2026-05-04T16:52:05.016345Z WARN property_map_server::data::property: Dropped properties with missing postcode coordinates rows=743076 -2026-05-04T16:52:05.016356Z INFO property_map_server::data::property: Combined data selected rows=14525100 -2026-05-04T16:52:05.141380Z INFO property_map_server::data::property: Extracting numeric feature columns -2026-05-04T16:52:05.500468Z INFO property_map_server::data::property: Computing histograms for numeric features -2026-05-04T16:52:06.879667Z INFO property_map_server::data::property: Extracting string columns -2026-05-04T16:52:08.239559Z INFO property_map_server::data::property: Building enum features -2026-05-04T16:52:09.441595Z INFO property_map_server::data::property: Extracting renovation history -2026-05-04T16:52:11.513183Z INFO property_map_server::data::property: Renovation history extracted properties_with_events=1741939 -2026-05-04T16:52:11.513191Z INFO property_map_server::data::property: Sorting rows by spatial locality -2026-05-04T16:52:12.358820Z INFO property_map_server::data::property: Building interned strings -2026-05-04T16:52:17.933075Z INFO property_map_server::data::property: Transposing to row-major layout (spatially sorted, quantized to u16) -2026-05-04T16:52:21.489218Z INFO property_map_server::data::property: Data loading complete -2026-05-04T16:52:22.907975Z INFO property_map_server: Allocator trim label="property data load" trimmed=true rss_before_mib=12322.4 rss_after_mib=3296.5 released_mib=9025.8 -2026-05-04T16:52:22.907987Z INFO property_map_server: Property data loaded rows=14525100 features=69 enums=6 -2026-05-04T16:52:22.907990Z INFO property_map_server: Building spatial grid index (0.01° cells) -2026-05-04T16:52:23.018806Z INFO property_map_server: Precomputing H3 cells at resolution 12 -2026-05-04T16:52:23.018816Z INFO property_map_server::data::property: Precomputing H3 cells at resolution 12 -2026-05-04T16:52:23.436522Z INFO property_map_server::data::property: H3 precomputation complete (14525100 cells) -2026-05-04T16:52:23.436556Z INFO property_map_server: Loading POI data from /app/data/filtered_uk_pois.parquet -2026-05-04T16:52:23.436564Z INFO property_map_server::data::poi: Loading POI data from "/app/data/filtered_uk_pois.parquet"... -2026-05-04T16:52:23.506644Z INFO property_map_server::data::poi: Loaded 567534 POIs -2026-05-04T16:52:23.661450Z INFO property_map_server::data::poi: POI string columns interned category_unique=94 group_unique=11 emoji_unique=71 -2026-05-04T16:52:23.662610Z INFO property_map_server::data::poi: POI data loading complete. -2026-05-04T16:52:23.710519Z INFO property_map_server: Allocator trim label="poi data load" trimmed=true rss_before_mib=3704.2 rss_after_mib=3513.9 released_mib=190.3 -2026-05-04T16:52:23.710531Z INFO property_map_server: POI data loaded pois=567534 -2026-05-04T16:52:23.710533Z INFO property_map_server: Building POI spatial grid index -2026-05-04T16:52:23.717701Z INFO property_map_server: Loading place data from /app/data/places.parquet -2026-05-04T16:52:23.717714Z INFO property_map_server::data::places: Loading place data from "/app/data/places.parquet"... -2026-05-04T16:52:23.719392Z INFO property_map_server::data::places: Loaded 3474 places -2026-05-04T16:52:23.720489Z INFO property_map_server::data::places: Place data loaded places=3474 types=2 with_population=71 with_city=3392 -2026-05-04T16:52:23.724484Z INFO property_map_server: Allocator trim label="place data load" trimmed=true rss_before_mib=3523.0 rss_after_mib=3518.6 released_mib=4.4 -2026-05-04T16:52:23.724490Z INFO property_map_server: Place data loaded places=3474 -2026-05-04T16:52:23.724499Z INFO property_map_server: Loading postcode boundaries from /app/data/postcode_boundaries -2026-05-04T16:52:23.724510Z INFO property_map_server::data::postcodes: Loading postcode boundaries from "/app/data/postcode_boundaries" -2026-05-04T16:52:23.725513Z INFO property_map_server::data::postcodes: Found GeoJSON files to process files=2361 -2026-05-04T16:52:32.438645Z INFO property_map_server::data::postcodes: Postcode boundary data ready postcodes=1490140 -2026-05-04T16:52:32.834664Z INFO property_map_server: Allocator trim label="postcode boundary load" trimmed=true rss_before_mib=10832.1 rss_after_mib=10645.7 released_mib=186.3 -2026-05-04T16:52:32.834676Z INFO property_map_server: Postcode boundaries loaded postcodes=1490140 -2026-05-04T16:52:32.988891Z INFO property_map_server::data::postcodes: Outcode data derived from postcodes outcodes=2361 -2026-05-04T16:52:32.988947Z INFO property_map_server: Loading PMTiles from /app/data/uk.pmtiles -2026-05-04T16:52:33.010108Z INFO property_map_server: PMTiles loaded successfully -2026-05-04T16:52:33.046813Z INFO property_map_server: No --dist provided; static serving and OG injection disabled -2026-05-04T16:52:33.083599Z INFO property_map_server: Screenshot service configured: http://screenshot:8002 -2026-05-04T16:52:33.083763Z INFO property_map_server: Precomputed features response groups=8 -2026-05-04T16:52:33.083775Z INFO property_map_server: PocketBase configured: http://pocketbase:8090 -2026-05-04T16:52:33.158769Z INFO property_map_server::pocketbase: PocketBase users collection already has all required fields -2026-05-04T16:52:33.166182Z INFO property_map_server::pocketbase: PocketBase collection 'saved_searches' API rules updated -2026-05-04T16:52:33.169642Z INFO property_map_server::pocketbase: PocketBase collection 'saved_properties' API rules updated -2026-05-04T16:52:34.891679Z INFO property_map_server::pocketbase: PocketBase meta.appURL set to https://perfect-postcodes.co.uk/pb -2026-05-04T16:52:34.898075Z INFO property_map_server::pocketbase: PocketBase OAuth configured on users collection -2026-05-04T16:52:34.898119Z INFO property_map_server: Gemini configured (model: gemini-3-flash-preview) -2026-05-04T16:52:34.898137Z INFO property_map_server: Loading travel time data from /app/data/travel-times -2026-05-04T16:52:34.899509Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="bicycle" destinations=2753 -2026-05-04T16:52:34.900985Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="walking" destinations=2753 -2026-05-04T16:52:34.902638Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="car" destinations=2753 -2026-05-04T16:52:34.903880Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="transit" destinations=2752 -2026-05-04T16:52:34.903900Z INFO property_map_server: Travel time store loaded modes=4 -2026-05-04T16:52:34.903948Z INFO property_map_server: Precomputed AI filters system prompt -2026-05-04T16:52:43.879829Z INFO property_map_server: All memory pages locked (mlockall) -2026-05-04T16:52:43.879872Z INFO property_map_server: Server listening on 0.0.0.0:8001 -2026-05-04T16:52:44.837043Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:52:44.838743Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:52:46.237131Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122687 parallel=true cells_before_filter=928 cells_after_filter=889 truncated=false bounds=51.3737,-0.0587,51.4622,0.0559 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=8.9 json_ms=4.5 total_ms=13.4 -2026-05-04T16:52:50.343572Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:52:50.343601Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:52:50.654459Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122687 parallel=true cells_before_filter=928 cells_after_filter=889 truncated=false bounds=51.3737,-0.0587,51.4622,0.0559 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=4.9 json_ms=0.6 total_ms=5.4 -2026-05-04T16:52:50.924418Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122687 parallel=true cells_before_filter=928 cells_after_filter=889 truncated=false bounds=51.3737,-0.0587,51.4622,0.0559 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.9 json_ms=0.5 total_ms=2.4 -2026-05-04T16:52:55.327723Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122687 parallel=true cells_before_filter=928 cells_after_filter=889 truncated=false bounds=51.3737,-0.0587,51.4622,0.0559 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=4.1 json_ms=0.5 total_ms=4.6 -2026-05-04T16:52:59.123773Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:52:59.124405Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:52:59.309646Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122687 parallel=true cells_before_filter=928 cells_after_filter=889 truncated=false bounds=51.3737,-0.0587,51.4622,0.0559 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.9 json_ms=0.6 total_ms=2.4 -2026-05-04T16:52:59.856314Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:52:59.856333Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:53:06.621399Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:53:12.319647Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:53:12.320043Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:53:12.505843Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122687 parallel=true cells_before_filter=928 cells_after_filter=889 truncated=false bounds=51.3737,-0.0587,51.4622,0.0559 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.5 json_ms=0.5 total_ms=1.9 -2026-05-04T16:53:12.847079Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:53:12.847083Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:53:13.768136Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:53:20.023336Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122687 parallel=true cells_before_filter=928 cells_after_filter=889 truncated=false bounds=51.3737,-0.0587,51.4622,0.0559 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.7 json_ms=0.5 total_ms=2.2 -2026-05-04T16:53:31.973189Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122687 parallel=true cells_before_filter=928 cells_after_filter=889 truncated=false bounds=51.3737,-0.0587,51.4622,0.0559 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.6 json_ms=0.5 total_ms=2.1 -2026-05-04T16:53:36.438564Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122687 parallel=true cells_before_filter=928 cells_after_filter=889 truncated=false bounds=51.3737,-0.0587,51.4622,0.0559 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.6 json_ms=0.5 total_ms=2.2 -2026-05-04T16:53:40.877291Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122687 parallel=true cells_before_filter=928 cells_after_filter=889 truncated=false bounds=51.3737,-0.0587,51.4622,0.0559 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.7 json_ms=0.5 total_ms=2.2 -2026-05-04T16:53:45.260349Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122687 parallel=true cells_before_filter=928 cells_after_filter=889 truncated=false bounds=51.3737,-0.0587,51.4622,0.0559 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.4 json_ms=0.5 total_ms=1.9 -2026-05-04T16:53:52.933614Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122687 parallel=true cells_before_filter=928 cells_after_filter=889 truncated=false bounds=51.3737,-0.0587,51.4622,0.0559 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=2.5 json_ms=0.5 total_ms=3.0 -2026-05-04T16:53:57.242184Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122687 parallel=true cells_before_filter=928 cells_after_filter=889 truncated=false bounds=51.3737,-0.0587,51.4622,0.0559 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.6 json_ms=0.6 total_ms=2.2 -2026-05-04T16:54:11.694784Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:54:11.696755Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:54:11.886944Z INFO property_map_server::routes::pois: GET /api/pois results=2 candidates=106 categories=1 categories_raw="Bakery" ms=0.0 -2026-05-04T16:54:11.959114Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=5749 parallel=false cells_before_filter=205 cells_after_filter=193 truncated=false bounds=52.4771,0.8684,52.5473,1.0384 filters=2 filters_raw="Outstanding primary schools within 5km:0:13;;Outstanding secondary schools within 5km:0:4" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.2 json_ms=0.1 total_ms=0.3 -2026-05-04T16:54:12.166041Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=5749 filters=2 travel=0 total=5749 filters_raw="Outstanding primary schools within 5km:0:13;;Outstanding secondary schools within 5km:0:4" ms=0.1 -2026-05-04T16:54:54.425156Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:54:54.426587Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:54:54.663377Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=537 cells_after_filter=412 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=3.8 json_ms=0.4 total_ms=4.2 -2026-05-04T16:54:54.908059Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=537 cells_after_filter=412 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=3.5 json_ms=0.4 total_ms=3.9 -2026-05-04T16:55:30.573292Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:55:30.573295Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:55:30.830914Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=537 cells_after_filter=412 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=2.0 json_ms=0.3 total_ms=2.3 -2026-05-04T16:56:20.574567Z INFO property_map_server: Prometheus metrics initialized -2026-05-04T16:56:20.574750Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet -2026-05-04T16:56:20.574761Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet" -2026-05-04T16:56:20.727321Z INFO property_map_server::data::property: Postcode features loaded rows=1263786 -2026-05-04T16:56:20.727332Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet" -2026-05-04T16:56:23.848405Z INFO property_map_server::data::property: Properties joined with postcodes rows=15268176 -2026-05-04T16:56:23.848446Z INFO property_map_server::data::property: Feature columns from config numeric=63 enums=6 total=69 -2026-05-04T16:56:28.900388Z WARN property_map_server::data::property: Dropped properties with missing postcode coordinates rows=743076 -2026-05-04T16:56:28.900399Z INFO property_map_server::data::property: Combined data selected rows=14525100 -2026-05-04T16:56:29.024977Z INFO property_map_server::data::property: Extracting numeric feature columns -2026-05-04T16:56:29.390713Z INFO property_map_server::data::property: Computing histograms for numeric features -2026-05-04T16:56:30.749182Z INFO property_map_server::data::property: Extracting string columns -2026-05-04T16:56:32.160165Z INFO property_map_server::data::property: Building enum features -2026-05-04T16:56:33.392343Z INFO property_map_server::data::property: Extracting renovation history -2026-05-04T16:56:35.651195Z INFO property_map_server::data::property: Renovation history extracted properties_with_events=1741939 -2026-05-04T16:56:35.651205Z INFO property_map_server::data::property: Sorting rows by spatial locality -2026-05-04T16:56:36.629897Z INFO property_map_server::data::property: Building interned strings -2026-05-04T16:56:42.602979Z INFO property_map_server::data::property: Transposing to row-major layout (spatially sorted, quantized to u16) -2026-05-04T16:56:45.386258Z INFO property_map_server::data::property: Data loading complete -2026-05-04T16:56:46.870061Z INFO property_map_server: Allocator trim label="property data load" trimmed=true rss_before_mib=11393.9 rss_after_mib=3417.4 released_mib=7976.5 -2026-05-04T16:56:46.870073Z INFO property_map_server: Property data loaded rows=14525100 features=69 enums=6 -2026-05-04T16:56:46.870077Z INFO property_map_server: Building spatial grid index (0.01° cells) -2026-05-04T16:56:46.984635Z INFO property_map_server: Precomputing H3 cells at resolution 12 -2026-05-04T16:56:46.984644Z INFO property_map_server::data::property: Precomputing H3 cells at resolution 12 -2026-05-04T16:56:47.414376Z INFO property_map_server::data::property: H3 precomputation complete (14525100 cells) -2026-05-04T16:56:47.414403Z INFO property_map_server: Loading POI data from /app/data/filtered_uk_pois.parquet -2026-05-04T16:56:47.414408Z INFO property_map_server::data::poi: Loading POI data from "/app/data/filtered_uk_pois.parquet"... -2026-05-04T16:56:47.439121Z INFO property_map_server::data::poi: Loaded 567534 POIs -2026-05-04T16:56:47.592475Z INFO property_map_server::data::poi: POI string columns interned category_unique=94 group_unique=11 emoji_unique=71 -2026-05-04T16:56:47.593681Z INFO property_map_server::data::poi: POI data loading complete. -2026-05-04T16:56:47.644111Z INFO property_map_server: Allocator trim label="poi data load" trimmed=true rss_before_mib=3825.5 rss_after_mib=3635.0 released_mib=190.5 -2026-05-04T16:56:47.644123Z INFO property_map_server: POI data loaded pois=567534 -2026-05-04T16:56:47.644126Z INFO property_map_server: Building POI spatial grid index -2026-05-04T16:56:47.652418Z INFO property_map_server: Loading place data from /app/data/places.parquet -2026-05-04T16:56:47.652433Z INFO property_map_server::data::places: Loading place data from "/app/data/places.parquet"... -2026-05-04T16:56:47.655243Z INFO property_map_server::data::places: Loaded 3474 places -2026-05-04T16:56:47.656242Z INFO property_map_server::data::places: Place data loaded places=3474 types=2 with_population=71 with_city=3392 -2026-05-04T16:56:47.659926Z INFO property_map_server: Allocator trim label="place data load" trimmed=true rss_before_mib=3644.2 rss_after_mib=3639.7 released_mib=4.5 -2026-05-04T16:56:47.659933Z INFO property_map_server: Place data loaded places=3474 -2026-05-04T16:56:47.659941Z INFO property_map_server: Loading postcode boundaries from /app/data/postcode_boundaries -2026-05-04T16:56:47.659946Z INFO property_map_server::data::postcodes: Loading postcode boundaries from "/app/data/postcode_boundaries" -2026-05-04T16:56:47.676634Z INFO property_map_server::data::postcodes: Found GeoJSON files to process files=2361 -2026-05-04T16:56:56.616118Z INFO property_map_server::data::postcodes: Postcode boundary data ready postcodes=1490140 -2026-05-04T16:56:56.999856Z INFO property_map_server: Allocator trim label="postcode boundary load" trimmed=true rss_before_mib=10961.0 rss_after_mib=10765.9 released_mib=195.1 -2026-05-04T16:56:56.999867Z INFO property_map_server: Postcode boundaries loaded postcodes=1490140 -2026-05-04T16:56:57.159359Z INFO property_map_server::data::postcodes: Outcode data derived from postcodes outcodes=2361 -2026-05-04T16:56:57.159430Z INFO property_map_server: Loading PMTiles from /app/data/uk.pmtiles -2026-05-04T16:56:57.168952Z INFO property_map_server: PMTiles loaded successfully -2026-05-04T16:56:57.206010Z INFO property_map_server: No --dist provided; static serving and OG injection disabled -2026-05-04T16:56:57.232621Z INFO property_map_server: Screenshot service configured: http://screenshot:8002 -2026-05-04T16:56:57.232814Z INFO property_map_server: Precomputed features response groups=8 -2026-05-04T16:56:57.232849Z INFO property_map_server: PocketBase configured: http://pocketbase:8090 -2026-05-04T16:56:57.281369Z INFO property_map_server::pocketbase: PocketBase users collection already has all required fields -2026-05-04T16:56:57.285433Z INFO property_map_server::pocketbase: PocketBase collection 'saved_searches' API rules updated -2026-05-04T16:56:57.288969Z INFO property_map_server::pocketbase: PocketBase collection 'saved_properties' API rules updated -2026-05-04T16:56:58.609462Z INFO property_map_server::pocketbase: PocketBase meta.appURL set to https://perfect-postcodes.co.uk/pb -2026-05-04T16:56:58.614311Z INFO property_map_server::pocketbase: PocketBase OAuth configured on users collection -2026-05-04T16:56:58.614349Z INFO property_map_server: Gemini configured (model: gemini-3-flash-preview) -2026-05-04T16:56:58.614367Z INFO property_map_server: Loading travel time data from /app/data/travel-times -2026-05-04T16:56:58.654171Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="bicycle" destinations=2753 -2026-05-04T16:56:58.679772Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="walking" destinations=2753 -2026-05-04T16:56:58.709956Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="car" destinations=2753 -2026-05-04T16:56:58.743398Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="transit" destinations=2752 -2026-05-04T16:56:58.743442Z INFO property_map_server: Travel time store loaded modes=4 -2026-05-04T16:56:58.743498Z INFO property_map_server: Precomputed AI filters system prompt -2026-05-04T16:57:02.850161Z INFO property_map_server: All memory pages locked (mlockall) -2026-05-04T16:57:02.850207Z INFO property_map_server: Server listening on 0.0.0.0:8001 -2026-05-04T16:57:04.355091Z INFO property_map_server::routes::pois: GET /api/pois results=2 candidates=106 categories=1 categories_raw="Bakery" ms=0.0 -2026-05-04T16:57:04.356014Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=5749 parallel=false cells_before_filter=205 cells_after_filter=193 truncated=false bounds=52.4771,0.8684,52.5473,1.0384 filters=2 filters_raw="Outstanding primary schools within 5km:0:13;;Outstanding secondary schools within 5km:0:4" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.3 json_ms=0.2 total_ms=0.5 -2026-05-04T16:57:04.601910Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=5749 filters=2 travel=0 total=5749 filters_raw="Outstanding primary schools within 5km:0:13;;Outstanding secondary schools within 5km:0:4" ms=0.1 -2026-05-04T16:57:06.048394Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89194162c6bffff resolution=9 total_count=1 filters=2 filters_raw="Outstanding primary schools within 5km:0:13;;Outstanding secondary schools within 5km:0:4" ms=0.1 -2026-05-04T16:57:06.367641Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=3843 parallel=false cells_before_filter=136 cells_after_filter=130 truncated=false bounds=52.4771,0.8914,52.5473,1.0154 filters=2 filters_raw="Outstanding primary schools within 5km:0:13;;Outstanding secondary schools within 5km:0:4" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.2 json_ms=0.1 total_ms=0.3 -2026-05-04T16:57:06.369945Z INFO property_map_server::routes::pois: GET /api/pois results=2 candidates=97 categories=1 categories_raw="Bakery" ms=0.0 -2026-05-04T16:57:06.616929Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=3843 filters=2 travel=0 total=3843 filters_raw="Outstanding primary schools within 5km:0:13;;Outstanding secondary schools within 5km:0:4" ms=0.0 -2026-05-04T16:57:07.424823Z INFO property_map_server::routes::screenshot: Fetching screenshot from: http://screenshot:8002/screenshot?og=1&share=pp3xxg72&lat=52.5122&lon=0.9534&zoom=13.1&school=primary%3Aoutstanding%3A5%3A0%3A13&school=secondary%3Aoutstanding%3A5%3A0%3A4&poi=Bakery -2026-05-04T16:57:11.553390Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:11.558010Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:11.763671Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:11.763679Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:11.915058Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:11.919901Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:11.931486Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=537 cells_after_filter=412 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=6.2 json_ms=0.3 total_ms=6.5 -2026-05-04T16:57:12.096817Z INFO property_map_server::routes::pois: GET /api/pois results=2 candidates=106 categories=1 categories_raw="Bakery" ms=0.0 -2026-05-04T16:57:12.171317Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=5749 parallel=false cells_before_filter=205 cells_after_filter=193 truncated=false bounds=52.4771,0.8684,52.5473,1.0384 filters=2 filters_raw="Outstanding primary schools within 5km:0:13;;Outstanding secondary schools within 5km:0:4" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.2 json_ms=0.1 total_ms=0.3 -2026-05-04T16:57:12.358432Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:12.358437Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:12.411186Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=5749 filters=2 travel=0 total=5749 filters_raw="Outstanding primary schools within 5km:0:13;;Outstanding secondary schools within 5km:0:4" ms=0.1 -2026-05-04T16:57:12.536798Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:12.536868Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:12.700634Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:12.700638Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:12.865329Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:12.865848Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:13.044744Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:13.044745Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:13.262950Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:13.262954Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:13.443061Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:13.443560Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:13.630643Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:13.631971Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:13.780658Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:13.780661Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:13.948593Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:13.948597Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:14.131284Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:14.131289Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:14.308283Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:14.308302Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:14.501404Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:14.501448Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:14.690626Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:14.690636Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:14.858729Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:14.860095Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:15.027207Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:15.027205Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:15.214232Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:15.214637Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:15.381513Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:15.381514Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:15.537921Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:15.541833Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:15.705519Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:15.705552Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:15.869023Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:15.869537Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:16.033918Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:16.033920Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:16.247673Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:16.248375Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:16.412004Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:16.412032Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:16.626881Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:16.626907Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:16.794209Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:16.794231Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:16.997566Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:16.997568Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:17.174350Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:17.174380Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:17.335021Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:17.335027Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:17.539926Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:17.539930Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:17.705442Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:17.705446Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:18.127037Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:18.127040Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:18.295345Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:18.295351Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:18.473546Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:18.473550Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:18.636387Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:18.637454Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:18.843085Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:18.843089Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:19.020688Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:19.020692Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:19.201992Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:19.201997Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:19.369243Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:19.369297Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:19.535715Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:19.535824Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:19.760089Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:19.761305Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:19.935717Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:19.935721Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:20.162450Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:20.162454Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:20.333244Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:20.333303Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:20.547095Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:20.547113Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:20.734211Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:20.734214Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:20.933985Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:20.935086Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:21.117872Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:21.118620Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:21.314798Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:21.314812Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:21.414208Z INFO property_map_server::routes::pois: GET /api/pois results=0 candidates=0 categories=1 categories_raw="Bakery" ms=0.0 -2026-05-04T16:57:21.414913Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=106 parallel=false cells_before_filter=17 cells_after_filter=17 truncated=false bounds=52.5012,0.9270,52.5245,0.9835 filters=2 filters_raw="Outstanding primary schools within 5km:0:13;;Outstanding secondary schools within 5km:0:4" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.0 json_ms=0.0 total_ms=0.1 -2026-05-04T16:57:21.568965Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:21.569086Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:21.706044Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=106 filters=2 travel=0 total=106 filters_raw="Outstanding primary schools within 5km:0:13;;Outstanding secondary schools within 5km:0:4" ms=0.0 -2026-05-04T16:57:21.756890Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:21.757039Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:21.955414Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:21.955448Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:22.147162Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:22.147165Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:22.330539Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:22.332673Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:22.426605Z INFO property_map_server::routes::pois: GET /api/pois results=0 candidates=14 categories=1 categories_raw="Bakery" ms=0.0 -2026-05-04T16:57:22.426755Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=2226 parallel=false cells_before_filter=70 cells_after_filter=69 truncated=false bounds=52.4917,0.9019,52.5346,1.0058 filters=2 filters_raw="Outstanding primary schools within 5km:0:13;;Outstanding secondary schools within 5km:0:4" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.1 json_ms=0.1 total_ms=0.2 -2026-05-04T16:57:22.541861Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:22.541871Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:22.681029Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=2226 filters=2 travel=0 total=2226 filters_raw="Outstanding primary schools within 5km:0:13;;Outstanding secondary schools within 5km:0:4" ms=0.0 -2026-05-04T16:57:22.741493Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:22.742137Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:22.936184Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:22.937320Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:23.113311Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:23.115082Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:23.316783Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:23.316849Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:23.508060Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:23.508083Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:23.704874Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:23.704878Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:23.887959Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:23.887962Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:24.104294Z INFO property_map_server::routes::pois: GET /api/pois results=0 candidates=14 categories=2 categories_raw="Bakery,Airport" ms=0.0 -2026-05-04T16:57:24.117936Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:24.118035Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:24.306274Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:24.306279Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:24.504949Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:24.504987Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:24.681516Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:24.683038Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:24.878853Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:24.878857Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:25.074316Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:25.074329Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:25.300703Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:25.300731Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:25.491570Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:25.491616Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:25.582060Z INFO property_map_server::routes::pois: GET /api/pois results=0 candidates=14 categories=3 categories_raw="Bakery,Airport,Aldi" ms=0.0 -2026-05-04T16:57:25.711228Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:25.711231Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:25.883944Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:25.883951Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:26.080336Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:26.080340Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:26.419818Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:26.419822Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:26.427398Z INFO property_map_server::routes::pois: GET /api/pois results=0 candidates=14 categories=4 categories_raw="Bakery,Airport,Aldi,Asda" ms=0.0 -2026-05-04T16:57:26.623712Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:26.623719Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:26.976432Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:26.976605Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:27.158303Z INFO property_map_server::routes::pois: GET /api/pois results=0 candidates=14 categories=10 categories_raw="Bakery,Airport,Aldi,Asda,Bus station,Bus stop,Ferry,Rail station,Taxi rank,Tube station" ms=0.0 -2026-05-04T16:57:27.165617Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:27.165649Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:27.519358Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:27.519367Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:27.712236Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:27.712251Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:28.079929Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:28.079940Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:28.261204Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:28.261360Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:28.450319Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:28.452104Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:28.610701Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:28.610706Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:28.787485Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:28.787523Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:28.836508Z INFO property_map_server::routes::pois: GET /api/pois results=9 candidates=469 categories=10 categories_raw="Bakery,Airport,Aldi,Asda,Bus station,Bus stop,Ferry,Rail station,Taxi rank,Tube station" ms=0.1 -2026-05-04T16:57:28.837299Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=15604 parallel=false cells_before_filter=618 cells_after_filter=618 truncated=false bounds=52.4290,0.7821,52.5750,1.1357 filters=2 filters_raw="Outstanding primary schools within 5km:0:13;;Outstanding secondary schools within 5km:0:4" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.6 json_ms=0.3 total_ms=0.9 -2026-05-04T16:57:28.961952Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:28.961954Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:29.114483Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=15604 filters=2 travel=0 total=15604 filters_raw="Outstanding primary schools within 5km:0:13;;Outstanding secondary schools within 5km:0:4" ms=0.1 -2026-05-04T16:57:29.149020Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:29.150154Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:29.325989Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:29.326049Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:29.509513Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:29.509562Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:29.681383Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:29.681452Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:29.860032Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:29.860130Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:30.037351Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:30.037362Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:30.218280Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:30.219884Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:30.396337Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:30.396391Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:30.600189Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:30.600218Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:30.769945Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:30.769962Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:30.922902Z INFO property_map_server::routes::pois: GET /api/pois results=12 candidates=866 categories=10 categories_raw="Bakery,Airport,Aldi,Asda,Bus station,Bus stop,Ferry,Rail station,Taxi rank,Tube station" ms=0.1 -2026-05-04T16:57:30.949401Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:30.949408Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:31.118825Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:31.118826Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:31.168572Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=31273 filters=2 travel=0 total=31273 filters_raw="Outstanding primary schools within 5km:0:13;;Outstanding secondary schools within 5km:0:4" ms=0.2 -2026-05-04T16:57:31.304370Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:31.304375Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:31.470466Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:31.470477Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:31.654850Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:31.654851Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:31.830251Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:31.830253Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:32.025962Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:32.025964Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:32.187866Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:32.187874Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:32.363389Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:32.363395Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:32.526389Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:32.526388Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:32.708754Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:32.708756Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:32.874828Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:32.874835Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:33.066317Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:33.066344Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:33.178764Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=83099 parallel=true cells_before_filter=0 cells_after_filter=0 truncated=false bounds=51.4958,-0.1756,51.5342,-0.0844 filters=2 filters_raw="Outstanding primary schools within 5km:0:13;;Outstanding secondary schools within 5km:0:4" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.5 json_ms=0.0 total_ms=0.5 -2026-05-04T16:57:33.184576Z INFO property_map_server::routes::pois: GET /api/pois results=818 candidates=14319 categories=10 categories_raw="Bakery,Airport,Aldi,Asda,Bus station,Bus stop,Ferry,Rail station,Taxi rank,Tube station" ms=1.1 -2026-05-04T16:57:33.231876Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:33.231880Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:33.415747Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:33.415752Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:33.428604Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=83099 filters=2 travel=0 total=0 filters_raw="Outstanding primary schools within 5km:0:13;;Outstanding secondary schools within 5km:0:4" ms=0.5 -2026-05-04T16:57:33.590144Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:33.590174Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:33.769332Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:33.769378Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:33.944883Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:33.944901Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:34.156932Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:34.157036Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:34.321339Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:34.321423Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:34.508651Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:34.508727Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:34.672554Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:34.672596Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:34.812145Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=107108 parallel=true cells_before_filter=0 cells_after_filter=0 truncated=false bounds=51.4998,-0.1465,51.5383,-0.0553 filters=2 filters_raw="Outstanding primary schools within 5km:0:13;;Outstanding secondary schools within 5km:0:4" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.8 json_ms=0.0 total_ms=0.8 -2026-05-04T16:57:34.813887Z INFO property_map_server::routes::pois: GET /api/pois results=870 candidates=13715 categories=10 categories_raw="Bakery,Airport,Aldi,Asda,Bus station,Bus stop,Ferry,Rail station,Taxi rank,Tube station" ms=0.8 -2026-05-04T16:57:34.848347Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:34.849823Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:35.013624Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:35.013633Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:35.086005Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=107108 filters=2 travel=0 total=0 filters_raw="Outstanding primary schools within 5km:0:13;;Outstanding secondary schools within 5km:0:4" ms=0.7 -2026-05-04T16:57:35.186931Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:35.187028Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:35.361580Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:35.361635Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:35.544543Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:35.544565Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:35.717843Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:35.717900Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:35.901422Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:35.901512Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:36.080739Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:36.080803Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:36.256927Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:36.256980Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:36.425042Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:36.425096Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:36.597991Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:36.598058Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:36.774872Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:36.774922Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:36.945925Z INFO property_map_server::routes::pois: GET /api/pois results=6519 candidates=55638 categories=10 categories_raw="Bakery,Airport,Aldi,Asda,Bus station,Bus stop,Ferry,Rail station,Taxi rank,Tube station" ms=4.4 -2026-05-04T16:57:36.955770Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:36.955772Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:37.128544Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:37.128545Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:37.193684Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=1124084 filters=2 travel=0 total=210501 filters_raw="Outstanding primary schools within 5km:0:13;;Outstanding secondary schools within 5km:0:4" ms=7.2 -2026-05-04T16:57:37.303108Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:37.303116Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:37.474117Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:37.474121Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:37.659956Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:37.660038Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:37.835019Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:37.835029Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:38.013537Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:38.014575Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:38.178135Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:38.178138Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:38.365886Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:38.365888Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:38.528940Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:38.528988Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:38.649036Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=83099 parallel=true cells_before_filter=0 cells_after_filter=0 truncated=false bounds=51.4958,-0.1756,51.5342,-0.0844 filters=2 filters_raw="Outstanding primary schools within 5km:0:13;;Outstanding secondary schools within 5km:0:4" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.5 json_ms=0.0 total_ms=0.5 -2026-05-04T16:57:38.651162Z INFO property_map_server::routes::pois: GET /api/pois results=818 candidates=14319 categories=10 categories_raw="Bakery,Airport,Aldi,Asda,Bus station,Bus stop,Ferry,Rail station,Taxi rank,Tube station" ms=0.8 -2026-05-04T16:57:38.703757Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:38.703765Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:38.878318Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:38.878376Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:38.923539Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=83099 filters=2 travel=0 total=0 filters_raw="Outstanding primary schools within 5km:0:13;;Outstanding secondary schools within 5km:0:4" ms=0.4 -2026-05-04T16:57:39.077673Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:39.077857Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:39.391489Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:39.391528Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:39.574670Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:39.574675Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:39.744998Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:39.745109Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:39.921045Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:39.921052Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:40.094946Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:40.095013Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:40.271084Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:40.271102Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:40.442667Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:40.442720Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:40.615514Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:40.615515Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:40.781681Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:40.781694Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:40.958954Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:40.961294Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:41.146209Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:41.146218Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:41.174410Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:41.174416Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:41.335491Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:41.335496Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:41.380501Z INFO property_map_server::routes::pois: GET /api/pois results=818 candidates=14319 categories=10 categories_raw="Bakery,Airport,Aldi,Asda,Bus station,Bus stop,Ferry,Rail station,Taxi rank,Tube station" ms=0.9 -2026-05-04T16:57:41.384727Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=83099 parallel=true cells_before_filter=0 cells_after_filter=0 truncated=false bounds=51.4958,-0.1756,51.5342,-0.0844 filters=2 filters_raw="Outstanding primary schools within 5km:0:13;;Outstanding secondary schools within 5km:0:4" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.5 json_ms=0.0 total_ms=0.5 -2026-05-04T16:57:41.505426Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:41.505550Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:41.632660Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=83099 filters=2 travel=0 total=0 filters_raw="Outstanding primary schools within 5km:0:13;;Outstanding secondary schools within 5km:0:4" ms=0.7 -2026-05-04T16:57:41.692939Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:41.694600Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:41.866758Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:41.866801Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:42.054415Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:42.054430Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:44.925653Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=67753 parallel=true cells_before_filter=0 cells_after_filter=0 truncated=false bounds=51.5462,-0.1779,51.5847,-0.0868 filters=2 filters_raw="Outstanding primary schools within 5km:0:13;;Outstanding secondary schools within 5km:0:4" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.4 json_ms=0.0 total_ms=0.4 -2026-05-04T16:57:44.925825Z INFO property_map_server::routes::pois: GET /api/pois results=544 candidates=4484 categories=10 categories_raw="Bakery,Airport,Aldi,Asda,Bus station,Bus stop,Ferry,Rail station,Taxi rank,Tube station" ms=0.6 -2026-05-04T16:57:45.171774Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=67753 filters=2 travel=0 total=0 filters_raw="Outstanding primary schools within 5km:0:13;;Outstanding secondary schools within 5km:0:4" ms=0.4 -2026-05-04T16:57:57.458132Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:57:57.459237Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:57:57.943610Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=537 cells_after_filter=412 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=5.4 json_ms=0.5 total_ms=5.9 -2026-05-04T16:58:28.777550Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T16:58:28.777658Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T16:58:29.127088Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=537 cells_after_filter=412 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.6 json_ms=0.3 total_ms=1.9 -2026-05-04T16:58:29.288159Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=537 cells_after_filter=412 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.5 json_ms=0.3 total_ms=1.8 -2026-05-04T20:30:19.557826Z INFO property_map_server: Prometheus metrics initialized -2026-05-04T20:30:19.557989Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet -2026-05-04T20:30:19.557997Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet" -2026-05-04T20:30:19.661100Z INFO property_map_server::data::property: Postcode features loaded rows=1263786 -2026-05-04T20:30:19.661114Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet" -2026-05-04T20:30:22.562738Z INFO property_map_server::data::property: Properties joined with postcodes rows=15268176 -2026-05-04T20:30:22.562783Z INFO property_map_server::data::property: Feature columns from config numeric=63 enums=6 total=69 -2026-05-04T20:30:26.039464Z WARN property_map_server::data::property: Dropped properties with missing postcode coordinates rows=743076 -2026-05-04T20:30:26.039472Z INFO property_map_server::data::property: Combined data selected rows=14525100 -2026-05-04T20:30:26.192620Z INFO property_map_server::data::property: Extracting numeric feature columns -2026-05-04T20:30:26.565556Z INFO property_map_server::data::property: Computing histograms for numeric features -2026-05-04T20:30:27.922455Z INFO property_map_server::data::property: Extracting string columns -2026-05-04T20:30:29.213846Z INFO property_map_server::data::property: Building enum features -2026-05-04T20:30:30.356475Z INFO property_map_server::data::property: Extracting renovation history -2026-05-04T20:30:32.289458Z INFO property_map_server::data::property: Renovation history extracted properties_with_events=1741939 -2026-05-04T20:30:32.289466Z INFO property_map_server::data::property: Sorting rows by spatial locality -2026-05-04T20:30:33.124493Z INFO property_map_server::data::property: Building interned strings -2026-05-04T20:30:38.166699Z INFO property_map_server::data::property: Transposing to row-major layout (spatially sorted, quantized to u16) -2026-05-04T20:30:40.831663Z INFO property_map_server::data::property: Data loading complete -2026-05-04T20:30:42.537764Z INFO property_map_server: Allocator trim label="property data load" trimmed=true rss_before_mib=12145.1 rss_after_mib=3347.9 released_mib=8797.2 -2026-05-04T20:30:42.537774Z INFO property_map_server: Property data loaded rows=14525100 features=69 enums=6 -2026-05-04T20:30:42.537777Z INFO property_map_server: Building spatial grid index (0.01° cells) -2026-05-04T20:30:42.639662Z INFO property_map_server: Precomputing H3 cells at resolution 12 -2026-05-04T20:30:42.639670Z INFO property_map_server::data::property: Precomputing H3 cells at resolution 12 -2026-05-04T20:30:42.983845Z INFO property_map_server::data::property: H3 precomputation complete (14525100 cells) -2026-05-04T20:30:42.983892Z INFO property_map_server: Loading POI data from /app/data/filtered_uk_pois.parquet -2026-05-04T20:30:42.983899Z INFO property_map_server::data::poi: Loading POI data from "/app/data/filtered_uk_pois.parquet"... -2026-05-04T20:30:43.020359Z INFO property_map_server::data::poi: Loaded 567534 POIs -2026-05-04T20:30:43.162023Z INFO property_map_server::data::poi: POI string columns interned category_unique=94 group_unique=11 emoji_unique=71 -2026-05-04T20:30:43.163139Z INFO property_map_server::data::poi: POI data loading complete. -2026-05-04T20:30:43.208910Z INFO property_map_server: Allocator trim label="poi data load" trimmed=true rss_before_mib=3756.2 rss_after_mib=3565.4 released_mib=190.8 -2026-05-04T20:30:43.208921Z INFO property_map_server: POI data loaded pois=567534 -2026-05-04T20:30:43.208924Z INFO property_map_server: Building POI spatial grid index -2026-05-04T20:30:43.215749Z INFO property_map_server: Loading place data from /app/data/places.parquet -2026-05-04T20:30:43.215762Z INFO property_map_server::data::places: Loading place data from "/app/data/places.parquet"... -2026-05-04T20:30:43.216707Z INFO property_map_server::data::places: Loaded 3474 places -2026-05-04T20:30:43.217692Z INFO property_map_server::data::places: Place data loaded places=3474 types=2 with_population=71 with_city=3392 -2026-05-04T20:30:43.221077Z INFO property_map_server: Allocator trim label="place data load" trimmed=true rss_before_mib=3574.5 rss_after_mib=3570.1 released_mib=4.4 -2026-05-04T20:30:43.221082Z INFO property_map_server: Place data loaded places=3474 -2026-05-04T20:30:43.221088Z INFO property_map_server: Loading postcode boundaries from /app/data/postcode_boundaries -2026-05-04T20:30:43.221092Z INFO property_map_server::data::postcodes: Loading postcode boundaries from "/app/data/postcode_boundaries" -2026-05-04T20:30:43.222031Z INFO property_map_server::data::postcodes: Found GeoJSON files to process files=2361 -2026-05-04T20:30:51.654250Z INFO property_map_server::data::postcodes: Postcode boundary data ready postcodes=1490140 -2026-05-04T20:30:52.077729Z INFO property_map_server: Allocator trim label="postcode boundary load" trimmed=true rss_before_mib=10882.4 rss_after_mib=10688.5 released_mib=193.9 -2026-05-04T20:30:52.077742Z INFO property_map_server: Postcode boundaries loaded postcodes=1490140 -2026-05-04T20:30:52.220308Z INFO property_map_server::data::postcodes: Outcode data derived from postcodes outcodes=2361 -2026-05-04T20:30:52.220362Z INFO property_map_server: Loading PMTiles from /app/data/uk.pmtiles -2026-05-04T20:30:52.273585Z INFO property_map_server: PMTiles loaded successfully -2026-05-04T20:30:52.309238Z INFO property_map_server: No --dist provided; static serving and OG injection disabled -2026-05-04T20:30:52.338585Z INFO property_map_server: Screenshot service configured: http://screenshot:8002 -2026-05-04T20:30:52.338730Z INFO property_map_server: Precomputed features response groups=8 -2026-05-04T20:30:52.338742Z INFO property_map_server: PocketBase configured: http://pocketbase:8090 -2026-05-04T20:30:52.419011Z INFO property_map_server::pocketbase: PocketBase users collection already has all required fields -2026-05-04T20:30:52.424109Z INFO property_map_server::pocketbase: PocketBase collection 'saved_searches' API rules updated -2026-05-04T20:30:52.427292Z INFO property_map_server::pocketbase: PocketBase collection 'saved_properties' API rules updated -2026-05-04T20:30:52.513510Z INFO property_map_server::pocketbase: PocketBase meta.appURL set to https://perfect-postcodes.co.uk/pb -2026-05-04T20:30:52.516839Z INFO property_map_server::pocketbase: PocketBase OAuth configured on users collection -2026-05-04T20:30:52.516862Z INFO property_map_server: Gemini configured (model: gemini-3-flash-preview) -2026-05-04T20:30:52.516881Z INFO property_map_server: Loading travel time data from /app/data/travel-times -2026-05-04T20:30:52.518702Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="bicycle" destinations=2753 -2026-05-04T20:30:52.520363Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="walking" destinations=2753 -2026-05-04T20:30:52.522195Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="car" destinations=2753 -2026-05-04T20:30:52.523772Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="transit" destinations=2752 -2026-05-04T20:30:52.523786Z INFO property_map_server: Travel time store loaded modes=4 -2026-05-04T20:30:52.523828Z INFO property_map_server: Precomputed AI filters system prompt -2026-05-04T20:31:09.448584Z INFO property_map_server: All memory pages locked (mlockall) -2026-05-04T20:31:09.448653Z INFO property_map_server: Server listening on 0.0.0.0:8001 -2026-05-04T20:31:09.954559Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:31:22.353875Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:31:22.353952Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:31:23.626789Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=537 cells_after_filter=412 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=6.3 json_ms=0.3 total_ms=6.6 -2026-05-04T20:32:15.348905Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:32:15.350168Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:32:15.807753Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=537 cells_after_filter=412 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=4.1 json_ms=0.2 total_ms=4.4 -2026-05-04T20:32:19.685730Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:32:19.685759Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:32:19.966538Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=537 cells_after_filter=412 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=3.5 json_ms=0.3 total_ms=3.7 -2026-05-04T20:32:27.438356Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:32:27.438476Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:32:27.784172Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=537 cells_after_filter=412 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=2.0 json_ms=0.4 total_ms=2.4 -2026-05-04T20:32:54.407882Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:32:54.407932Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:32:54.660005Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=537 cells_after_filter=412 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=2.4 json_ms=0.3 total_ms=2.7 -2026-05-04T20:33:09.800713Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:33:09.800731Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:33:10.426238Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=537 cells_after_filter=412 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.5 json_ms=0.3 total_ms=1.8 -2026-05-04T20:33:12.770380Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=537 cells_after_filter=412 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.9 json_ms=0.3 total_ms=2.2 -2026-05-04T20:33:53.200280Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:33:53.203908Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:18.328076Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:18.328080Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:18.583018Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=537 cells_after_filter=412 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.6 json_ms=0.3 total_ms=1.8 -2026-05-04T20:34:23.052991Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=83099 parallel=true cells_before_filter=312 cells_after_filter=300 truncated=false bounds=51.4958,-0.1756,51.5342,-0.0844 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.0 json_ms=0.2 total_ms=1.2 -2026-05-04T20:34:25.158814Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89195da49c3ffff resolution=9 total_count=238 filters=0 filters_raw="-" ms=0.2 -2026-05-04T20:34:25.576335Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=64311 parallel=true cells_before_filter=249 cells_after_filter=229 truncated=false bounds=51.4958,-0.1632,51.5342,-0.0968 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.5 json_ms=0.2 total_ms=1.7 -2026-05-04T20:34:26.166477Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=88195da49dfffff resolution=8 total_count=1598 filters=0 filters_raw="-" ms=1.1 -2026-05-04T20:34:26.198050Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87195da49ffffff resolution=7 total_count=7707 filters=0 filters_raw="-" ms=2.9 -2026-05-04T20:34:26.276613Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=86195da4fffffff resolution=6 total_count=94429 filters=0 filters_raw="-" ms=38.2 -2026-05-04T20:34:26.465598Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=6 rows=7286993 parallel=true cells_before_filter=1523 cells_after_filter=1523 truncated=false bounds=49.8232,-2.2817,52.4581,2.2344 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.2 agg_ms=39.6 json_ms=1.1 total_ms=40.9 -2026-05-04T20:34:27.933150Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87195da48ffffff resolution=7 total_count=15303 filters=0 filters_raw="-" ms=6.4 -2026-05-04T20:34:28.584652Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=7 rows=597761 parallel=true cells_before_filter=972 cells_after_filter=972 truncated=false bounds=50.7289,-1.6798,51.3320,-0.6488 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=3.7 json_ms=0.4 total_ms=4.1 -2026-05-04T20:34:28.905846Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=88195da481fffff resolution=8 total_count=1907 filters=0 filters_raw="-" ms=0.9 -2026-05-04T20:34:29.424084Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=8 rows=186703 parallel=true cells_before_filter=945 cells_after_filter=941 truncated=false bounds=50.8643,-1.4587,51.1420,-0.9843 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.6 json_ms=0.5 total_ms=2.1 -2026-05-04T20:34:30.488144Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=8819598e67fffff resolution=8 total_count=7 filters=0 filters_raw="-" ms=0.1 -2026-05-04T20:34:31.111777Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=8819598e2dfffff resolution=8 total_count=60 filters=0 filters_raw="-" ms=0.1 -2026-05-04T20:34:31.378980Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=8919598e2c3ffff resolution=9 total_count=0 filters=0 filters_raw="-" ms=0.0 -2026-05-04T20:34:31.842706Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=1307 parallel=false cells_before_filter=65 cells_after_filter=52 truncated=false bounds=50.9992,-1.2517,51.0771,-1.1185 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.1 json_ms=0.1 total_ms=0.1 -2026-05-04T20:34:32.910988Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=2465 parallel=false cells_before_filter=94 cells_after_filter=82 truncated=false bounds=51.0079,-1.2472,51.0858,-1.1141 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.1 json_ms=0.1 total_ms=0.2 -2026-05-04T20:34:32.928239Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=8919598e2d7ffff resolution=9 total_count=44 filters=0 filters_raw="-" ms=0.1 -2026-05-04T20:34:33.808761Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:33.808804Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:34.471770Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=537 cells_after_filter=412 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.7 json_ms=0.3 total_ms=2.0 -2026-05-04T20:34:34.717103Z INFO property_map_server::routes::screenshot: Fetching screenshot from: http://screenshot:8002/screenshot?og=1&lat=51.0468&lon=-1.1806&zoom=13.0 -2026-05-04T20:34:35.099478Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:35.099493Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:35.404694Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:35.404725Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:35.621134Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:35.621143Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:35.820743Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:35.820748Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:36.031322Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:36.031329Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:36.220252Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:36.220273Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:36.417725Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:36.417764Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:36.596564Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:36.596567Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:36.805201Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:36.807262Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:36.979234Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:36.980372Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:37.178187Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:37.178191Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:37.374722Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:37.374774Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:37.578691Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:37.578748Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:37.763311Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:37.763336Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:37.959917Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:37.961434Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:38.149214Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:38.149218Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:38.338272Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:38.338330Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:38.523357Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:38.523384Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:38.647361Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:38.648448Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:38.722548Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:38.722571Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:38.907929Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:38.908520Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:38.999919Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=3047 parallel=false cells_before_filter=155 cells_after_filter=134 truncated=false bounds=51.0079,-1.2718,51.0856,-1.0894 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.1 json_ms=0.1 total_ms=0.2 -2026-05-04T20:34:39.103175Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:39.103190Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:39.297466Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:39.297503Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:39.496714Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:39.496723Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:39.690316Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:39.690319Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:39.885749Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:39.885750Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:40.071280Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:40.071281Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:40.272875Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:40.272877Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:40.455413Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:40.456062Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:40.650200Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:40.650208Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:40.845522Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:40.845559Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:41.038761Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:41.038768Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:41.229273Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:41.229275Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:41.430964Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:41.430979Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:41.623261Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:41.623265Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:41.824373Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:41.824375Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:42.019133Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:42.020313Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:42.212760Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:42.212863Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:42.411007Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:42.411009Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:42.607078Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:42.607110Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:42.793714Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:42.793749Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:42.989510Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:42.989513Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:43.183559Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:43.183560Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:43.387718Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:43.387725Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:43.585185Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:43.586557Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:43.779686Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:43.779689Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:43.967841Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:43.967853Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:44.166724Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:44.166725Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:44.394604Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:44.394609Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:44.588595Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:44.588598Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:44.787714Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:44.787719Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:44.984488Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:44.984510Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:45.180962Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:45.180969Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:45.376625Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=3047 parallel=false cells_before_filter=155 cells_after_filter=134 truncated=false bounds=51.0079,-1.2718,51.0856,-1.0894 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.2 json_ms=0.1 total_ms=0.3 -2026-05-04T20:34:45.387583Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:45.387593Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:45.580533Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:45.580596Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:45.773425Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:45.773473Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:45.967029Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:45.967068Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:46.166279Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:46.166350Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:46.357911Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:46.358486Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:46.550836Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:46.550891Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:46.784106Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:46.784160Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:46.983704Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:46.983708Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:47.198317Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:47.198328Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:47.394310Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:47.394315Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:47.610059Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:47.610060Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:47.800028Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:47.800044Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:48.014658Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:48.014666Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:48.219421Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:48.219435Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:48.434789Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:48.434790Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:48.647418Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:48.647423Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:48.898225Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:48.898228Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:49.108187Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:49.108205Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:49.342153Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:49.342155Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:49.545502Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:49.545518Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:49.778569Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:49.778587Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:49.999270Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:49.999274Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:50.333862Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:50.333934Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:50.544353Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:50.544371Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:50.798443Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:50.798447Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:51.000381Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:51.000385Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:51.374154Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:51.374161Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:51.570709Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:51.570714Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:51.916953Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:51.916957Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:52.125325Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:52.125330Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:52.482832Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:52.482835Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:52.670560Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:52.670564Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:52.872611Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:52.872615Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:53.060615Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:53.060616Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:53.251200Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:53.251202Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:53.428146Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:53.428148Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:53.623610Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:53.623614Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:53.811624Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:53.811663Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:54.009761Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:54.009828Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:54.190575Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:54.190579Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:54.379891Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:54.379898Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:54.567380Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:54.567402Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:54.758550Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:54.758551Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:54.935097Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:54.935104Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:55.122992Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:55.122997Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:55.305012Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:55.305016Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:55.488758Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:55.488771Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:55.661696Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:55.661743Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:55.850007Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:55.851110Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:56.021055Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:56.021093Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:56.204565Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:56.204571Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:56.378525Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:56.378554Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:56.569251Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:56.569259Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:56.751520Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:56.751531Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:57.240645Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:57.240996Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:57.241239Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=326 parallel=false cells_before_filter=41 cells_after_filter=41 truncated=false bounds=51.0213,-1.2578,51.0723,-1.1034 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.1 json_ms=0.0 total_ms=0.1 -2026-05-04T20:34:57.424507Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:57.424534Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:57.599879Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:57.599944Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:57.770786Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:57.770819Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:57.956206Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:57.956233Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:58.135904Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:58.135908Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:58.321905Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:58.321912Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:58.497793Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:58.497797Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:58.695097Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:58.695098Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:58.884432Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:58.884442Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:59.074754Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:59.074757Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:59.257817Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:59.257819Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:59.443034Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:59.443038Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:59.616255Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:59.616264Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:59.806095Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:59.806096Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:34:59.996128Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:34:59.996198Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:35:00.202642Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:35:00.202647Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:35:00.415170Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:35:00.415200Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:35:00.622447Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:35:00.622452Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:35:00.819512Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:35:00.820079Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:35:01.018420Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:35:01.018432Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:35:01.223860Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:35:01.223861Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:35:01.428276Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:35:01.428296Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:35:01.632732Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:35:01.632734Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:35:01.825994Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:35:01.826009Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:35:02.010964Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:35:02.010970Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:35:02.207162Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:35:02.207165Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:35:02.383218Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:35:02.384358Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:35:02.571962Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:35:02.571993Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:35:02.751751Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:35:02.752992Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:35:02.941788Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:35:02.941802Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:35:03.116109Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:35:03.116116Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:35:03.304169Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:35:03.304171Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:35:03.480506Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:35:03.480515Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:35:03.664726Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:35:03.664730Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:35:03.832155Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:35:03.832156Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:35:04.018658Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:35:04.018659Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:35:04.195730Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:35:04.195732Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:35:04.378322Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:35:04.378331Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:35:04.543718Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:35:04.543724Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:35:04.732208Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:35:04.732669Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:35:04.912266Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:35:04.912342Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:35:05.102562Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:35:05.102568Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:35:05.284289Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:35:05.284345Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:35:05.481744Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:35:05.481770Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:35:05.669280Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:35:05.669312Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:35:05.854490Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:35:05.855575Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:35:53.196583Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:35:53.197811Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:35:53.878390Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:35:53.878412Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:35:54.470543Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=537 cells_after_filter=412 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.3 json_ms=0.2 total_ms=1.6 -2026-05-04T20:36:09.276001Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:36:09.281237Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:36:09.367289Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:36:09.367312Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:37:02.804001Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:37:02.805317Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:37:02.885691Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:37:02.886138Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:37:19.771121Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:37:19.815442Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:37:19.884568Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:37:19.884572Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:37:41.735578Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:37:41.736828Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:37:41.847861Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:37:41.847873Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:37:57.095462Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:37:57.095764Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:37:57.200811Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:37:57.200824Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:38:11.018411Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:38:11.059896Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:38:11.133358Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:38:11.134108Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:38:52.095388Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:38:52.098225Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:38:53.368198Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:38:53.429393Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:38:54.163956Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=537 cells_after_filter=412 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.1 json_ms=0.3 total_ms=1.4 -2026-05-04T20:39:06.050601Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:39:06.052116Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:39:06.570770Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=537 cells_after_filter=412 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.8 json_ms=0.3 total_ms=2.1 -2026-05-04T20:39:23.011298Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=52 cells_after_filter=37 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=4 filters_raw="Estimated current price:0:600000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.1 json_ms=0.0 total_ms=1.1 -2026-05-04T20:39:23.243791Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=152340 filters=4 travel=0 total=192 filters_raw="Estimated current price:0:600000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" ms=2.1 -2026-05-04T20:39:24.980683Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=392 cells_after_filter=297 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=3 filters_raw="Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=1.5 json_ms=0.3 total_ms=1.8 -2026-05-04T20:39:25.125095Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=52 cells_after_filter=37 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=4 filters_raw="Estimated current price:0:600000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=1.5 json_ms=0.1 total_ms=1.5 -2026-05-04T20:39:31.465483Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=261 cells_after_filter=182 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=4 filters_raw="Estimated current price:12976.594:1380000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=2.0 json_ms=0.1 total_ms=2.1 -2026-05-04T20:39:31.722990Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=152340 filters=4 travel=0 total=2266 filters_raw="Estimated current price:12976.594:1380000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" ms=3.3 -2026-05-04T20:39:38.401017Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89194ad325bffff resolution=9 total_count=1 filters=4 filters_raw="Estimated current price:12976.594:1380000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" ms=0.2 -2026-05-04T20:39:39.087171Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=108397 parallel=true cells_before_filter=183 cells_after_filter=134 truncated=false bounds=51.4943,-0.1671,51.5357,-0.0929 filters=4 filters_raw="Estimated current price:12976.594:1380000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.0 json_ms=0.1 total_ms=1.1 -2026-05-04T20:39:39.300308Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=108397 filters=4 travel=0 total=1583 filters_raw="Estimated current price:12976.594:1380000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" ms=1.7 -2026-05-04T20:41:08.067710Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:41:08.069119Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:41:08.529787Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=537 cells_after_filter=412 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.5 json_ms=0.3 total_ms=1.8 -2026-05-04T20:41:17.449649Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=52 cells_after_filter=37 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=4 filters_raw="Estimated current price:0:600000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.9 json_ms=0.0 total_ms=1.0 -2026-05-04T20:41:17.701651Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=152340 filters=4 travel=0 total=192 filters_raw="Estimated current price:0:600000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" ms=2.4 -2026-05-04T20:41:19.350217Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=392 cells_after_filter=297 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=3 filters_raw="Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=1.3 json_ms=0.3 total_ms=1.6 -2026-05-04T20:41:19.498459Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=52 cells_after_filter=37 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=4 filters_raw="Estimated current price:0:600000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=1.1 json_ms=0.0 total_ms=1.1 -2026-05-04T20:41:25.104140Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=261 cells_after_filter=182 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=4 filters_raw="Estimated current price:12976.594:1380000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.8 json_ms=0.1 total_ms=1.9 -2026-05-04T20:41:25.354462Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=152340 filters=4 travel=0 total=2266 filters_raw="Estimated current price:12976.594:1380000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" ms=3.4 -2026-05-04T20:41:30.534640Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89194ad325bffff resolution=9 total_count=1 filters=4 filters_raw="Estimated current price:12976.594:1380000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" ms=0.2 -2026-05-04T20:41:31.159443Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=108397 parallel=true cells_before_filter=183 cells_after_filter=134 truncated=false bounds=51.4943,-0.1671,51.5357,-0.0929 filters=4 filters_raw="Estimated current price:12976.594:1380000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.9 json_ms=0.1 total_ms=1.0 -2026-05-04T20:41:31.409981Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=108397 filters=4 travel=0 total=1583 filters_raw="Estimated current price:12976.594:1380000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" ms=1.8 -2026-05-04T20:42:30.707655Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:42:30.708065Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:42:30.744186Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:42:30.745673Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:43:04.554809Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:43:04.554814Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:43:04.584716Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:43:04.587412Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:43:12.275304Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:43:12.275307Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:43:12.298346Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:43:12.299436Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:43:41.034309Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:43:41.039356Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:43:41.059494Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:43:41.059502Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:43:52.892976Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:43:52.894374Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:43:53.353713Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=537 cells_after_filter=412 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.8 json_ms=0.2 total_ms=2.0 -2026-05-04T20:43:59.658270Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=52 cells_after_filter=37 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=4 filters_raw="Estimated current price:0:600000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.9 json_ms=0.0 total_ms=0.9 -2026-05-04T20:43:59.907585Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=152340 filters=4 travel=0 total=192 filters_raw="Estimated current price:0:600000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" ms=2.4 -2026-05-04T20:44:00.977870Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=392 cells_after_filter=297 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=3 filters_raw="Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=1.7 json_ms=0.5 total_ms=2.2 -2026-05-04T20:44:01.129206Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=52 cells_after_filter=37 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=4 filters_raw="Estimated current price:0:600000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=1.7 json_ms=0.1 total_ms=1.8 -2026-05-04T20:44:05.395927Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=261 cells_after_filter=182 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=4 filters_raw="Estimated current price:12976.594:1380000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=2.2 json_ms=0.2 total_ms=2.3 -2026-05-04T20:44:05.646861Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=152340 filters=4 travel=0 total=2266 filters_raw="Estimated current price:12976.594:1380000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" ms=3.5 -2026-05-04T20:44:10.435176Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89194ad325bffff resolution=9 total_count=1 filters=4 filters_raw="Estimated current price:12976.594:1380000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" ms=0.2 -2026-05-04T20:44:11.096593Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=108397 parallel=true cells_before_filter=183 cells_after_filter=134 truncated=false bounds=51.4943,-0.1671,51.5357,-0.0929 filters=4 filters_raw="Estimated current price:12976.594:1380000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.9 json_ms=0.1 total_ms=1.0 -2026-05-04T20:44:11.346615Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=108397 filters=4 travel=0 total=1583 filters_raw="Estimated current price:12976.594:1380000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" ms=1.9 -2026-05-04T20:44:25.051474Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=83099 parallel=true cells_before_filter=312 cells_after_filter=300 truncated=false bounds=51.4958,-0.1756,51.5342,-0.0844 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.9 json_ms=0.2 total_ms=1.1 -2026-05-04T20:44:27.031361Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=83099 parallel=true cells_before_filter=312 cells_after_filter=300 truncated=false bounds=51.4958,-0.1756,51.5342,-0.0844 filters=1 filters_raw="Income Score (rate):0:0.996" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.3 json_ms=0.2 total_ms=1.5 -2026-05-04T20:44:27.281363Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=83099 filters=1 travel=0 total=83099 filters_raw="Income Score (rate):0:0.996" ms=2.4 -2026-05-04T20:44:27.603993Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=83099 parallel=true cells_before_filter=312 cells_after_filter=300 truncated=false bounds=51.4958,-0.1756,51.5342,-0.0844 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=1.3 json_ms=0.3 total_ms=1.7 -2026-05-04T20:44:27.762778Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=83099 parallel=true cells_before_filter=312 cells_after_filter=300 truncated=false bounds=51.4958,-0.1756,51.5342,-0.0844 filters=1 filters_raw="Income Score (rate):0:0.996" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=1.1 json_ms=0.2 total_ms=1.3 -2026-05-04T20:44:27.996689Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=83099 parallel=true cells_before_filter=305 cells_after_filter=293 truncated=false bounds=51.4958,-0.1756,51.5342,-0.0844 filters=1 filters_raw="Income Score (rate):0.85:0.996" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.9 json_ms=0.2 total_ms=2.1 -2026-05-04T20:44:28.242605Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=83099 filters=1 travel=0 total=77783 filters_raw="Income Score (rate):0.85:0.996" ms=2.0 -2026-05-04T20:45:00.911232Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:45:00.914605Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:45:02.434769Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=537 cells_after_filter=412 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.7 json_ms=0.3 total_ms=2.0 -2026-05-04T20:45:07.311390Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=52 cells_after_filter=37 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=4 filters_raw="Estimated current price:0:600000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.3 json_ms=0.0 total_ms=1.3 -2026-05-04T20:45:07.554657Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=152340 filters=4 travel=0 total=192 filters_raw="Estimated current price:0:600000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" ms=3.0 -2026-05-04T20:45:29.666656Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:45:29.667346Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:45:30.123472Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=537 cells_after_filter=412 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.6 json_ms=0.3 total_ms=1.9 -2026-05-04T20:45:35.839057Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=52 cells_after_filter=37 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=4 filters_raw="Estimated current price:0:600000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.3 json_ms=0.0 total_ms=1.3 -2026-05-04T20:45:36.085660Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=152340 filters=4 travel=0 total=192 filters_raw="Estimated current price:0:600000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" ms=2.2 -2026-05-04T20:46:46.804618Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:46:46.804924Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:46:48.403073Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=537 cells_after_filter=412 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=2.0 json_ms=0.4 total_ms=2.4 -2026-05-04T20:46:53.927368Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=52 cells_after_filter=37 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=4 filters_raw="Estimated current price:0:600000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.9 json_ms=0.0 total_ms=1.0 -2026-05-04T20:46:54.173346Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=152340 filters=4 travel=0 total=192 filters_raw="Estimated current price:0:600000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" ms=2.1 -2026-05-04T20:46:55.390070Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=392 cells_after_filter=297 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=3 filters_raw="Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=2.1 json_ms=0.4 total_ms=2.5 -2026-05-04T20:46:55.535270Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=52 cells_after_filter=37 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=4 filters_raw="Estimated current price:0:600000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=1.3 json_ms=0.0 total_ms=1.3 -2026-05-04T20:47:00.487676Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=261 cells_after_filter=182 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=4 filters_raw="Estimated current price:12976.594:1380000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.4 json_ms=0.2 total_ms=1.5 -2026-05-04T20:47:00.738490Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=152340 filters=4 travel=0 total=2266 filters_raw="Estimated current price:12976.594:1380000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" ms=3.2 -2026-05-04T20:47:05.776570Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89194ad325bffff resolution=9 total_count=1 filters=4 filters_raw="Estimated current price:12976.594:1380000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" ms=0.2 -2026-05-04T20:47:06.355877Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=108397 parallel=true cells_before_filter=183 cells_after_filter=134 truncated=false bounds=51.4943,-0.1671,51.5357,-0.0929 filters=4 filters_raw="Estimated current price:12976.594:1380000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.9 json_ms=0.1 total_ms=1.0 -2026-05-04T20:47:06.606689Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=108397 filters=4 travel=0 total=1583 filters_raw="Estimated current price:12976.594:1380000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" ms=1.7 -2026-05-04T20:47:32.866710Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:47:32.866743Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:47:32.885838Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:47:32.886993Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:47:49.386505Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:47:49.386515Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:47:49.401614Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:47:49.402891Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:47:57.416750Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:47:57.418210Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:47:58.098569Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=537 cells_after_filter=412 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=2.8 json_ms=0.3 total_ms=3.1 -2026-05-04T20:47:58.404720Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:47:58.405522Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:47:58.430526Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:47:58.430833Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:48:01.191206Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:48:01.192318Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:48:01.523111Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=537 cells_after_filter=412 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=2.0 json_ms=0.3 total_ms=2.3 -2026-05-04T20:48:07.772669Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=52 cells_after_filter=37 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=4 filters_raw="Estimated current price:0:600000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.2 json_ms=0.0 total_ms=1.3 -2026-05-04T20:48:08.027177Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=152340 filters=4 travel=0 total=192 filters_raw="Estimated current price:0:600000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" ms=3.9 -2026-05-04T20:48:08.796621Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:48:08.796636Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:48:08.812196Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:48:08.813328Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:48:08.885819Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:48:08.886773Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:48:09.227901Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=52 cells_after_filter=37 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=4 filters_raw="Estimated current price:0:600000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=2.5 json_ms=0.0 total_ms=2.6 -2026-05-04T20:48:11.122327Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=152340 filters=4 travel=0 total=192 filters_raw="Estimated current price:0:600000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" ms=4.5 -2026-05-04T20:48:17.124780Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:48:17.125594Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:48:17.145187Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:48:17.147472Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:48:17.230192Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:48:17.230475Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:48:17.594663Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=52 cells_after_filter=37 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=4 filters_raw="Estimated current price:0:600000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.6 json_ms=0.1 total_ms=1.6 -2026-05-04T20:50:12.098973Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:50:12.100126Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:50:13.707247Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=537 cells_after_filter=412 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.2 json_ms=0.3 total_ms=1.5 -2026-05-04T20:50:19.331174Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=52 cells_after_filter=37 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=4 filters_raw="Estimated current price:0:600000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.9 json_ms=0.0 total_ms=0.9 -2026-05-04T20:50:19.582430Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=152340 filters=4 travel=0 total=192 filters_raw="Estimated current price:0:600000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" ms=2.1 -2026-05-04T20:50:20.799127Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=392 cells_after_filter=297 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=3 filters_raw="Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=1.8 json_ms=0.4 total_ms=2.1 -2026-05-04T20:50:20.942190Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=52 cells_after_filter=37 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=4 filters_raw="Estimated current price:0:600000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=1.0 json_ms=0.1 total_ms=1.1 -2026-05-04T20:50:25.736222Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=261 cells_after_filter=182 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=4 filters_raw="Estimated current price:12976.594:1380000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=3.1 json_ms=0.2 total_ms=3.3 -2026-05-04T20:50:25.983567Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=152340 filters=4 travel=0 total=2266 filters_raw="Estimated current price:12976.594:1380000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" ms=3.6 -2026-05-04T20:50:30.835124Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89194ad325bffff resolution=9 total_count=1 filters=4 filters_raw="Estimated current price:12976.594:1380000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" ms=0.2 -2026-05-04T20:50:31.454678Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=108397 parallel=true cells_before_filter=183 cells_after_filter=134 truncated=false bounds=51.4943,-0.1671,51.5357,-0.0929 filters=4 filters_raw="Estimated current price:12976.594:1380000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.8 json_ms=0.1 total_ms=1.0 -2026-05-04T20:50:31.700575Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=108397 filters=4 travel=0 total=1583 filters_raw="Estimated current price:12976.594:1380000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" ms=2.7 -2026-05-04T20:50:47.310479Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:50:47.310885Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:50:47.469513Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:50:47.469538Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:51:28.250512Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:51:28.250780Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:51:28.322463Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:51:28.323245Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:51:51.130489Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:51:51.147506Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:51:51.158397Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:51:51.158440Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:51:59.494152Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:51:59.494317Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:51:59.563015Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:51:59.564521Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:52:19.421059Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:52:19.422551Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:52:19.898720Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=537 cells_after_filter=412 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.3 json_ms=0.3 total_ms=1.5 -2026-05-04T20:52:27.078291Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=52 cells_after_filter=37 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=4 filters_raw="Estimated current price:0:600000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.0 json_ms=0.0 total_ms=1.0 -2026-05-04T20:52:27.315257Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=152340 filters=4 travel=0 total=192 filters_raw="Estimated current price:0:600000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" ms=2.2 -2026-05-04T20:52:28.560429Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=392 cells_after_filter=297 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=3 filters_raw="Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=2.2 json_ms=0.4 total_ms=2.6 -2026-05-04T20:52:28.707137Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=52 cells_after_filter=37 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=4 filters_raw="Estimated current price:0:600000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=2.5 json_ms=0.1 total_ms=2.5 -2026-05-04T20:52:34.007339Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=261 cells_after_filter=182 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=4 filters_raw="Estimated current price:12976.594:1380000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=2.3 json_ms=0.3 total_ms=2.6 -2026-05-04T20:52:34.257812Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=152340 filters=4 travel=0 total=2266 filters_raw="Estimated current price:12976.594:1380000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" ms=2.6 -2026-05-04T20:52:39.215463Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89194ad325bffff resolution=9 total_count=1 filters=4 filters_raw="Estimated current price:12976.594:1380000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" ms=0.2 -2026-05-04T20:52:39.798060Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=108397 parallel=true cells_before_filter=183 cells_after_filter=134 truncated=false bounds=51.4943,-0.1671,51.5357,-0.0929 filters=4 filters_raw="Estimated current price:12976.594:1380000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.9 json_ms=0.1 total_ms=1.0 -2026-05-04T20:52:40.048243Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=108397 filters=4 travel=0 total=1583 filters_raw="Estimated current price:12976.594:1380000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" ms=1.7 -2026-05-04T20:52:42.277856Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:52:42.279501Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:52:42.372314Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:52:42.374214Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:53:11.233529Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:53:11.234510Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:53:11.336527Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:53:11.336577Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:53:22.955423Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:53:22.959946Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:53:24.369428Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=537 cells_after_filter=412 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.2 json_ms=0.3 total_ms=1.5 -2026-05-04T20:53:30.515118Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=52 cells_after_filter=37 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=4 filters_raw="Estimated current price:0:600000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.4 json_ms=0.0 total_ms=1.4 -2026-05-04T20:53:30.765241Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=152340 filters=4 travel=0 total=192 filters_raw="Estimated current price:0:600000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" ms=2.7 -2026-05-04T20:53:31.991439Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=392 cells_after_filter=297 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=3 filters_raw="Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=2.7 json_ms=0.3 total_ms=3.1 -2026-05-04T20:53:32.133094Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=52 cells_after_filter=37 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=4 filters_raw="Estimated current price:0:600000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=1.3 json_ms=0.1 total_ms=1.4 -2026-05-04T20:53:36.787086Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=261 cells_after_filter=182 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=4 filters_raw="Estimated current price:12976.594:1380000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=2.7 json_ms=0.2 total_ms=2.9 -2026-05-04T20:53:37.045855Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=152340 filters=4 travel=0 total=2266 filters_raw="Estimated current price:12976.594:1380000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" ms=2.3 -2026-05-04T20:53:41.988437Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89194ad325bffff resolution=9 total_count=1 filters=4 filters_raw="Estimated current price:12976.594:1380000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" ms=0.2 -2026-05-04T20:53:42.536699Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=108397 parallel=true cells_before_filter=183 cells_after_filter=134 truncated=false bounds=51.4943,-0.1671,51.5357,-0.0929 filters=4 filters_raw="Estimated current price:12976.594:1380000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.1 json_ms=0.1 total_ms=1.2 -2026-05-04T20:53:42.787270Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=108397 filters=4 travel=0 total=1583 filters_raw="Estimated current price:12976.594:1380000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" ms=1.7 -2026-05-04T20:54:06.229359Z INFO property_map_server: Prometheus metrics initialized -2026-05-04T20:54:06.229589Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet -2026-05-04T20:54:06.229609Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet" -2026-05-04T20:54:06.354418Z INFO property_map_server::data::property: Postcode features loaded rows=1263786 -2026-05-04T20:54:06.354428Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet" -2026-05-04T20:54:08.909626Z INFO property_map_server::data::property: Properties joined with postcodes rows=15268176 -2026-05-04T20:54:08.909665Z INFO property_map_server::data::property: Feature columns from config numeric=63 enums=6 total=69 -2026-05-04T20:54:11.687418Z WARN property_map_server::data::property: Dropped properties with missing postcode coordinates rows=743076 -2026-05-04T20:54:11.687429Z INFO property_map_server::data::property: Combined data selected rows=14525100 -2026-05-04T20:54:11.818997Z INFO property_map_server::data::property: Extracting numeric feature columns -2026-05-04T20:54:12.212459Z INFO property_map_server::data::property: Computing histograms for numeric features -2026-05-04T20:54:13.526055Z INFO property_map_server::data::property: Extracting string columns -2026-05-04T20:54:14.916447Z INFO property_map_server::data::property: Building enum features -2026-05-04T20:54:16.192264Z INFO property_map_server::data::property: Extracting renovation history -2026-05-04T20:54:18.405306Z INFO property_map_server::data::property: Renovation history extracted properties_with_events=1741939 -2026-05-04T20:54:18.405317Z INFO property_map_server::data::property: Sorting rows by spatial locality -2026-05-04T20:54:19.406915Z INFO property_map_server::data::property: Building interned strings -2026-05-04T20:54:24.606232Z INFO property_map_server::data::property: Transposing to row-major layout (spatially sorted, quantized to u16) -2026-05-04T20:54:27.365951Z INFO property_map_server::data::property: Data loading complete -2026-05-04T20:54:28.895749Z INFO property_map_server: Allocator trim label="property data load" trimmed=true rss_before_mib=13477.7 rss_after_mib=3259.3 released_mib=10218.4 -2026-05-04T20:54:28.895760Z INFO property_map_server: Property data loaded rows=14525100 features=69 enums=6 -2026-05-04T20:54:28.895764Z INFO property_map_server: Building spatial grid index (0.01° cells) -2026-05-04T20:54:29.002022Z INFO property_map_server: Precomputing H3 cells at resolution 12 -2026-05-04T20:54:29.002032Z INFO property_map_server::data::property: Precomputing H3 cells at resolution 12 -2026-05-04T20:54:29.380275Z INFO property_map_server::data::property: H3 precomputation complete (14525100 cells) -2026-05-04T20:54:29.380348Z INFO property_map_server: Loading POI data from /app/data/filtered_uk_pois.parquet -2026-05-04T20:54:29.380360Z INFO property_map_server::data::poi: Loading POI data from "/app/data/filtered_uk_pois.parquet"... -2026-05-04T20:54:29.408407Z INFO property_map_server::data::poi: Loaded 567534 POIs -2026-05-04T20:54:29.551580Z INFO property_map_server::data::poi: POI string columns interned category_unique=94 group_unique=11 emoji_unique=71 -2026-05-04T20:54:29.552752Z INFO property_map_server::data::poi: POI data loading complete. -2026-05-04T20:54:29.598119Z INFO property_map_server: Allocator trim label="poi data load" trimmed=true rss_before_mib=3669.8 rss_after_mib=3477.2 released_mib=192.6 -2026-05-04T20:54:29.598128Z INFO property_map_server: POI data loaded pois=567534 -2026-05-04T20:54:29.598130Z INFO property_map_server: Building POI spatial grid index -2026-05-04T20:54:29.605198Z INFO property_map_server: Loading place data from /app/data/places.parquet -2026-05-04T20:54:29.605209Z INFO property_map_server::data::places: Loading place data from "/app/data/places.parquet"... -2026-05-04T20:54:29.606706Z INFO property_map_server::data::places: Loaded 3474 places -2026-05-04T20:54:29.607673Z INFO property_map_server::data::places: Place data loaded places=3474 types=2 with_population=71 with_city=3392 -2026-05-04T20:54:29.611580Z INFO property_map_server: Allocator trim label="place data load" trimmed=true rss_before_mib=3486.3 rss_after_mib=3481.9 released_mib=4.4 -2026-05-04T20:54:29.611588Z INFO property_map_server: Place data loaded places=3474 -2026-05-04T20:54:29.611595Z INFO property_map_server: Loading postcode boundaries from /app/data/postcode_boundaries -2026-05-04T20:54:29.611605Z INFO property_map_server::data::postcodes: Loading postcode boundaries from "/app/data/postcode_boundaries" -2026-05-04T20:54:29.615798Z INFO property_map_server::data::postcodes: Found GeoJSON files to process files=2361 -2026-05-04T20:54:37.460224Z INFO property_map_server::data::postcodes: Postcode boundary data ready postcodes=1490140 -2026-05-04T20:54:37.828187Z INFO property_map_server: Allocator trim label="postcode boundary load" trimmed=true rss_before_mib=10796.8 rss_after_mib=10613.1 released_mib=183.7 -2026-05-04T20:54:37.828199Z INFO property_map_server: Postcode boundaries loaded postcodes=1490140 -2026-05-04T20:54:37.978691Z INFO property_map_server::data::postcodes: Outcode data derived from postcodes outcodes=2361 -2026-05-04T20:54:37.978752Z INFO property_map_server: Loading PMTiles from /app/data/uk.pmtiles -2026-05-04T20:54:37.982160Z INFO property_map_server: PMTiles loaded successfully -2026-05-04T20:54:38.023911Z INFO property_map_server: No --dist provided; static serving and OG injection disabled -2026-05-04T20:54:38.053118Z INFO property_map_server: Screenshot service configured: http://screenshot:8002 -2026-05-04T20:54:38.053290Z INFO property_map_server: Precomputed features response groups=8 -2026-05-04T20:54:38.053307Z INFO property_map_server: PocketBase configured: http://pocketbase:8090 -2026-05-04T20:54:38.117382Z INFO property_map_server::pocketbase: PocketBase users collection already has all required fields -2026-05-04T20:54:38.127369Z INFO property_map_server::pocketbase: PocketBase collection 'saved_searches' API rules updated -2026-05-04T20:54:38.131471Z INFO property_map_server::pocketbase: PocketBase collection 'saved_properties' API rules updated -2026-05-04T20:54:39.029859Z INFO property_map_server::pocketbase: PocketBase meta.appURL set to https://perfect-postcodes.co.uk/pb -2026-05-04T20:54:39.034138Z INFO property_map_server::pocketbase: PocketBase OAuth configured on users collection -2026-05-04T20:54:39.034181Z INFO property_map_server: Gemini configured (model: gemini-3-flash-preview) -2026-05-04T20:54:39.034199Z INFO property_map_server: Loading travel time data from /app/data/travel-times -2026-05-04T20:54:39.044450Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="bicycle" destinations=2753 -2026-05-04T20:54:39.052389Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="walking" destinations=2753 -2026-05-04T20:54:39.061567Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="car" destinations=2753 -2026-05-04T20:54:39.069032Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="transit" destinations=2752 -2026-05-04T20:54:39.069058Z INFO property_map_server: Travel time store loaded modes=4 -2026-05-04T20:54:39.069116Z INFO property_map_server: Precomputed AI filters system prompt -2026-05-04T20:54:42.362073Z INFO property_map_server: All memory pages locked (mlockall) -2026-05-04T20:54:42.362120Z INFO property_map_server: Server listening on 0.0.0.0:8001 -2026-05-04T20:54:44.656878Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:54:44.659588Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:54:45.153839Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=537 cells_after_filter=412 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=7.8 json_ms=0.3 total_ms=8.1 -2026-05-04T20:54:52.225820Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=52 cells_after_filter=37 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=4 filters_raw="Estimated current price:0:600000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.8 json_ms=0.0 total_ms=1.8 -2026-05-04T20:54:52.486600Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=152340 filters=4 travel=0 total=192 filters_raw="Estimated current price:0:600000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" ms=3.3 -2026-05-04T20:54:53.693488Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=392 cells_after_filter=297 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=3 filters_raw="Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=4.5 json_ms=0.3 total_ms=4.8 -2026-05-04T20:54:53.835597Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=52 cells_after_filter=37 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=4 filters_raw="Estimated current price:0:600000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=2.0 json_ms=0.1 total_ms=2.1 -2026-05-04T20:54:59.069769Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=261 cells_after_filter=182 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=4 filters_raw="Estimated current price:12976.594:1380000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=3.0 json_ms=0.2 total_ms=3.2 -2026-05-04T20:54:59.318387Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=152340 filters=4 travel=0 total=2266 filters_raw="Estimated current price:12976.594:1380000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" ms=3.1 -2026-05-04T20:55:04.869956Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89194ad325bffff resolution=9 total_count=1 filters=4 filters_raw="Estimated current price:12976.594:1380000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" ms=0.1 -2026-05-04T20:55:05.492428Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=108397 parallel=true cells_before_filter=183 cells_after_filter=134 truncated=false bounds=51.4943,-0.1671,51.5357,-0.0929 filters=4 filters_raw="Estimated current price:12976.594:1380000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.0 json_ms=0.1 total_ms=1.1 -2026-05-04T20:55:05.740336Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=108397 filters=4 travel=0 total=1583 filters_raw="Estimated current price:12976.594:1380000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" ms=1.9 -2026-05-04T20:56:01.654138Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:56:01.655404Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:56:01.767071Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:56:01.767084Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:56:10.929872Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:56:10.931080Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:56:11.027480Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:56:11.027485Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:56:18.496076Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:56:18.498033Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:56:18.609718Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:56:18.609722Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:56:25.513529Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:56:25.514564Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:56:25.597043Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:56:25.597046Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:56:31.486143Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:56:31.487527Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:56:31.606622Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:56:31.606639Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:58:22.820424Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=3047 parallel=false cells_before_filter=155 cells_after_filter=134 truncated=false bounds=51.0079,-1.2718,51.0856,-1.0894 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.1 json_ms=0.1 total_ms=0.3 -2026-05-04T20:58:24.198002Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:58:24.202971Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:58:30.601261Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:58:32.202753Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:58:32.204070Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:58:33.011967Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=537 cells_after_filter=412 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.8 json_ms=0.2 total_ms=2.1 -2026-05-04T20:58:39.599425Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=52 cells_after_filter=37 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=4 filters_raw="Estimated current price:0:600000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.0 json_ms=0.0 total_ms=1.1 -2026-05-04T20:58:39.850441Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=152340 filters=4 travel=0 total=192 filters_raw="Estimated current price:0:600000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" ms=2.4 -2026-05-04T20:58:41.031219Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=392 cells_after_filter=297 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=3 filters_raw="Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=1.8 json_ms=0.3 total_ms=2.1 -2026-05-04T20:58:41.174917Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=52 cells_after_filter=37 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=4 filters_raw="Estimated current price:0:600000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=2.1 json_ms=0.1 total_ms=2.1 -2026-05-04T20:58:46.162873Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=261 cells_after_filter=182 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=4 filters_raw="Estimated current price:12976.594:1380000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=3.4 json_ms=0.2 total_ms=3.6 -2026-05-04T20:58:46.412423Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=152340 filters=4 travel=0 total=2266 filters_raw="Estimated current price:12976.594:1380000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" ms=2.4 -2026-05-04T20:58:50.430953Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89194ad325bffff resolution=9 total_count=1 filters=4 filters_raw="Estimated current price:12976.594:1380000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" ms=0.2 -2026-05-04T20:58:51.017617Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=108397 parallel=true cells_before_filter=183 cells_after_filter=134 truncated=false bounds=51.4943,-0.1671,51.5357,-0.0929 filters=4 filters_raw="Estimated current price:12976.594:1380000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.0 json_ms=0.1 total_ms=1.1 -2026-05-04T20:58:51.263827Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=108397 filters=4 travel=0 total=1583 filters_raw="Estimated current price:12976.594:1380000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" ms=1.6 -2026-05-04T20:59:12.741182Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:59:14.169075Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:59:14.169081Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:59:14.985002Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T20:59:14.986260Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T20:59:15.452832Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=537 cells_after_filter=412 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.9 json_ms=0.4 total_ms=2.3 -2026-05-04T20:59:22.096990Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=52 cells_after_filter=37 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=4 filters_raw="Estimated current price:0:600000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.1 json_ms=0.0 total_ms=1.2 -2026-05-04T20:59:22.344347Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=152340 filters=4 travel=0 total=192 filters_raw="Estimated current price:0:600000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" ms=2.2 -2026-05-04T20:59:23.588305Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=392 cells_after_filter=297 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=3 filters_raw="Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=1.4 json_ms=0.3 total_ms=1.6 -2026-05-04T20:59:23.737506Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=52 cells_after_filter=37 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=4 filters_raw="Estimated current price:0:600000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=1.1 json_ms=0.0 total_ms=1.2 -2026-05-04T20:59:28.698263Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=261 cells_after_filter=182 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=4 filters_raw="Estimated current price:12976.594:1380000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.9 json_ms=0.2 total_ms=2.1 -2026-05-04T20:59:28.949287Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=152340 filters=4 travel=0 total=2266 filters_raw="Estimated current price:12976.594:1380000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" ms=3.4 -2026-05-04T20:59:33.021084Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89194ad325bffff resolution=9 total_count=1 filters=4 filters_raw="Estimated current price:12976.594:1380000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" ms=0.1 -2026-05-04T20:59:33.564060Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=108397 parallel=true cells_before_filter=183 cells_after_filter=134 truncated=false bounds=51.4943,-0.1671,51.5357,-0.0929 filters=4 filters_raw="Estimated current price:12976.594:1380000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.9 json_ms=0.1 total_ms=1.0 -2026-05-04T20:59:33.817368Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=108397 filters=4 travel=0 total=1583 filters_raw="Estimated current price:12976.594:1380000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" ms=1.9 -2026-05-04T21:01:19.542960Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:01:19.544562Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:01:19.556893Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:01:19.558130Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:07:10.355869Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=64311 parallel=true cells_before_filter=249 cells_after_filter=231 truncated=false bounds=51.4958,-0.1636,51.5342,-0.0964 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.8 json_ms=0.1 total_ms=0.9 -2026-05-04T21:07:29.438731Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:07:30.930722Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:07:30.932184Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:07:32.691536Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=537 cells_after_filter=412 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.7 json_ms=0.4 total_ms=2.0 -2026-05-04T21:07:51.398221Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=52 cells_after_filter=37 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=4 filters_raw="Estimated current price:0:600000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.8 json_ms=0.0 total_ms=1.8 -2026-05-04T21:07:51.649551Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=152340 filters=4 travel=0 total=192 filters_raw="Estimated current price:0:600000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" ms=3.0 -2026-05-04T21:07:55.810502Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=392 cells_after_filter=297 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=3 filters_raw="Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=2.6 json_ms=0.4 total_ms=3.0 -2026-05-04T21:07:57.323367Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=52 cells_after_filter=37 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=4 filters_raw="Estimated current price:0:600000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=1.7 json_ms=0.1 total_ms=1.8 -2026-05-04T21:08:28.517850Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=261 cells_after_filter=182 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=4 filters_raw="Estimated current price:12976.594:1380000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=2.5 json_ms=0.2 total_ms=2.7 -2026-05-04T21:08:28.518933Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=152340 filters=4 travel=0 total=2266 filters_raw="Estimated current price:12976.594:1380000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" ms=3.7 -2026-05-04T21:08:38.632679Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89194ad325bffff resolution=9 total_count=1 filters=4 filters_raw="Estimated current price:12976.594:1380000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" ms=0.1 -2026-05-04T21:08:39.686104Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=108397 parallel=true cells_before_filter=183 cells_after_filter=134 truncated=false bounds=51.4943,-0.1671,51.5357,-0.0929 filters=4 filters_raw="Estimated current price:12976.594:1380000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=3.2 json_ms=0.2 total_ms=3.3 -2026-05-04T21:08:39.710272Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=108397 filters=4 travel=0 total=1583 filters_raw="Estimated current price:12976.594:1380000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" ms=2.3 -2026-05-04T21:10:59.962261Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:10:59.962264Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:11:29.998393Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:11:29.998405Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:11:30.044607Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:11:30.045945Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:11:52.906468Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:11:52.907285Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:11:53.875945Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:11:53.900406Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:12:02.485327Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:12:02.485341Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:12:02.871760Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:12:02.873319Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:12:15.721128Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:12:15.721131Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:12:15.873635Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:12:15.873891Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:13:41.600447Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:13:41.600448Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:14:10.905771Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:14:10.906312Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:14:10.917360Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:14:10.926781Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:14:14.273968Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:14:14.274980Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:14:14.288306Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:14:14.289553Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:16:30.344962Z INFO property_map_server: Prometheus metrics initialized -2026-05-04T21:16:30.345109Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet -2026-05-04T21:16:30.345114Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet" -2026-05-04T21:16:30.426500Z INFO property_map_server::data::property: Postcode features loaded rows=1263786 -2026-05-04T21:16:30.426510Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet" -2026-05-04T21:16:33.162256Z INFO property_map_server::data::property: Properties joined with postcodes rows=15268176 -2026-05-04T21:16:33.162293Z INFO property_map_server::data::property: Feature columns from config numeric=63 enums=6 total=69 -2026-05-04T21:16:36.375023Z WARN property_map_server::data::property: Dropped properties with missing postcode coordinates rows=743076 -2026-05-04T21:16:36.375034Z INFO property_map_server::data::property: Combined data selected rows=14525100 -2026-05-04T21:16:36.504029Z INFO property_map_server::data::property: Extracting numeric feature columns -2026-05-04T21:16:36.905967Z INFO property_map_server::data::property: Computing histograms for numeric features -2026-05-04T21:16:38.095951Z INFO property_map_server::data::property: Extracting string columns -2026-05-04T21:16:39.478199Z INFO property_map_server::data::property: Building enum features -2026-05-04T21:16:40.751598Z INFO property_map_server::data::property: Extracting renovation history -2026-05-04T21:16:45.902894Z INFO property_map_server: Prometheus metrics initialized -2026-05-04T21:16:45.903095Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet -2026-05-04T21:16:45.903117Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet" -2026-05-04T21:16:45.975537Z INFO property_map_server::data::property: Postcode features loaded rows=1263786 -2026-05-04T21:16:45.975550Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet" -2026-05-04T21:16:48.852633Z INFO property_map_server::data::property: Properties joined with postcodes rows=15268176 -2026-05-04T21:16:48.852686Z INFO property_map_server::data::property: Feature columns from config numeric=63 enums=6 total=69 -2026-05-04T21:16:51.727345Z WARN property_map_server::data::property: Dropped properties with missing postcode coordinates rows=743076 -2026-05-04T21:16:51.727354Z INFO property_map_server::data::property: Combined data selected rows=14525100 -2026-05-04T21:16:51.853922Z INFO property_map_server::data::property: Extracting numeric feature columns -2026-05-04T21:16:52.259794Z INFO property_map_server::data::property: Computing histograms for numeric features -2026-05-04T21:16:53.519465Z INFO property_map_server::data::property: Extracting string columns -2026-05-04T21:16:54.902888Z INFO property_map_server::data::property: Building enum features -2026-05-04T21:16:56.099583Z INFO property_map_server::data::property: Extracting renovation history -2026-05-04T21:16:58.328466Z INFO property_map_server::data::property: Renovation history extracted properties_with_events=1741939 -2026-05-04T21:16:58.328474Z INFO property_map_server::data::property: Sorting rows by spatial locality -2026-05-04T21:16:59.302215Z INFO property_map_server::data::property: Building interned strings -2026-05-04T21:17:05.078928Z INFO property_map_server::data::property: Transposing to row-major layout (spatially sorted, quantized to u16) -2026-05-04T21:17:13.299855Z INFO property_map_server: Prometheus metrics initialized -2026-05-04T21:17:13.300056Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet -2026-05-04T21:17:13.300070Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet" -2026-05-04T21:17:13.388566Z INFO property_map_server::data::property: Postcode features loaded rows=1263786 -2026-05-04T21:17:13.388576Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet" -2026-05-04T21:17:16.112850Z INFO property_map_server::data::property: Properties joined with postcodes rows=15268176 -2026-05-04T21:17:16.112896Z INFO property_map_server::data::property: Feature columns from config numeric=63 enums=6 total=69 -2026-05-04T21:17:18.943990Z WARN property_map_server::data::property: Dropped properties with missing postcode coordinates rows=743076 -2026-05-04T21:17:18.944000Z INFO property_map_server::data::property: Combined data selected rows=14525100 -2026-05-04T21:17:19.074139Z INFO property_map_server::data::property: Extracting numeric feature columns -2026-05-04T21:17:19.478164Z INFO property_map_server::data::property: Computing histograms for numeric features -2026-05-04T21:17:20.900871Z INFO property_map_server::data::property: Extracting string columns -2026-05-04T21:17:22.270617Z INFO property_map_server::data::property: Building enum features -2026-05-04T21:17:23.464560Z INFO property_map_server::data::property: Extracting renovation history -2026-05-04T21:17:25.627267Z INFO property_map_server::data::property: Renovation history extracted properties_with_events=1741939 -2026-05-04T21:17:25.627275Z INFO property_map_server::data::property: Sorting rows by spatial locality -2026-05-04T21:17:26.514957Z INFO property_map_server::data::property: Building interned strings -2026-05-04T21:17:32.201475Z INFO property_map_server::data::property: Transposing to row-major layout (spatially sorted, quantized to u16) -2026-05-04T21:17:39.253903Z INFO property_map_server::data::property: Data loading complete -2026-05-04T21:17:40.705499Z INFO property_map_server: Allocator trim label="property data load" trimmed=true rss_before_mib=12930.5 rss_after_mib=3177.9 released_mib=9752.6 -2026-05-04T21:17:40.705511Z INFO property_map_server: Property data loaded rows=14525100 features=69 enums=6 -2026-05-04T21:17:40.705515Z INFO property_map_server: Building spatial grid index (0.01° cells) -2026-05-04T21:17:40.809720Z INFO property_map_server: Precomputing H3 cells at resolution 12 -2026-05-04T21:17:40.809729Z INFO property_map_server::data::property: Precomputing H3 cells at resolution 12 -2026-05-04T21:17:41.203126Z INFO property_map_server::data::property: H3 precomputation complete (14525100 cells) -2026-05-04T21:17:41.203149Z INFO property_map_server: Loading POI data from /app/data/filtered_uk_pois.parquet -2026-05-04T21:17:41.203156Z INFO property_map_server::data::poi: Loading POI data from "/app/data/filtered_uk_pois.parquet"... -2026-05-04T21:17:41.231149Z INFO property_map_server::data::poi: Loaded 567534 POIs -2026-05-04T21:17:41.381403Z INFO property_map_server::data::poi: POI string columns interned category_unique=94 group_unique=11 emoji_unique=71 -2026-05-04T21:17:41.382547Z INFO property_map_server::data::poi: POI data loading complete. -2026-05-04T21:17:41.429667Z INFO property_map_server: Allocator trim label="poi data load" trimmed=true rss_before_mib=3584.4 rss_after_mib=3395.2 released_mib=189.1 -2026-05-04T21:17:41.429679Z INFO property_map_server: POI data loaded pois=567534 -2026-05-04T21:17:41.429682Z INFO property_map_server: Building POI spatial grid index -2026-05-04T21:17:41.437592Z INFO property_map_server: Loading place data from /app/data/places.parquet -2026-05-04T21:17:41.437604Z INFO property_map_server::data::places: Loading place data from "/app/data/places.parquet"... -2026-05-04T21:17:41.438262Z INFO property_map_server::data::places: Loaded 3474 places -2026-05-04T21:17:41.439221Z INFO property_map_server::data::places: Place data loaded places=3474 types=2 with_population=71 with_city=3392 -2026-05-04T21:17:41.443763Z INFO property_map_server: Allocator trim label="place data load" trimmed=true rss_before_mib=3404.3 rss_after_mib=3399.9 released_mib=4.4 -2026-05-04T21:17:41.443773Z INFO property_map_server: Place data loaded places=3474 -2026-05-04T21:17:41.443782Z INFO property_map_server: Loading postcode boundaries from /app/data/postcode_boundaries -2026-05-04T21:17:41.443794Z INFO property_map_server::data::postcodes: Loading postcode boundaries from "/app/data/postcode_boundaries" -2026-05-04T21:17:41.469434Z INFO property_map_server::data::postcodes: Found GeoJSON files to process files=2361 -2026-05-04T21:17:50.535745Z INFO property_map_server::data::postcodes: Postcode boundary data ready postcodes=1490140 -2026-05-04T21:17:50.911994Z INFO property_map_server: Allocator trim label="postcode boundary load" trimmed=true rss_before_mib=10725.6 rss_after_mib=10526.1 released_mib=199.6 -2026-05-04T21:17:50.912004Z INFO property_map_server: Postcode boundaries loaded postcodes=1490140 -2026-05-04T21:17:51.067150Z INFO property_map_server::data::postcodes: Outcode data derived from postcodes outcodes=2361 -2026-05-04T21:17:51.067221Z INFO property_map_server: Loading PMTiles from /app/data/uk.pmtiles -2026-05-04T21:17:51.067464Z INFO property_map_server: PMTiles loaded successfully -2026-05-04T21:17:51.106375Z INFO property_map_server: No --dist provided; static serving and OG injection disabled -2026-05-04T21:17:51.136547Z INFO property_map_server: Screenshot service configured: http://screenshot:8002 -2026-05-04T21:17:51.136731Z INFO property_map_server: Precomputed features response groups=8 -2026-05-04T21:17:51.136746Z INFO property_map_server: PocketBase configured: http://pocketbase:8090 -2026-05-04T21:17:51.212590Z INFO property_map_server::pocketbase: PocketBase users collection already has all required fields -2026-05-04T21:17:51.515914Z INFO property_map_server::pocketbase: PocketBase collection 'saved_searches' API rules updated -2026-05-04T21:17:51.519337Z INFO property_map_server::pocketbase: PocketBase collection 'saved_properties' API rules updated -2026-05-04T21:18:27.672179Z INFO property_map_server: Prometheus metrics initialized -2026-05-04T21:18:27.672342Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet -2026-05-04T21:18:27.672350Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet" -2026-05-04T21:18:27.738364Z INFO property_map_server::data::property: Postcode features loaded rows=1263786 -2026-05-04T21:18:27.738378Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet" -2026-05-04T21:18:30.329460Z INFO property_map_server::data::property: Properties joined with postcodes rows=15268176 -2026-05-04T21:18:30.329500Z INFO property_map_server::data::property: Feature columns from config numeric=63 enums=6 total=69 -2026-05-04T21:18:32.935500Z WARN property_map_server::data::property: Dropped properties with missing postcode coordinates rows=743076 -2026-05-04T21:18:32.935509Z INFO property_map_server::data::property: Combined data selected rows=14525100 -2026-05-04T21:18:33.057215Z INFO property_map_server::data::property: Extracting numeric feature columns -2026-05-04T21:18:33.411442Z INFO property_map_server::data::property: Computing histograms for numeric features -2026-05-04T21:18:34.615065Z INFO property_map_server::data::property: Extracting string columns -2026-05-04T21:18:35.946034Z INFO property_map_server::data::property: Building enum features -2026-05-04T21:18:37.161827Z INFO property_map_server::data::property: Extracting renovation history -2026-05-04T21:18:39.203014Z INFO property_map_server::data::property: Renovation history extracted properties_with_events=1741939 -2026-05-04T21:18:39.203022Z INFO property_map_server::data::property: Sorting rows by spatial locality -2026-05-04T21:18:40.060146Z INFO property_map_server::data::property: Building interned strings -2026-05-04T21:19:00.964738Z INFO property_map_server: Prometheus metrics initialized -2026-05-04T21:19:00.964898Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet -2026-05-04T21:19:00.964909Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet" -2026-05-04T21:19:01.045232Z INFO property_map_server::data::property: Postcode features loaded rows=1263786 -2026-05-04T21:19:01.045241Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet" -2026-05-04T21:19:03.683522Z INFO property_map_server::data::property: Properties joined with postcodes rows=15268176 -2026-05-04T21:19:03.683554Z INFO property_map_server::data::property: Feature columns from config numeric=63 enums=6 total=69 -2026-05-04T21:19:06.678528Z WARN property_map_server::data::property: Dropped properties with missing postcode coordinates rows=743076 -2026-05-04T21:19:06.678539Z INFO property_map_server::data::property: Combined data selected rows=14525100 -2026-05-04T21:19:06.820178Z INFO property_map_server::data::property: Extracting numeric feature columns -2026-05-04T21:19:07.223089Z INFO property_map_server::data::property: Computing histograms for numeric features -2026-05-04T21:19:08.782981Z INFO property_map_server::data::property: Extracting string columns -2026-05-04T21:19:10.395522Z INFO property_map_server::data::property: Building enum features -2026-05-04T21:19:11.637823Z INFO property_map_server::data::property: Extracting renovation history -2026-05-04T21:19:13.851485Z INFO property_map_server::data::property: Renovation history extracted properties_with_events=1741939 -2026-05-04T21:19:13.851495Z INFO property_map_server::data::property: Sorting rows by spatial locality -2026-05-04T21:19:14.789536Z INFO property_map_server::data::property: Building interned strings -2026-05-04T21:19:20.543430Z INFO property_map_server::data::property: Transposing to row-major layout (spatially sorted, quantized to u16) -2026-05-04T21:19:23.642436Z INFO property_map_server::data::property: Data loading complete -2026-05-04T21:19:25.249114Z INFO property_map_server: Allocator trim label="property data load" trimmed=true rss_before_mib=12859.7 rss_after_mib=3226.5 released_mib=9633.2 -2026-05-04T21:19:25.249127Z INFO property_map_server: Property data loaded rows=14525100 features=69 enums=6 -2026-05-04T21:19:25.249130Z INFO property_map_server: Building spatial grid index (0.01° cells) -2026-05-04T21:19:25.355938Z INFO property_map_server: Precomputing H3 cells at resolution 12 -2026-05-04T21:19:25.355947Z INFO property_map_server::data::property: Precomputing H3 cells at resolution 12 -2026-05-04T21:19:25.761535Z INFO property_map_server::data::property: H3 precomputation complete (14525100 cells) -2026-05-04T21:19:25.761575Z INFO property_map_server: Loading POI data from /app/data/filtered_uk_pois.parquet -2026-05-04T21:19:25.761589Z INFO property_map_server::data::poi: Loading POI data from "/app/data/filtered_uk_pois.parquet"... -2026-05-04T21:19:25.788010Z INFO property_map_server::data::poi: Loaded 567534 POIs -2026-05-04T21:19:25.941519Z INFO property_map_server::data::poi: POI string columns interned category_unique=94 group_unique=11 emoji_unique=71 -2026-05-04T21:19:25.942891Z INFO property_map_server::data::poi: POI data loading complete. -2026-05-04T21:19:25.989855Z INFO property_map_server: Allocator trim label="poi data load" trimmed=true rss_before_mib=3634.0 rss_after_mib=3444.1 released_mib=189.9 -2026-05-04T21:19:25.989867Z INFO property_map_server: POI data loaded pois=567534 -2026-05-04T21:19:25.989870Z INFO property_map_server: Building POI spatial grid index -2026-05-04T21:19:25.998237Z INFO property_map_server: Loading place data from /app/data/places.parquet -2026-05-04T21:19:25.998254Z INFO property_map_server::data::places: Loading place data from "/app/data/places.parquet"... -2026-05-04T21:19:25.998909Z INFO property_map_server::data::places: Loaded 3474 places -2026-05-04T21:19:25.999902Z INFO property_map_server::data::places: Place data loaded places=3474 types=2 with_population=71 with_city=3392 -2026-05-04T21:19:26.003577Z INFO property_map_server: Allocator trim label="place data load" trimmed=true rss_before_mib=3453.3 rss_after_mib=3448.8 released_mib=4.5 -2026-05-04T21:19:26.003589Z INFO property_map_server: Place data loaded places=3474 -2026-05-04T21:19:26.003600Z INFO property_map_server: Loading postcode boundaries from /app/data/postcode_boundaries -2026-05-04T21:19:26.003611Z INFO property_map_server::data::postcodes: Loading postcode boundaries from "/app/data/postcode_boundaries" -2026-05-04T21:19:26.006554Z INFO property_map_server::data::postcodes: Found GeoJSON files to process files=2361 -2026-05-04T21:19:33.580078Z INFO property_map_server::data::postcodes: Postcode boundary data ready postcodes=1490140 -2026-05-04T21:19:33.940360Z INFO property_map_server: Allocator trim label="postcode boundary load" trimmed=true rss_before_mib=10756.3 rss_after_mib=10557.9 released_mib=198.4 -2026-05-04T21:19:33.940372Z INFO property_map_server: Postcode boundaries loaded postcodes=1490140 -2026-05-04T21:19:34.095945Z INFO property_map_server::data::postcodes: Outcode data derived from postcodes outcodes=2361 -2026-05-04T21:19:34.095996Z INFO property_map_server: Loading PMTiles from /app/data/uk.pmtiles -2026-05-04T21:19:34.149362Z INFO property_map_server: PMTiles loaded successfully -2026-05-04T21:19:34.188674Z INFO property_map_server: No --dist provided; static serving disabled -2026-05-04T21:19:34.220411Z INFO property_map_server: Screenshot service configured: http://screenshot:8002 -2026-05-04T21:19:34.220659Z INFO property_map_server: Precomputed features response groups=8 -2026-05-04T21:19:34.220676Z INFO property_map_server: PocketBase configured: http://pocketbase:8090 -2026-05-04T21:19:34.272045Z INFO property_map_server::pocketbase: PocketBase users collection already has all required fields -2026-05-04T21:19:34.276489Z INFO property_map_server::pocketbase: PocketBase collection 'saved_searches' API rules updated -2026-05-04T21:19:34.281445Z INFO property_map_server::pocketbase: PocketBase collection 'saved_properties' API rules updated -2026-05-04T21:19:34.364449Z INFO property_map_server::pocketbase: PocketBase meta.appURL set to https://perfect-postcodes.co.uk/pb -2026-05-04T21:19:34.372757Z INFO property_map_server::pocketbase: PocketBase OAuth configured on users collection -2026-05-04T21:19:34.372842Z INFO property_map_server: Gemini configured (model: gemini-3-flash-preview) -2026-05-04T21:19:34.372864Z INFO property_map_server: Loading travel time data from /app/data/travel-times -2026-05-04T21:19:34.382336Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="bicycle" destinations=2753 -2026-05-04T21:19:34.389548Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="walking" destinations=2753 -2026-05-04T21:19:34.399662Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="car" destinations=2753 -2026-05-04T21:19:34.408881Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="transit" destinations=2752 -2026-05-04T21:19:34.408917Z INFO property_map_server: Travel time store loaded modes=4 -2026-05-04T21:19:34.408966Z INFO property_map_server: Precomputed AI filters system prompt -2026-05-04T21:19:44.689686Z INFO property_map_server: All memory pages locked (mlockall) -2026-05-04T21:19:44.689720Z INFO property_map_server: Server listening on 0.0.0.0:8001 -2026-05-04T21:19:45.521046Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:19:46.703870Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:19:46.705139Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:19:48.457712Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:19:48.459328Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:19:49.862812Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:19:49.864269Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:19:50.686286Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=537 cells_after_filter=412 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=11.5 json_ms=0.3 total_ms=11.8 -2026-05-04T21:20:08.572854Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=52 cells_after_filter=37 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=4 filters_raw="Estimated current price:0:600000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=3.1 json_ms=0.1 total_ms=3.2 -2026-05-04T21:20:08.820170Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=152340 filters=4 travel=0 total=192 filters_raw="Estimated current price:0:600000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" ms=3.0 -2026-05-04T21:20:13.123166Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=392 cells_after_filter=297 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=3 filters_raw="Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=3.8 json_ms=0.5 total_ms=4.4 -2026-05-04T21:20:15.004875Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=52 cells_after_filter=37 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=4 filters_raw="Estimated current price:0:600000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=2.2 json_ms=0.1 total_ms=2.3 -2026-05-04T21:20:43.935003Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=152340 filters=4 travel=0 total=2266 filters_raw="Estimated current price:12976.594:1380000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" ms=2.9 -2026-05-04T21:20:43.940349Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=261 cells_after_filter=182 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=4 filters_raw="Estimated current price:12976.594:1380000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=8.0 json_ms=0.2 total_ms=8.2 -2026-05-04T21:20:53.152011Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89194ad325bffff resolution=9 total_count=1 filters=4 filters_raw="Estimated current price:12976.594:1380000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" ms=0.1 -2026-05-04T21:20:53.886934Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=108397 parallel=true cells_before_filter=183 cells_after_filter=134 truncated=false bounds=51.4943,-0.1671,51.5357,-0.0929 filters=4 filters_raw="Estimated current price:12976.594:1380000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.9 json_ms=0.1 total_ms=1.0 -2026-05-04T21:20:54.311995Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=108397 filters=4 travel=0 total=1583 filters_raw="Estimated current price:12976.594:1380000;;Number of bedrooms & living rooms:4:6;;Property type:Detached|Semi-Detached|Terraced;;Distance to nearest train or tube station (km):0:1" ms=3.4 -2026-05-04T21:23:14.002548Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:23:14.002553Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:23:14.885571Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:23:14.885899Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:28:24.898600Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:28:24.898612Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:28:40.888196Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:28:40.888204Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:30:09.864228Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:30:09.867843Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:30:09.879658Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:30:09.879680Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:33:13.462061Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:33:16.976720Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:33:57.226080Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.6 -2026-05-04T21:34:03.822735Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:34:03.824308Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:34:24.874278Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:34:24.879329Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:34:48.816750Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:34:53.723428Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:34:53.723676Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:34:53.903706Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:34:53.903714Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:35:21.885930Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:35:21.889745Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:35:28.878329Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:35:28.878578Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:36:03.824012Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:36:03.824207Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:36:03.894459Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:36:03.894603Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:36:03.896824Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:36:03.900692Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:37:35.949585Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:37:35.950905Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:37:50.747341Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:37:50.757709Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:37:50.875450Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:37:50.881785Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:37:50.881790Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:37:50.882098Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:38:45.015175Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:38:45.015179Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:38:45.896227Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:38:45.901008Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:39:03.876874Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:39:03.877337Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:39:09.027276Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:39:09.035644Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:39:10.034456Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:39:10.034459Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:39:37.942331Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:39:37.942548Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:39:38.905987Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:39:38.909982Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:40:36.876309Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:40:36.876510Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:40:39.913835Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:40:39.915358Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:40:39.915444Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:40:39.919463Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:40:40.032873Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:40:40.037649Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:41:03.975071Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:41:03.975346Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:41:04.913909Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:41:04.919871Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:42:54.181539Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:42:55.702312Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:42:55.703626Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:42:56.110756Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=537 cells_after_filter=412 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=3.8 json_ms=0.3 total_ms=4.1 -2026-05-04T21:43:10.163996Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.7 -2026-05-04T21:43:10.184457Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.7 -2026-05-04T21:43:10.582333Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122395 parallel=true cells_before_filter=41 cells_after_filter=32 truncated=false bounds=51.4924,-0.1388,51.5338,-0.0399 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=182.8 agg_ms=1.3 json_ms=0.0 total_ms=184.2 -2026-05-04T21:43:10.673220Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=122395 filters=5 travel=1 total=99 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=2.2 -2026-05-04T21:43:19.396620Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122395 parallel=true cells_before_filter=41 cells_after_filter=32 truncated=false bounds=51.4924,-0.1388,51.5338,-0.0399 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.6 json_ms=0.1 total_ms=1.7 -2026-05-04T21:43:20.185266Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122395 parallel=true cells_before_filter=41 cells_after_filter=32 truncated=false bounds=51.4924,-0.1388,51.5338,-0.0399 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=2.9 json_ms=0.1 total_ms=3.0 -2026-05-04T21:43:32.458294Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122395 parallel=true cells_before_filter=32 cells_after_filter=30 truncated=false bounds=51.4924,-0.1388,51.5338,-0.0399 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.3 json_ms=0.0 total_ms=1.4 -2026-05-04T21:43:32.731139Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=122395 filters=5 travel=1 total=76 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=2.7 -2026-05-04T21:43:47.913139Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:43:47.915273Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:43:47.918535Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:43:47.922605Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:43:47.930124Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:43:47.937684Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:44:02.476219Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:44:02.481022Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:44:02.635976Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.6 -2026-05-04T21:44:02.888032Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122395 parallel=true cells_before_filter=32 cells_after_filter=30 truncated=false bounds=51.4924,-0.1388,51.5338,-0.0400 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=2.8 json_ms=0.0 total_ms=2.9 -2026-05-04T21:44:03.777803Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=122395 filters=5 travel=1 total=76 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=2.8 -2026-05-04T21:44:04.332655Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122395 parallel=true cells_before_filter=32 cells_after_filter=30 truncated=false bounds=51.4924,-0.1388,51.5338,-0.0400 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.9 json_ms=0.1 total_ms=1.9 -2026-05-04T21:44:04.579701Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=122395 filters=5 travel=1 total=76 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=2.7 -2026-05-04T21:45:31.271440Z INFO property_map_server::routes::pois: GET /api/pois results=2 candidates=106 categories=1 categories_raw="Bakery" ms=0.0 -2026-05-04T21:45:31.271748Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=5749 parallel=false cells_before_filter=205 cells_after_filter=193 truncated=false bounds=52.4771,0.8684,52.5473,1.0384 filters=2 filters_raw="Outstanding primary schools within 5km:0:13;;Outstanding secondary schools within 5km:0:4" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.2 json_ms=0.1 total_ms=0.3 -2026-05-04T21:45:31.521188Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=5749 filters=2 travel=0 total=5749 filters_raw="Outstanding primary schools within 5km:0:13;;Outstanding secondary schools within 5km:0:4" ms=0.1 -2026-05-04T21:45:45.569748Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:45:45.569757Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:45:46.085245Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:45:46.085435Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:46:27.779500Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:46:27.781022Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:46:27.895780Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:46:27.895880Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:46:27.895962Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:46:27.896163Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:46:31.868072Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:46:31.868078Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:46:31.887443Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:46:31.888421Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:46:32.880541Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:46:32.881908Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:46:32.895414Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:46:32.897862Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:47:53.098117Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:47:53.099184Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:47:53.881339Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:47:53.883980Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:47:53.893566Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:47:53.893593Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:47:53.896287Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:47:53.897850Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:49:06.869789Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:49:06.874076Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:49:06.890936Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:49:06.893924Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:49:06.911752Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:49:06.912758Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:49:06.925912Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:49:06.927142Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:49:45.400194Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:49:46.755368Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:49:46.756851Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:49:47.134339Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=537 cells_after_filter=412 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=3.0 json_ms=0.3 total_ms=3.3 -2026-05-04T21:50:01.449061Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.5 -2026-05-04T21:50:01.477122Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.8 -2026-05-04T21:50:01.699749Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122395 parallel=true cells_before_filter=41 cells_after_filter=32 truncated=false bounds=51.4924,-0.1388,51.5338,-0.0399 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.9 json_ms=0.1 total_ms=1.9 -2026-05-04T21:50:02.021720Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=122395 filters=5 travel=1 total=99 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=3.2 -2026-05-04T21:50:08.430182Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122395 parallel=true cells_before_filter=41 cells_after_filter=32 truncated=false bounds=51.4924,-0.1388,51.5338,-0.0399 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=0.9 json_ms=0.1 total_ms=0.9 -2026-05-04T21:50:10.874075Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122395 parallel=true cells_before_filter=41 cells_after_filter=32 truncated=false bounds=51.4924,-0.1388,51.5338,-0.0399 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.2 json_ms=0.1 total_ms=1.3 -2026-05-04T21:50:19.601888Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:50:19.603766Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:50:19.632454Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:50:19.632632Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:50:19.896460Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:50:19.898391Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:50:19.903939Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:50:19.905530Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:50:19.908881Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:50:19.913126Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:50:20.428655Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.9 -2026-05-04T21:50:20.434364Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122395 parallel=true cells_before_filter=41 cells_after_filter=32 truncated=false bounds=51.4924,-0.1388,51.5338,-0.0399 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=6.7 json_ms=0.1 total_ms=6.8 -2026-05-04T21:50:20.468217Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122395 parallel=true cells_before_filter=41 cells_after_filter=32 truncated=false bounds=51.4924,-0.1388,51.5338,-0.0399 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=2.9 json_ms=0.1 total_ms=3.0 -2026-05-04T21:50:22.089671Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122395 parallel=true cells_before_filter=41 cells_after_filter=32 truncated=false bounds=51.4924,-0.1388,51.5338,-0.0399 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.9 json_ms=0.1 total_ms=2.0 -2026-05-04T21:50:22.090509Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=122395 filters=5 travel=1 total=99 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=2.8 -2026-05-04T21:50:40.042107Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:50:40.042113Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:50:48.042644Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=83099 parallel=true cells_before_filter=312 cells_after_filter=300 truncated=false bounds=51.4958,-0.1756,51.5342,-0.0844 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.3 json_ms=0.2 total_ms=1.5 -2026-05-04T21:50:49.345436Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=1214362 parallel=true cells_before_filter=5967 cells_after_filter=5802 truncated=false bounds=51.4334,-0.3126,51.6124,0.1116 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=11.3 json_ms=3.6 total_ms=15.0 -2026-05-04T21:50:50.135421Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=8 rows=2442848 parallel=true cells_before_filter=3898 cells_after_filter=3890 truncated=false bounds=51.3375,-0.5231,51.7322,0.4127 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=10.8 json_ms=1.9 total_ms=12.8 -2026-05-04T21:50:51.354636Z INFO property_map_server::routes::postcodes: GET /api/postcodes postcodes_before_filter=1725 postcodes_after_filter=219 filtered_out=1506 truncated=false bounds=51.510465,-0.143230,51.515758,-0.130685 filters=0 filters_raw="-" fields=0 travel_entries=0 agg_ms=1.3 json_ms=0.7 total_ms=1.9 -2026-05-04T21:50:51.941610Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=40248 parallel=false cells_before_filter=186 cells_after_filter=150 truncated=false bounds=51.5023,-0.1612,51.5260,-0.1049 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.7 json_ms=0.1 total_ms=0.8 -2026-05-04T21:50:53.589925Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=40248 parallel=false cells_before_filter=186 cells_after_filter=150 truncated=false bounds=51.5023,-0.1612,51.5260,-0.1049 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.1 json_ms=0.1 total_ms=1.3 -2026-05-04T21:50:57.385975Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89195da4987ffff resolution=9 total_count=244 filters=0 filters_raw="-" ms=0.3 -2026-05-04T21:50:57.735827Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=40248 parallel=false cells_before_filter=186 cells_after_filter=122 truncated=false bounds=51.5023,-0.1536,51.5260,-0.1126 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.0 json_ms=0.1 total_ms=1.2 -2026-05-04T21:51:36.199186Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=40248 parallel=false cells_before_filter=186 cells_after_filter=122 truncated=false bounds=51.5023,-0.1536,51.5260,-0.1126 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.9 json_ms=0.1 total_ms=1.0 -2026-05-04T21:51:40.435673Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:51:40.436199Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:51:40.436621Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:51:40.439811Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:51:40.451919Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:51:40.451948Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:51:40.461983Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:51:40.462001Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:51:40.756926Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=83099 parallel=true cells_before_filter=312 cells_after_filter=300 truncated=false bounds=51.4958,-0.1756,51.5342,-0.0844 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.8 json_ms=0.2 total_ms=2.0 -2026-05-04T21:51:41.685644Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:51:41.686016Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:51:41.690808Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:51:41.690945Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:51:41.708144Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:51:41.708177Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:51:41.719164Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:51:41.719177Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:51:41.998854Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=83099 parallel=true cells_before_filter=312 cells_after_filter=300 truncated=false bounds=51.4958,-0.1756,51.5342,-0.0844 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.0 json_ms=0.2 total_ms=1.2 -2026-05-04T21:52:20.289809Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:52:20.291154Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:52:20.475111Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=83099 parallel=true cells_before_filter=312 cells_after_filter=300 truncated=false bounds=51.4958,-0.1756,51.5342,-0.0844 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.2 json_ms=0.2 total_ms=1.4 -2026-05-04T21:52:20.890339Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:52:20.890372Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:52:20.898898Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:52:20.902649Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:52:20.907465Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:52:20.907472Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:52:58.073984Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:52:58.076101Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:52:58.249258Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=83099 parallel=true cells_before_filter=312 cells_after_filter=300 truncated=false bounds=51.4958,-0.1756,51.5342,-0.0844 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.0 json_ms=0.2 total_ms=1.2 -2026-05-04T21:52:58.889010Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:52:58.889757Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:52:58.898342Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:52:58.902657Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:52:58.902725Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:52:58.907164Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:53:35.425317Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:53:35.425338Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:53:35.613332Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=83099 parallel=true cells_before_filter=312 cells_after_filter=300 truncated=false bounds=51.4958,-0.1756,51.5342,-0.0844 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.4 json_ms=0.2 total_ms=1.6 -2026-05-04T21:53:35.883634Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:53:35.883704Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:53:35.894889Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:53:35.901771Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:53:35.902111Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:53:35.902628Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:55:46.371570Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:55:46.373081Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:55:46.553405Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=83099 parallel=true cells_before_filter=312 cells_after_filter=300 truncated=false bounds=51.4958,-0.1756,51.5342,-0.0844 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.2 json_ms=0.2 total_ms=1.4 -2026-05-04T21:55:46.891885Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:55:46.893094Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:55:46.903844Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:55:46.906495Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:55:46.906576Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:55:46.915610Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:55:57.716037Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:56:00.226058Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:56:00.227285Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:56:00.576766Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=537 cells_after_filter=412 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.5 json_ms=0.3 total_ms=1.8 -2026-05-04T21:56:10.593840Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:56:10.594012Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:56:10.611505Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:56:10.611527Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:56:10.765236Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=537 cells_after_filter=412 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.8 json_ms=0.4 total_ms=2.2 -2026-05-04T21:56:10.797375Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=83099 parallel=true cells_before_filter=312 cells_after_filter=300 truncated=false bounds=51.4958,-0.1756,51.5342,-0.0844 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=2.7 json_ms=0.3 total_ms=3.0 -2026-05-04T21:56:10.910205Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:56:10.910231Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:56:10.916559Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:56:10.921383Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:56:10.925627Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:56:10.925657Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:56:14.846854Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.9 -2026-05-04T21:56:14.847537Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.6 -2026-05-04T21:56:14.853045Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=14 cells_after_filter=9 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=7.0 json_ms=0.0 total_ms=7.0 -2026-05-04T21:56:15.343655Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122395 parallel=true cells_before_filter=41 cells_after_filter=32 truncated=false bounds=51.4924,-0.1388,51.5338,-0.0399 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=2.0 json_ms=0.1 total_ms=2.1 -2026-05-04T21:56:15.356716Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=122395 filters=5 travel=1 total=99 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=2.2 -2026-05-04T21:56:21.467200Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122395 parallel=true cells_before_filter=41 cells_after_filter=32 truncated=false bounds=51.4924,-0.1388,51.5338,-0.0399 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.5 json_ms=0.1 total_ms=1.5 -2026-05-04T21:56:21.805660Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122395 parallel=true cells_before_filter=41 cells_after_filter=32 truncated=false bounds=51.4924,-0.1388,51.5338,-0.0399 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.0 json_ms=0.1 total_ms=1.0 -2026-05-04T21:56:40.924937Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122395 parallel=true cells_before_filter=32 cells_after_filter=30 truncated=false bounds=51.4924,-0.1388,51.5338,-0.0399 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.7 json_ms=0.1 total_ms=1.7 -2026-05-04T21:56:41.209756Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=122395 filters=5 travel=1 total=76 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=2.6 -2026-05-04T21:56:52.609815Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=79996 parallel=true cells_before_filter=14 cells_after_filter=12 truncated=false bounds=51.4966,-0.1310,51.5308,-0.0491 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.9 json_ms=0.0 total_ms=1.9 -2026-05-04T21:56:53.571886Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=72082 parallel=true cells_before_filter=7 cells_after_filter=7 truncated=false bounds=51.5001,-0.1244,51.5284,-0.0568 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=0.8 json_ms=0.0 total_ms=0.9 -2026-05-04T21:56:53.894537Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=72082 filters=5 travel=1 total=11 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=1.3 -2026-05-04T21:56:54.926593Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:56:54.926607Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:56:55.104320Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=83099 parallel=true cells_before_filter=312 cells_after_filter=300 truncated=false bounds=51.4958,-0.1756,51.5342,-0.0844 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.9 json_ms=0.2 total_ms=2.1 -2026-05-04T21:56:55.889693Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:56:55.889752Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:56:55.905455Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:56:55.905628Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:56:55.914181Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:56:55.920824Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:56:58.704315Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:56:58.704320Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:56:58.872821Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=72082 parallel=true cells_before_filter=7 cells_after_filter=7 truncated=false bounds=51.5001,-0.1244,51.5284,-0.0568 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=0.8 json_ms=0.0 total_ms=0.8 -2026-05-04T21:56:59.121385Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=72082 filters=5 travel=1 total=11 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=1.0 -2026-05-04T21:57:56.775802Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:57:56.777300Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:57:56.885572Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:57:56.886980Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:57:56.898376Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:57:56.898392Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:57:56.903289Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:57:56.905401Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:57:56.946078Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=83099 parallel=true cells_before_filter=312 cells_after_filter=300 truncated=false bounds=51.4958,-0.1756,51.5342,-0.0844 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.3 json_ms=0.2 total_ms=1.5 -2026-05-04T21:58:10.729026Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:58:12.148740Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:58:12.151290Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:58:12.523672Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=537 cells_after_filter=412 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=2.2 json_ms=0.3 total_ms=2.5 -2026-05-04T21:58:27.003322Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.7 -2026-05-04T21:58:27.003894Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=2.4 -2026-05-04T21:58:27.004089Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=14 cells_after_filter=9 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.1 json_ms=0.0 total_ms=1.1 -2026-05-04T21:58:27.008726Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=152340 filters=5 travel=1 total=25 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=3.4 -2026-05-04T21:58:27.069148Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:58:27.070840Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:58:27.089231Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:58:27.089647Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:58:27.249044Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=83099 parallel=true cells_before_filter=312 cells_after_filter=300 truncated=false bounds=51.4958,-0.1756,51.5342,-0.0844 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=2.3 json_ms=0.3 total_ms=2.6 -2026-05-04T21:58:27.325395Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122395 parallel=true cells_before_filter=41 cells_after_filter=32 truncated=false bounds=51.4924,-0.1388,51.5338,-0.0399 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.5 json_ms=0.0 total_ms=1.6 -2026-05-04T21:58:27.580214Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=122395 filters=5 travel=1 total=99 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=2.9 -2026-05-04T21:58:27.888907Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:58:27.892491Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:58:27.900029Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:58:27.901909Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:58:27.903069Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:58:27.906552Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:58:33.559096Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122395 parallel=true cells_before_filter=41 cells_after_filter=32 truncated=false bounds=51.4924,-0.1388,51.5338,-0.0399 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=2.5 json_ms=0.1 total_ms=2.5 -2026-05-04T21:58:35.972273Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122395 parallel=true cells_before_filter=41 cells_after_filter=32 truncated=false bounds=51.4924,-0.1388,51.5338,-0.0399 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=2.0 json_ms=0.1 total_ms=2.0 -2026-05-04T21:58:47.839690Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122395 parallel=true cells_before_filter=32 cells_after_filter=30 truncated=false bounds=51.4924,-0.1388,51.5338,-0.0399 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.0 json_ms=0.0 total_ms=1.1 -2026-05-04T21:58:48.120664Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=122395 filters=5 travel=1 total=76 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=2.2 -2026-05-04T21:58:56.219997Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=72082 parallel=true cells_before_filter=7 cells_after_filter=7 truncated=false bounds=51.4984,-0.1275,51.5295,-0.0532 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=2.8 json_ms=0.0 total_ms=2.8 -2026-05-04T21:58:56.518264Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=72082 parallel=true cells_before_filter=7 cells_after_filter=7 truncated=false bounds=51.5001,-0.1244,51.5284,-0.0568 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.7 json_ms=0.0 total_ms=1.7 -2026-05-04T21:59:00.346359Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=72082 filters=5 travel=1 total=11 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=1.4 -2026-05-04T21:59:54.147033Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:59:54.148019Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:59:54.166292Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:59:54.168495Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:59:54.181021Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:59:54.184809Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:59:54.194227Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T21:59:54.197244Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T21:59:54.585195Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=83099 parallel=true cells_before_filter=312 cells_after_filter=300 truncated=false bounds=51.4958,-0.1756,51.5342,-0.0844 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.0 json_ms=0.2 total_ms=1.2 -2026-05-04T22:00:14.301897Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:00:15.630685Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:00:15.630884Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:00:15.964464Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=537 cells_after_filter=412 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=2.0 json_ms=0.3 total_ms=2.3 -2026-05-04T22:00:24.946312Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:00:24.946320Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:00:24.946412Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:00:24.952388Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:00:30.022362Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=2.2 -2026-05-04T22:00:30.043112Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.9 -2026-05-04T22:00:30.261451Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122395 parallel=true cells_before_filter=41 cells_after_filter=32 truncated=false bounds=51.4924,-0.1388,51.5338,-0.0399 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.3 json_ms=0.1 total_ms=1.4 -2026-05-04T22:00:30.592129Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=122395 filters=5 travel=1 total=99 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=2.8 -2026-05-04T22:00:37.007421Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122395 parallel=true cells_before_filter=41 cells_after_filter=32 truncated=false bounds=51.4924,-0.1388,51.5338,-0.0399 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.4 json_ms=0.0 total_ms=1.4 -2026-05-04T22:00:37.462647Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122395 parallel=true cells_before_filter=41 cells_after_filter=32 truncated=false bounds=51.4924,-0.1388,51.5338,-0.0399 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=2.7 json_ms=0.1 total_ms=2.8 -2026-05-04T22:00:45.840231Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122395 parallel=true cells_before_filter=32 cells_after_filter=30 truncated=false bounds=51.4924,-0.1388,51.5338,-0.0399 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=3.7 json_ms=0.0 total_ms=3.8 -2026-05-04T22:00:46.316882Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=122395 filters=5 travel=1 total=76 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=3.0 -2026-05-04T22:00:57.236646Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=72082 parallel=true cells_before_filter=7 cells_after_filter=7 truncated=false bounds=51.5001,-0.1244,51.5284,-0.0568 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.6 json_ms=0.0 total_ms=1.7 -2026-05-04T22:00:57.427349Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=72082 filters=5 travel=1 total=11 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=1.5 -2026-05-04T22:02:03.462288Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:02:04.824984Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:02:04.826419Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:02:05.162248Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=537 cells_after_filter=412 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=3.7 json_ms=0.3 total_ms=4.1 -2026-05-04T22:02:17.722889Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.7 -2026-05-04T22:02:17.740905Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=2.0 -2026-05-04T22:02:17.967131Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122395 parallel=true cells_before_filter=41 cells_after_filter=32 truncated=false bounds=51.4924,-0.1388,51.5338,-0.0399 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.5 json_ms=0.1 total_ms=1.6 -2026-05-04T22:02:18.518303Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=122395 filters=5 travel=1 total=99 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=2.2 -2026-05-04T22:02:21.675085Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:02:21.675453Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:02:21.680135Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:02:21.680216Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:02:21.853343Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=83099 parallel=true cells_before_filter=312 cells_after_filter=300 truncated=false bounds=51.4958,-0.1756,51.5342,-0.0844 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.5 json_ms=0.2 total_ms=1.7 -2026-05-04T22:02:21.861053Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122395 parallel=true cells_before_filter=41 cells_after_filter=32 truncated=false bounds=51.4924,-0.1388,51.5338,-0.0399 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.3 json_ms=0.1 total_ms=1.4 -2026-05-04T22:02:21.882614Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:02:21.884775Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:02:21.896884Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:02:21.896945Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:02:21.913545Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:02:21.920368Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:02:22.344366Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=122395 filters=5 travel=1 total=99 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=2.9 -2026-05-04T22:02:23.330984Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122395 parallel=true cells_before_filter=41 cells_after_filter=32 truncated=false bounds=51.4924,-0.1388,51.5338,-0.0399 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=3.3 json_ms=0.1 total_ms=3.4 -2026-05-04T22:02:23.556756Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122395 parallel=true cells_before_filter=41 cells_after_filter=32 truncated=false bounds=51.4924,-0.1388,51.5338,-0.0399 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.8 json_ms=0.0 total_ms=1.8 -2026-05-04T22:02:29.980499Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122395 parallel=true cells_before_filter=32 cells_after_filter=30 truncated=false bounds=51.4924,-0.1388,51.5338,-0.0399 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.8 json_ms=0.1 total_ms=1.8 -2026-05-04T22:02:29.985702Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=122395 filters=5 travel=1 total=76 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=2.9 -2026-05-04T22:02:38.177070Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=72082 parallel=true cells_before_filter=7 cells_after_filter=7 truncated=false bounds=51.5001,-0.1244,51.5284,-0.0568 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.5 json_ms=0.0 total_ms=1.5 -2026-05-04T22:02:38.177246Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=72082 filters=5 travel=1 total=11 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=1.6 -2026-05-04T22:02:51.694677Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:02:51.694701Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:02:51.873538Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=83099 parallel=true cells_before_filter=312 cells_after_filter=300 truncated=false bounds=51.4958,-0.1756,51.5342,-0.0844 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=2.2 json_ms=0.3 total_ms=2.4 -2026-05-04T22:02:51.887968Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:02:51.889611Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:02:51.893970Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:02:51.897409Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:02:51.904091Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:02:51.904150Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:05:40.782606Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:05:40.784162Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:05:41.884454Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:05:41.885815Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:06:47.676019Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:06:48.950663Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:06:48.952417Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:06:49.286097Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=537 cells_after_filter=412 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.6 json_ms=0.3 total_ms=1.8 -2026-05-04T22:07:01.856777Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.9 -2026-05-04T22:07:01.875908Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.9 -2026-05-04T22:07:02.096680Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122395 parallel=true cells_before_filter=41 cells_after_filter=32 truncated=false bounds=51.4924,-0.1388,51.5338,-0.0399 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.1 json_ms=0.1 total_ms=1.2 -2026-05-04T22:07:02.387635Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=122395 filters=5 travel=1 total=99 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=2.5 -2026-05-04T22:07:07.234158Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122395 parallel=true cells_before_filter=41 cells_after_filter=32 truncated=false bounds=51.4924,-0.1388,51.5338,-0.0399 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.3 json_ms=0.1 total_ms=1.4 -2026-05-04T22:07:07.780854Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122395 parallel=true cells_before_filter=41 cells_after_filter=32 truncated=false bounds=51.4924,-0.1388,51.5338,-0.0399 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.0 json_ms=0.1 total_ms=1.0 -2026-05-04T22:07:09.771342Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:07:11.430730Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:07:11.432677Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:07:11.870399Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=537 cells_after_filter=412 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=5.2 json_ms=0.4 total_ms=5.6 -2026-05-04T22:07:18.738335Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122395 parallel=true cells_before_filter=32 cells_after_filter=30 truncated=false bounds=51.4924,-0.1388,51.5338,-0.0399 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.6 json_ms=0.0 total_ms=1.6 -2026-05-04T22:07:18.758383Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=122395 filters=5 travel=1 total=76 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=3.2 -2026-05-04T22:07:24.564862Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=2.0 -2026-05-04T22:07:24.584804Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.5 -2026-05-04T22:07:25.434415Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122395 parallel=true cells_before_filter=41 cells_after_filter=32 truncated=false bounds=51.4924,-0.1388,51.5338,-0.0399 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.6 json_ms=0.0 total_ms=1.7 -2026-05-04T22:07:25.435484Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=122395 filters=5 travel=1 total=99 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=2.8 -2026-05-04T22:07:30.016548Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122395 parallel=true cells_before_filter=41 cells_after_filter=32 truncated=false bounds=51.4924,-0.1388,51.5338,-0.0399 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=2.4 json_ms=0.1 total_ms=2.5 -2026-05-04T22:07:30.166842Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122395 parallel=true cells_before_filter=41 cells_after_filter=32 truncated=false bounds=51.4924,-0.1388,51.5338,-0.0399 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.9 json_ms=0.1 total_ms=2.0 -2026-05-04T22:07:43.696232Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=122395 filters=5 travel=1 total=76 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=2.8 -2026-05-04T22:07:43.696849Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122395 parallel=true cells_before_filter=32 cells_after_filter=30 truncated=false bounds=51.4924,-0.1388,51.5338,-0.0399 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=3.5 json_ms=0.1 total_ms=3.5 -2026-05-04T22:09:15.053435Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=83099 parallel=true cells_before_filter=312 cells_after_filter=300 truncated=false bounds=51.4958,-0.1756,51.5342,-0.0844 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.9 json_ms=0.2 total_ms=1.0 -2026-05-04T22:09:15.986390Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:09:15.986629Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:09:16.282846Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=83099 parallel=true cells_before_filter=312 cells_after_filter=300 truncated=false bounds=51.4958,-0.1756,51.5342,-0.0844 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.9 json_ms=0.2 total_ms=1.1 -2026-05-04T22:09:16.985235Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89195da49c3ffff resolution=9 total_count=238 filters=0 filters_raw="-" ms=0.2 -2026-05-04T22:09:17.396636Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=64311 parallel=true cells_before_filter=249 cells_after_filter=229 truncated=false bounds=51.4958,-0.1632,51.5342,-0.0968 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.9 json_ms=0.1 total_ms=1.0 -2026-05-04T22:09:20.390663Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:09:21.638150Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:09:21.639834Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:09:21.968978Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=537 cells_after_filter=412 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=4.2 json_ms=0.4 total_ms=4.6 -2026-05-04T22:09:34.546910Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.5 -2026-05-04T22:09:34.564980Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.4 -2026-05-04T22:09:34.582175Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89194ad3257ffff resolution=9 total_count=87 filters=0 filters_raw="-" ms=0.2 -2026-05-04T22:09:34.796975Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122395 parallel=true cells_before_filter=41 cells_after_filter=32 truncated=false bounds=51.4924,-0.1388,51.5338,-0.0399 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.0 json_ms=0.1 total_ms=1.0 -2026-05-04T22:09:35.096462Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=122395 filters=5 travel=1 total=99 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=2.8 -2026-05-04T22:09:35.791825Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=503301 parallel=true cells_before_filter=1899 cells_after_filter=1773 truncated=false bounds=51.4632,-0.2509,51.5723,-0.0624 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=5.4 json_ms=1.2 total_ms=6.6 -2026-05-04T22:09:39.578502Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=3047 parallel=false cells_before_filter=155 cells_after_filter=134 truncated=false bounds=51.0079,-1.2718,51.0856,-1.0894 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.2 json_ms=0.1 total_ms=0.3 -2026-05-04T22:09:39.932966Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122395 parallel=true cells_before_filter=41 cells_after_filter=32 truncated=false bounds=51.4924,-0.1388,51.5338,-0.0399 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.4 json_ms=0.1 total_ms=1.5 -2026-05-04T22:09:40.921779Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122395 parallel=true cells_before_filter=41 cells_after_filter=32 truncated=false bounds=51.4924,-0.1388,51.5338,-0.0399 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.5 json_ms=0.0 total_ms=1.6 -2026-05-04T22:09:48.386770Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122395 parallel=true cells_before_filter=32 cells_after_filter=30 truncated=false bounds=51.4924,-0.1388,51.5338,-0.0399 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.7 json_ms=0.0 total_ms=1.7 -2026-05-04T22:09:49.833150Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=122395 filters=5 travel=1 total=76 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=3.0 -2026-05-04T22:09:59.625699Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:09:59.625804Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:10:18.276194Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:10:18.277375Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:10:50.331384Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:10:51.624480Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:10:51.624857Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:10:51.972591Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=537 cells_after_filter=412 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.7 json_ms=0.2 total_ms=1.9 -2026-05-04T22:12:49.115326Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:12:59.972207Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:13:01.286073Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:13:01.287792Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:13:01.639675Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=537 cells_after_filter=412 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=2.0 json_ms=0.4 total_ms=2.4 -2026-05-04T22:13:14.259373Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.4 -2026-05-04T22:13:14.279347Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=2.0 -2026-05-04T22:13:14.524168Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122395 parallel=true cells_before_filter=41 cells_after_filter=32 truncated=false bounds=51.4924,-0.1388,51.5338,-0.0399 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=4.2 json_ms=0.1 total_ms=4.3 -2026-05-04T22:13:14.856309Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=122395 filters=5 travel=1 total=99 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=3.4 -2026-05-04T22:13:32.500450Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:13:45.469478Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:13:58.113964Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:14:20.006022Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:15:16.034638Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:15:16.034655Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:15:16.049735Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:15:16.052310Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:15:16.067959Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:15:16.067966Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:15:23.544443Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:15:23.545908Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:15:24.793212Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:15:24.793390Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:15:38.499700Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:15:38.499937Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:15:38.888798Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:15:38.890273Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:15:38.901972Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:15:38.901980Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:15:43.175411Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:15:43.175417Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:15:52.910078Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:15:54.157456Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:15:54.157703Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:15:54.558417Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=537 cells_after_filter=412 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=2.3 json_ms=0.3 total_ms=2.6 -2026-05-04T22:16:17.924667Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:16:23.301799Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:16:24.620993Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:16:24.622323Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:16:25.132503Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=537 cells_after_filter=412 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=2.2 json_ms=0.4 total_ms=2.6 -2026-05-04T22:16:30.018214Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:16:30.021061Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:16:30.044102Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:16:30.045412Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:16:30.124918Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:16:30.126318Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:16:30.126371Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:16:30.130716Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:16:30.190264Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=537 cells_after_filter=412 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=2.2 json_ms=0.3 total_ms=2.5 -2026-05-04T22:16:35.175651Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:16:35.790396Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:16:36.550571Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:16:36.550572Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:16:36.953085Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=537 cells_after_filter=412 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=5.3 json_ms=0.4 total_ms=5.7 -2026-05-04T22:16:37.297770Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:16:37.297798Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:16:37.766664Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=537 cells_after_filter=412 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=10.7 json_ms=0.4 total_ms=11.1 -2026-05-04T22:16:50.090443Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:16:50.714483Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.5 -2026-05-04T22:16:50.737277Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.8 -2026-05-04T22:16:50.988254Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122395 parallel=true cells_before_filter=41 cells_after_filter=32 truncated=false bounds=51.4924,-0.1388,51.5338,-0.0399 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.8 json_ms=0.0 total_ms=1.9 -2026-05-04T22:16:51.380753Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=122395 filters=5 travel=1 total=99 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=2.4 -2026-05-04T22:16:51.728458Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:16:51.730984Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:16:52.544870Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:16:52.545173Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:16:53.170483Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=537 cells_after_filter=412 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=2.8 json_ms=0.3 total_ms=3.1 -2026-05-04T22:16:56.117207Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122395 parallel=true cells_before_filter=41 cells_after_filter=32 truncated=false bounds=51.4924,-0.1388,51.5338,-0.0399 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.8 json_ms=0.1 total_ms=1.9 -2026-05-04T22:16:58.078086Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122395 parallel=true cells_before_filter=41 cells_after_filter=32 truncated=false bounds=51.4924,-0.1388,51.5338,-0.0399 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=3.0 json_ms=0.1 total_ms=3.0 -2026-05-04T22:17:05.602271Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=2.5 -2026-05-04T22:17:05.627414Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=2.1 -2026-05-04T22:17:06.887654Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122395 parallel=true cells_before_filter=41 cells_after_filter=32 truncated=false bounds=51.4924,-0.1388,51.5338,-0.0399 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=2.0 json_ms=0.1 total_ms=2.1 -2026-05-04T22:17:06.891207Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=122395 filters=5 travel=1 total=99 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=3.2 -2026-05-04T22:17:11.374500Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122395 parallel=true cells_before_filter=41 cells_after_filter=32 truncated=false bounds=51.4924,-0.1388,51.5338,-0.0399 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=0.9 json_ms=0.1 total_ms=0.9 -2026-05-04T22:17:11.787823Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122395 parallel=true cells_before_filter=41 cells_after_filter=32 truncated=false bounds=51.4924,-0.1388,51.5338,-0.0399 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.9 json_ms=0.1 total_ms=2.0 -2026-05-04T22:17:12.104759Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122395 parallel=true cells_before_filter=32 cells_after_filter=30 truncated=false bounds=51.4924,-0.1388,51.5338,-0.0399 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=3.4 json_ms=0.1 total_ms=3.5 -2026-05-04T22:17:12.614981Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=122395 filters=5 travel=1 total=76 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=3.1 -2026-05-04T22:17:16.298914Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:17:16.299362Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:17:16.652247Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:17:16.654687Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:17:16.887024Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:17:16.888739Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:17:16.895319Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:17:16.895348Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:17:16.937631Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122395 parallel=true cells_before_filter=41 cells_after_filter=32 truncated=false bounds=51.4924,-0.1388,51.5338,-0.0399 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=2.6 json_ms=0.1 total_ms=2.7 -2026-05-04T22:17:17.394683Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122395 parallel=true cells_before_filter=41 cells_after_filter=32 truncated=false bounds=51.4924,-0.1388,51.5338,-0.0399 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=4.0 json_ms=0.1 total_ms=4.1 -2026-05-04T22:17:17.395093Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=122395 filters=5 travel=1 total=99 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=4.2 -2026-05-04T22:17:18.394512Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:17:18.398180Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:17:18.736343Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122395 parallel=true cells_before_filter=32 cells_after_filter=30 truncated=false bounds=51.4924,-0.1388,51.5338,-0.0399 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=3.3 json_ms=0.1 total_ms=3.3 -2026-05-04T22:17:19.156516Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=122395 filters=5 travel=1 total=76 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=3.0 -2026-05-04T22:17:20.079176Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=79996 parallel=true cells_before_filter=14 cells_after_filter=13 truncated=false bounds=51.4958,-0.1316,51.5310,-0.0473 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.1 json_ms=0.0 total_ms=1.1 -2026-05-04T22:17:20.318654Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=79996 filters=5 travel=1 total=37 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=1.8 -2026-05-04T22:17:21.165131Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122395 parallel=true cells_before_filter=32 cells_after_filter=30 truncated=false bounds=51.4924,-0.1388,51.5338,-0.0399 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=4.4 json_ms=0.1 total_ms=4.4 -2026-05-04T22:17:22.568170Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=122395 filters=5 travel=1 total=76 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=3.0 -2026-05-04T22:17:23.643832Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:17:23.645798Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:17:23.676422Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:17:23.676427Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:17:23.883967Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:17:23.890107Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:17:23.901175Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:17:23.904281Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:17:26.512955Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122395 parallel=true cells_before_filter=32 cells_after_filter=30 truncated=false bounds=51.4924,-0.1388,51.5338,-0.0399 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.0 json_ms=0.0 total_ms=1.0 -2026-05-04T22:17:26.514608Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=122395 filters=5 travel=1 total=76 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=2.9 -2026-05-04T22:17:28.082381Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:17:28.082407Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:17:28.591764Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=79996 parallel=true cells_before_filter=14 cells_after_filter=13 truncated=false bounds=51.4958,-0.1316,51.5310,-0.0473 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.0 json_ms=0.0 total_ms=1.1 -2026-05-04T22:17:28.592307Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=79996 filters=5 travel=1 total=37 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=1.6 -2026-05-04T22:17:30.502763Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=79996 parallel=true cells_before_filter=14 cells_after_filter=13 truncated=false bounds=51.4958,-0.1316,51.5310,-0.0473 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.0 json_ms=0.0 total_ms=1.0 -2026-05-04T22:17:30.730121Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=79996 filters=5 travel=1 total=37 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=1.8 -2026-05-04T22:17:56.113083Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:17:57.975715Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:17:57.975718Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:17:58.431515Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=537 cells_after_filter=412 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.6 json_ms=0.3 total_ms=1.9 -2026-05-04T22:18:01.100097Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:18:01.100139Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:18:01.147582Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:18:01.147587Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:18:01.157499Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:18:01.158423Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:18:01.161998Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:18:01.164292Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:18:01.388520Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=537 cells_after_filter=412 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.7 json_ms=0.3 total_ms=2.0 -2026-05-04T22:18:11.402161Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:18:12.712627Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:18:12.712664Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:18:13.073370Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=537 cells_after_filter=412 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.9 json_ms=0.4 total_ms=2.3 -2026-05-04T22:18:30.994562Z INFO property_map_server: Prometheus metrics initialized -2026-05-04T22:18:30.994761Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet -2026-05-04T22:18:30.994774Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet" -2026-05-04T22:18:31.122555Z INFO property_map_server::data::property: Postcode features loaded rows=1263786 -2026-05-04T22:18:31.122565Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet" -2026-05-04T22:18:33.611506Z INFO property_map_server::data::property: Properties joined with postcodes rows=15268176 -2026-05-04T22:18:33.611537Z INFO property_map_server::data::property: Feature columns from config numeric=63 enums=6 total=69 -2026-05-04T22:18:36.538024Z WARN property_map_server::data::property: Dropped properties with missing postcode coordinates rows=743076 -2026-05-04T22:18:36.538033Z INFO property_map_server::data::property: Combined data selected rows=14525100 -2026-05-04T22:18:36.678044Z INFO property_map_server::data::property: Extracting numeric feature columns -2026-05-04T22:18:37.038480Z INFO property_map_server::data::property: Computing histograms for numeric features -2026-05-04T22:18:38.526523Z INFO property_map_server::data::property: Extracting string columns -2026-05-04T22:18:39.908807Z INFO property_map_server::data::property: Building enum features -2026-05-04T22:18:41.719020Z INFO property_map_server::data::property: Extracting renovation history -2026-05-04T22:18:43.770345Z INFO property_map_server::data::property: Renovation history extracted properties_with_events=1741939 -2026-05-04T22:18:43.770354Z INFO property_map_server::data::property: Sorting rows by spatial locality -2026-05-04T22:18:44.674520Z INFO property_map_server::data::property: Building interned strings -2026-05-04T22:18:50.148935Z INFO property_map_server::data::property: Transposing to row-major layout (spatially sorted, quantized to u16) -2026-05-04T22:18:54.062453Z INFO property_map_server::data::property: Data loading complete -2026-05-04T22:18:55.930791Z INFO property_map_server: Allocator trim label="property data load" trimmed=true rss_before_mib=11749.0 rss_after_mib=3312.9 released_mib=8436.0 -2026-05-04T22:18:55.930802Z INFO property_map_server: Property data loaded rows=14525100 features=69 enums=6 -2026-05-04T22:18:55.930805Z INFO property_map_server: Building spatial grid index (0.01° cells) -2026-05-04T22:18:56.051230Z INFO property_map_server: Precomputing H3 cells at resolution 12 -2026-05-04T22:18:56.051241Z INFO property_map_server::data::property: Precomputing H3 cells at resolution 12 -2026-05-04T22:18:56.475680Z INFO property_map_server::data::property: H3 precomputation complete (14525100 cells) -2026-05-04T22:18:56.475701Z INFO property_map_server: Loading POI data from /app/data/filtered_uk_pois.parquet -2026-05-04T22:18:56.475707Z INFO property_map_server::data::poi: Loading POI data from "/app/data/filtered_uk_pois.parquet"... -2026-05-04T22:18:56.506199Z INFO property_map_server::data::poi: Loaded 567534 POIs -2026-05-04T22:18:56.662262Z INFO property_map_server::data::poi: POI string columns interned category_unique=94 group_unique=11 emoji_unique=71 -2026-05-04T22:18:56.663650Z INFO property_map_server::data::poi: POI data loading complete. -2026-05-04T22:18:56.710693Z INFO property_map_server: Allocator trim label="poi data load" trimmed=true rss_before_mib=3717.6 rss_after_mib=3530.6 released_mib=187.0 -2026-05-04T22:18:56.710705Z INFO property_map_server: POI data loaded pois=567534 -2026-05-04T22:18:56.710707Z INFO property_map_server: Building POI spatial grid index -2026-05-04T22:18:56.718782Z INFO property_map_server: Loading place data from /app/data/places.parquet -2026-05-04T22:18:56.718799Z INFO property_map_server::data::places: Loading place data from "/app/data/places.parquet"... -2026-05-04T22:18:56.720493Z INFO property_map_server::data::places: Loaded 3474 places -2026-05-04T22:18:56.721814Z INFO property_map_server::data::places: Place data loaded places=3474 types=2 with_population=71 with_city=3392 -2026-05-04T22:18:56.725737Z INFO property_map_server: Allocator trim label="place data load" trimmed=true rss_before_mib=3539.8 rss_after_mib=3535.4 released_mib=4.4 -2026-05-04T22:18:56.725748Z INFO property_map_server: Place data loaded places=3474 -2026-05-04T22:18:56.725757Z INFO property_map_server: Loading postcode boundaries from /app/data/postcode_boundaries -2026-05-04T22:18:56.725762Z INFO property_map_server::data::postcodes: Loading postcode boundaries from "/app/data/postcode_boundaries" -2026-05-04T22:18:56.727448Z INFO property_map_server::data::postcodes: Found GeoJSON files to process files=2361 -2026-05-04T22:19:05.022680Z INFO property_map_server::data::postcodes: Postcode boundary data ready postcodes=1490140 -2026-05-04T22:19:05.421317Z INFO property_map_server: Allocator trim label="postcode boundary load" trimmed=true rss_before_mib=10855.9 rss_after_mib=10659.3 released_mib=196.5 -2026-05-04T22:19:05.421335Z INFO property_map_server: Postcode boundaries loaded postcodes=1490140 -2026-05-04T22:19:05.580884Z INFO property_map_server::data::postcodes: Outcode data derived from postcodes outcodes=2361 -2026-05-04T22:19:05.580958Z INFO property_map_server: Loading PMTiles from /app/data/uk.pmtiles -2026-05-04T22:19:05.581190Z INFO property_map_server: PMTiles loaded successfully -2026-05-04T22:19:05.620437Z INFO property_map_server: No --dist provided; static serving disabled -2026-05-04T22:19:05.653852Z INFO property_map_server: Screenshot service configured: http://screenshot:8002 -2026-05-04T22:19:05.654023Z INFO property_map_server: Precomputed features response groups=8 -2026-05-04T22:19:05.654040Z INFO property_map_server: PocketBase configured: http://pocketbase:8090 -2026-05-04T22:19:05.712851Z INFO property_map_server::pocketbase: PocketBase users collection already has all required fields -2026-05-04T22:19:05.727511Z INFO property_map_server::pocketbase: PocketBase collection 'saved_searches' API rules updated -2026-05-04T22:19:05.731610Z INFO property_map_server::pocketbase: PocketBase collection 'saved_properties' API rules updated -2026-05-04T22:19:07.308379Z INFO property_map_server::pocketbase: PocketBase meta.appURL set to https://perfect-postcodes.co.uk/pb -2026-05-04T22:19:07.315235Z INFO property_map_server::pocketbase: PocketBase OAuth configured on users collection -2026-05-04T22:19:07.315281Z INFO property_map_server: Gemini configured (model: gemini-3-flash-preview) -2026-05-04T22:19:07.315297Z INFO property_map_server: Loading travel time data from /app/data/travel-times -2026-05-04T22:19:07.317153Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="bicycle" destinations=2753 -2026-05-04T22:19:07.318775Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="walking" destinations=2753 -2026-05-04T22:19:07.320369Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="car" destinations=2753 -2026-05-04T22:19:07.321670Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="transit" destinations=2752 -2026-05-04T22:19:07.321691Z INFO property_map_server: Travel time store loaded modes=4 -2026-05-04T22:19:07.321753Z INFO property_map_server: Precomputed AI filters system prompt -2026-05-04T22:19:10.359858Z INFO property_map_server: All memory pages locked (mlockall) -2026-05-04T22:19:10.359896Z INFO property_map_server: Server listening on 0.0.0.0:8001 -2026-05-04T22:19:10.362406Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:19:11.282862Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:19:11.998512Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:19:12.001101Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:19:12.651633Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:19:12.653579Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:19:12.847710Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=537 cells_after_filter=412 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=10.2 json_ms=0.3 total_ms=10.5 -2026-05-04T22:19:13.876585Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:19:13.876992Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:19:14.398559Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=537 cells_after_filter=412 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=8.1 json_ms=0.4 total_ms=8.5 -2026-05-04T22:19:14.829985Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:19:14.832130Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:19:17.878833Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:19:17.885215Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:19:17.885219Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:19:17.885248Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:19:27.189284Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.6 -2026-05-04T22:19:27.207964Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=2.2 -2026-05-04T22:19:27.673388Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122395 parallel=true cells_before_filter=41 cells_after_filter=32 truncated=false bounds=51.4924,-0.1388,51.5338,-0.0399 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=226.0 agg_ms=2.4 json_ms=0.1 total_ms=228.5 -2026-05-04T22:19:27.698162Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=122395 filters=5 travel=1 total=99 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=2.9 -2026-05-04T22:19:27.838540Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=2.7 -2026-05-04T22:19:27.860257Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=2.2 -2026-05-04T22:19:28.165307Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122395 parallel=true cells_before_filter=41 cells_after_filter=32 truncated=false bounds=51.4924,-0.1388,51.5338,-0.0399 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=2.9 json_ms=0.1 total_ms=3.0 -2026-05-04T22:19:28.463880Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=122395 filters=5 travel=1 total=99 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=2.9 -2026-05-04T22:19:32.718769Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122395 parallel=true cells_before_filter=41 cells_after_filter=32 truncated=false bounds=51.4924,-0.1388,51.5338,-0.0399 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=2.4 json_ms=0.0 total_ms=2.4 -2026-05-04T22:19:32.890348Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122395 parallel=true cells_before_filter=41 cells_after_filter=32 truncated=false bounds=51.4924,-0.1388,51.5338,-0.0399 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=3.5 json_ms=0.1 total_ms=3.6 -2026-05-04T22:19:33.342435Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122395 parallel=true cells_before_filter=41 cells_after_filter=32 truncated=false bounds=51.4924,-0.1388,51.5338,-0.0399 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=2.2 json_ms=0.1 total_ms=2.3 -2026-05-04T22:19:33.562465Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122395 parallel=true cells_before_filter=41 cells_after_filter=32 truncated=false bounds=51.4924,-0.1388,51.5338,-0.0399 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=3.8 json_ms=0.1 total_ms=3.8 -2026-05-04T22:19:47.613869Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=122395 filters=5 travel=1 total=76 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=3.7 -2026-05-04T22:19:47.615091Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122395 parallel=true cells_before_filter=32 cells_after_filter=30 truncated=false bounds=51.4924,-0.1388,51.5338,-0.0399 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=4.7 json_ms=0.0 total_ms=4.8 -2026-05-04T22:19:49.409784Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122395 parallel=true cells_before_filter=32 cells_after_filter=30 truncated=false bounds=51.4924,-0.1388,51.5338,-0.0399 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=3.8 json_ms=0.0 total_ms=3.8 -2026-05-04T22:19:49.410138Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=122395 filters=5 travel=1 total=76 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=4.6 -2026-05-04T22:19:56.769120Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=79996 parallel=true cells_before_filter=14 cells_after_filter=13 truncated=false bounds=51.4958,-0.1316,51.5310,-0.0473 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=3.7 json_ms=0.0 total_ms=3.8 -2026-05-04T22:19:56.969498Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=79996 filters=5 travel=1 total=37 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=2.1 -2026-05-04T22:19:57.508622Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=79996 parallel=true cells_before_filter=14 cells_after_filter=13 truncated=false bounds=51.4958,-0.1316,51.5310,-0.0473 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=2.8 json_ms=0.0 total_ms=2.8 -2026-05-04T22:19:57.852562Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=79996 filters=5 travel=1 total=37 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=2.9 -2026-05-04T22:20:54.025076Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:20:56.324428Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:20:56.324721Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:20:58.125348Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:20:58.130229Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:20:58.561997Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=537 cells_after_filter=412 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=3.4 json_ms=0.5 total_ms=3.9 -2026-05-04T22:21:11.221943Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.6 -2026-05-04T22:21:11.242460Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.6 -2026-05-04T22:21:11.465642Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122395 parallel=true cells_before_filter=41 cells_after_filter=32 truncated=false bounds=51.4924,-0.1388,51.5338,-0.0399 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.7 json_ms=0.0 total_ms=1.8 -2026-05-04T22:21:11.869894Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=122395 filters=5 travel=1 total=99 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=3.1 -2026-05-04T22:21:13.728615Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:21:13.728630Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:21:13.735932Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:21:13.738239Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:21:13.901248Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:21:13.902849Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:21:13.918576Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122395 parallel=true cells_before_filter=41 cells_after_filter=32 truncated=false bounds=51.4924,-0.1388,51.5338,-0.0399 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=6.7 json_ms=0.1 total_ms=6.7 -2026-05-04T22:21:13.932881Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:21:13.932890Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:21:14.491621Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=122395 filters=5 travel=1 total=99 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=2.8 -2026-05-04T22:21:26.371953Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:21:26.371987Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:21:26.887586Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:21:26.889234Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:21:26.899961Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:21:26.904381Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:21:27.652641Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:21:27.652644Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:21:27.822545Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122395 parallel=true cells_before_filter=41 cells_after_filter=32 truncated=false bounds=51.4924,-0.1388,51.5338,-0.0399 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.0 json_ms=0.0 total_ms=1.0 -2026-05-04T22:21:28.074620Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=122395 filters=5 travel=1 total=99 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=3.6 -2026-05-04T22:22:29.069537Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:22:29.071715Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:22:29.075423Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:22:29.075586Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:22:29.106537Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:22:29.106764Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:22:36.081084Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:22:36.082306Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:22:51.954249Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:22:51.954310Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:24:05.699059Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:24:07.592008Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:24:07.592432Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:24:08.414940Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=537 cells_after_filter=412 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=4.4 json_ms=0.4 total_ms=4.9 -2026-05-04T22:24:20.861836Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=2.2 -2026-05-04T22:24:20.881879Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.7 -2026-05-04T22:24:21.122125Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122395 parallel=true cells_before_filter=41 cells_after_filter=32 truncated=false bounds=51.4924,-0.1388,51.5338,-0.0399 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=3.0 json_ms=0.1 total_ms=3.0 -2026-05-04T22:24:21.381382Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=122395 filters=5 travel=1 total=99 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=3.2 -2026-05-04T22:24:26.240753Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122395 parallel=true cells_before_filter=41 cells_after_filter=32 truncated=false bounds=51.4924,-0.1388,51.5338,-0.0399 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.1 json_ms=0.0 total_ms=1.1 -2026-05-04T22:24:26.464684Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122395 parallel=true cells_before_filter=41 cells_after_filter=32 truncated=false bounds=51.4924,-0.1388,51.5338,-0.0399 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.4 json_ms=0.1 total_ms=1.4 -2026-05-04T22:24:27.540146Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:24:27.581298Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:24:36.826348Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122395 parallel=true cells_before_filter=32 cells_after_filter=30 truncated=false bounds=51.4924,-0.1388,51.5338,-0.0399 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.3 json_ms=0.0 total_ms=1.4 -2026-05-04T22:24:36.827918Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=122395 filters=5 travel=1 total=76 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=3.0 -2026-05-04T22:24:39.974077Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:24:39.975731Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:24:44.627129Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=79996 parallel=true cells_before_filter=14 cells_after_filter=13 truncated=false bounds=51.4958,-0.1316,51.5310,-0.0473 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=6.1 json_ms=0.0 total_ms=6.1 -2026-05-04T22:24:49.063892Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=79996 filters=5 travel=1 total=37 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=1.9 -2026-05-04T22:24:52.794208Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:24:52.795748Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:25:01.609360Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:25:01.611052Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:25:02.161215Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:25:02.170041Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:26:43.296479Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=83099 parallel=true cells_before_filter=312 cells_after_filter=300 truncated=false bounds=51.4958,-0.1756,51.5342,-0.0844 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.9 json_ms=0.2 total_ms=1.2 -2026-05-04T22:26:45.570271Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=64311 parallel=true cells_before_filter=249 cells_after_filter=231 truncated=false bounds=51.4958,-0.1636,51.5342,-0.0964 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.9 json_ms=0.1 total_ms=1.0 -2026-05-04T22:26:46.266290Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:26:46.267461Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:26:46.678793Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=64311 parallel=true cells_before_filter=249 cells_after_filter=231 truncated=false bounds=51.4958,-0.1636,51.5342,-0.0964 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.7 json_ms=0.1 total_ms=0.8 -2026-05-04T22:27:31.950199Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:27:31.953653Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:27:32.743995Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:27:32.745372Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:27:36.705103Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:27:36.706272Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:27:40.742291Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:27:42.048355Z INFO property_map_server::routes::features: GET /api/features -2026-05-04T22:27:42.049491Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-04T22:27:42.388603Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=537 cells_after_filter=412 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=3.7 json_ms=0.4 total_ms=4.1 -2026-05-04T22:27:48.759093Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=3047 parallel=false cells_before_filter=155 cells_after_filter=134 truncated=false bounds=51.0079,-1.2718,51.0856,-1.0894 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.1 json_ms=0.1 total_ms=0.2 -2026-05-04T22:27:54.979353Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.4 -2026-05-04T22:27:54.998605Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=2.0 -2026-05-04T22:27:55.235313Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122395 parallel=true cells_before_filter=41 cells_after_filter=32 truncated=false bounds=51.4924,-0.1388,51.5338,-0.0399 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=2.4 json_ms=0.0 total_ms=2.5 -2026-05-04T22:27:55.543332Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=122395 filters=5 travel=1 total=99 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=3.0 -2026-05-04T22:28:00.358684Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122395 parallel=true cells_before_filter=41 cells_after_filter=32 truncated=false bounds=51.4924,-0.1388,51.5338,-0.0399 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=2.0 json_ms=0.1 total_ms=2.1 -2026-05-04T22:28:02.432112Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122395 parallel=true cells_before_filter=41 cells_after_filter=32 truncated=false bounds=51.4924,-0.1388,51.5338,-0.0399 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.5 json_ms=0.0 total_ms=1.5 -2026-05-04T22:28:11.242530Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122395 parallel=true cells_before_filter=32 cells_after_filter=30 truncated=false bounds=51.4924,-0.1388,51.5338,-0.0399 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=2.1 json_ms=0.0 total_ms=2.2 -2026-05-04T22:28:11.243381Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=122395 filters=5 travel=1 total=76 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=2.9 -2026-05-04T22:28:19.048500Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=79996 parallel=true cells_before_filter=14 cells_after_filter=13 truncated=false bounds=51.4958,-0.1316,51.5310,-0.0473 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.8 json_ms=0.0 total_ms=1.9 -2026-05-04T22:28:19.274325Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=79996 filters=5 travel=1 total=37 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=1.5 diff --git a/server-rs/logs/server.log.2026-05-05 b/server-rs/logs/server.log.2026-05-05 deleted file mode 100644 index 3341a91..0000000 --- a/server-rs/logs/server.log.2026-05-05 +++ /dev/null @@ -1,2977 +0,0 @@ -2026-05-05T19:01:18.889716Z INFO property_map_server: Prometheus metrics initialized -2026-05-05T19:01:18.889874Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet -2026-05-05T19:01:18.889886Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet" -2026-05-05T19:01:18.983543Z INFO property_map_server::data::property: Postcode features loaded rows=1263786 -2026-05-05T19:01:18.983555Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet" -2026-05-05T19:01:21.671550Z INFO property_map_server::data::property: Properties joined with postcodes rows=15268176 -2026-05-05T19:01:21.671580Z INFO property_map_server::data::property: Feature columns from config numeric=63 enums=6 total=69 -2026-05-05T19:01:24.693222Z WARN property_map_server::data::property: Dropped properties with missing postcode coordinates rows=743076 -2026-05-05T19:01:24.693233Z INFO property_map_server::data::property: Combined data selected rows=14525100 -2026-05-05T19:01:24.838219Z INFO property_map_server::data::property: Extracting numeric feature columns -2026-05-05T19:01:25.199201Z INFO property_map_server::data::property: Computing histograms for numeric features -2026-05-05T19:01:26.305888Z INFO property_map_server::data::property: Extracting string columns -2026-05-05T19:01:27.568808Z INFO property_map_server::data::property: Building enum features -2026-05-05T19:01:28.688143Z INFO property_map_server::data::property: Extracting renovation history -2026-05-05T19:01:30.658267Z INFO property_map_server::data::property: Renovation history extracted properties_with_events=1741939 -2026-05-05T19:01:30.658275Z INFO property_map_server::data::property: Sorting rows by spatial locality -2026-05-05T19:01:31.529395Z INFO property_map_server::data::property: Building interned strings -2026-05-05T19:01:36.665605Z INFO property_map_server::data::property: Transposing to row-major layout (spatially sorted, quantized to u16) -2026-05-05T19:01:39.336036Z INFO property_map_server::data::property: Data loading complete -2026-05-05T19:01:40.897585Z INFO property_map_server: Allocator trim label="property data load" trimmed=true rss_before_mib=11708.1 rss_after_mib=3266.9 released_mib=8441.2 -2026-05-05T19:01:40.897594Z INFO property_map_server: Property data loaded rows=14525100 features=69 enums=6 -2026-05-05T19:01:40.897597Z INFO property_map_server: Building spatial grid index (0.01° cells) -2026-05-05T19:01:40.997274Z INFO property_map_server: Precomputing H3 cells at resolution 12 -2026-05-05T19:01:40.997283Z INFO property_map_server::data::property: Precomputing H3 cells at resolution 12 -2026-05-05T19:01:41.336099Z INFO property_map_server::data::property: H3 precomputation complete (14525100 cells) -2026-05-05T19:01:41.336184Z INFO property_map_server: Loading POI data from /app/data/filtered_uk_pois.parquet -2026-05-05T19:01:41.336208Z INFO property_map_server::data::poi: Loading POI data from "/app/data/filtered_uk_pois.parquet"... -2026-05-05T19:01:41.389813Z INFO property_map_server::data::poi: Loaded 567534 POIs -2026-05-05T19:01:41.529892Z INFO property_map_server::data::poi: POI string columns interned category_unique=94 group_unique=11 emoji_unique=71 -2026-05-05T19:01:41.531021Z INFO property_map_server::data::poi: POI data loading complete. -2026-05-05T19:01:41.576120Z INFO property_map_server: Allocator trim label="poi data load" trimmed=true rss_before_mib=3674.6 rss_after_mib=3484.5 released_mib=190.1 -2026-05-05T19:01:41.576130Z INFO property_map_server: POI data loaded pois=567534 -2026-05-05T19:01:41.576132Z INFO property_map_server: Building POI spatial grid index -2026-05-05T19:01:41.583467Z INFO property_map_server: Loading place data from /app/data/places.parquet -2026-05-05T19:01:41.583480Z INFO property_map_server::data::places: Loading place data from "/app/data/places.parquet"... -2026-05-05T19:01:41.584713Z INFO property_map_server::data::places: Loaded 3474 places -2026-05-05T19:01:41.585658Z INFO property_map_server::data::places: Place data loaded places=3474 types=2 with_population=71 with_city=3392 -2026-05-05T19:01:41.588709Z INFO property_map_server: Allocator trim label="place data load" trimmed=true rss_before_mib=3493.6 rss_after_mib=3489.2 released_mib=4.5 -2026-05-05T19:01:41.588713Z INFO property_map_server: Place data loaded places=3474 -2026-05-05T19:01:41.588719Z INFO property_map_server: Loading postcode boundaries from /app/data/postcode_boundaries -2026-05-05T19:01:41.588726Z INFO property_map_server::data::postcodes: Loading postcode boundaries from "/app/data/postcode_boundaries" -2026-05-05T19:01:41.589563Z INFO property_map_server::data::postcodes: Found GeoJSON files to process files=2361 -2026-05-05T19:01:50.251726Z INFO property_map_server::data::postcodes: Postcode boundary data ready postcodes=1490140 -2026-05-05T19:01:50.601706Z INFO property_map_server: Allocator trim label="postcode boundary load" trimmed=true rss_before_mib=10809.0 rss_after_mib=10619.9 released_mib=189.1 -2026-05-05T19:01:50.601715Z INFO property_map_server: Postcode boundaries loaded postcodes=1490140 -2026-05-05T19:01:50.744960Z INFO property_map_server::data::postcodes: Outcode data derived from postcodes outcodes=2361 -2026-05-05T19:01:50.745013Z INFO property_map_server: Loading PMTiles from /app/data/uk.pmtiles -2026-05-05T19:01:50.753015Z INFO property_map_server: PMTiles loaded successfully -2026-05-05T19:01:50.787040Z INFO property_map_server: No --dist provided; static serving disabled -2026-05-05T19:01:50.813491Z INFO property_map_server: Screenshot service configured: http://screenshot:8002 -2026-05-05T19:01:50.813632Z INFO property_map_server: Precomputed features response groups=8 -2026-05-05T19:01:50.813644Z INFO property_map_server: PocketBase configured: http://pocketbase:8090 -2026-05-05T19:01:50.963594Z INFO property_map_server::pocketbase: PocketBase users collection already has all required fields -2026-05-05T19:01:50.966712Z INFO property_map_server::pocketbase: PocketBase collection 'saved_searches' API rules updated -2026-05-05T19:01:50.970722Z INFO property_map_server::pocketbase: PocketBase collection 'saved_properties' API rules updated -2026-05-05T19:01:52.795287Z INFO property_map_server::pocketbase: PocketBase meta.appURL set to https://perfect-postcodes.co.uk/pb -2026-05-05T19:01:52.798676Z INFO property_map_server::pocketbase: PocketBase OAuth configured on users collection -2026-05-05T19:01:52.798709Z INFO property_map_server: Gemini configured (model: gemini-3-flash-preview) -2026-05-05T19:01:52.798726Z INFO property_map_server: Loading travel time data from /app/data/travel-times -2026-05-05T19:01:52.800779Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="bicycle" destinations=2753 -2026-05-05T19:01:52.802335Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="walking" destinations=2753 -2026-05-05T19:01:52.803666Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="car" destinations=2753 -2026-05-05T19:01:52.804747Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="transit" destinations=2752 -2026-05-05T19:01:52.804767Z INFO property_map_server: Travel time store loaded modes=4 -2026-05-05T19:01:52.804816Z INFO property_map_server: Precomputed AI filters system prompt -2026-05-05T19:02:04.497292Z INFO property_map_server: All memory pages locked (mlockall) -2026-05-05T19:02:04.497332Z INFO property_map_server: Server listening on 0.0.0.0:8001 -2026-05-05T19:02:10.783849Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T19:02:10.784571Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T19:02:13.783345Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T19:02:13.783354Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T19:02:55.131488Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T19:02:57.057817Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T19:02:57.058172Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T19:02:57.995416Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=152340 parallel=true cells_before_filter=537 cells_after_filter=412 truncated=false bounds=51.4943,-0.1794,51.5357,-0.0806 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=8.4 json_ms=0.4 total_ms=8.8 -2026-05-05T19:03:10.362890Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.6 -2026-05-05T19:03:10.383273Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.8 -2026-05-05T19:03:10.779356Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122395 parallel=true cells_before_filter=41 cells_after_filter=32 truncated=false bounds=51.4924,-0.1388,51.5338,-0.0399 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=175.1 agg_ms=2.1 json_ms=0.0 total_ms=177.2 -2026-05-05T19:03:10.942375Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=122395 filters=5 travel=1 total=99 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=2.2 -2026-05-05T19:03:15.742351Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122395 parallel=true cells_before_filter=41 cells_after_filter=32 truncated=false bounds=51.4924,-0.1388,51.5338,-0.0399 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.7 json_ms=0.1 total_ms=1.8 -2026-05-05T19:03:16.579646Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122395 parallel=true cells_before_filter=41 cells_after_filter=32 truncated=false bounds=51.4924,-0.1388,51.5338,-0.0399 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=2.2 json_ms=0.1 total_ms=2.3 -2026-05-05T19:03:26.279614Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=122395 filters=5 travel=1 total=76 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=2.9 -2026-05-05T19:03:26.279884Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=122395 parallel=true cells_before_filter=32 cells_after_filter=30 truncated=false bounds=51.4924,-0.1388,51.5338,-0.0399 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.9 json_ms=0.0 total_ms=2.0 -2026-05-05T19:03:31.505887Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=79996 parallel=true cells_before_filter=14 cells_after_filter=13 truncated=false bounds=51.4958,-0.1316,51.5310,-0.0473 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=0.9 json_ms=0.0 total_ms=1.0 -2026-05-05T19:03:31.664051Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=79996 filters=5 travel=1 total=37 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=1.7 -2026-05-05T19:05:22.799953Z INFO property_map_server::routes::postcodes: GET /api/postcode/EC2R8AH postcode=EC2R 8AH -2026-05-05T19:06:38.652094Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T19:06:39.946209Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T19:06:39.947868Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T19:06:39.977432Z INFO property_map_server::routes::postcodes: GET /api/postcode/EC2R8AH postcode=EC2R 8AH -2026-05-05T19:06:40.000872Z INFO property_map_server::routes::postcode_stats: GET /api/postcode-stats postcode=EC2R 8AH total_count=0 filters=0 filters_raw="-" ms=0.3 -2026-05-05T19:06:40.013394Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89194ad3043ffff resolution=9 total_count=11 filters=0 filters_raw="-" ms=0.1 -2026-05-05T19:06:40.106981Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=88194ad305fffff resolution=8 total_count=416 filters=0 filters_raw="-" ms=0.3 -2026-05-05T19:06:40.674999Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89194ad3043ffff resolution=9 total_count=11 filters=0 filters_raw="-" ms=0.1 -2026-05-05T19:06:40.846135Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=108397 parallel=true cells_before_filter=393 cells_after_filter=305 truncated=false bounds=51.4943,-0.1671,51.5357,-0.0929 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=5.1 json_ms=0.3 total_ms=5.4 -2026-05-05T19:07:11.828819Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.6 -2026-05-05T19:07:11.886708Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89194ad3043ffff resolution=9 total_count=0 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=0.1 -2026-05-05T19:07:11.888108Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.7 -2026-05-05T19:07:12.041342Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89194ad3043ffff resolution=9 total_count=11 filters=0 filters_raw="-" ms=0.2 -2026-05-05T19:07:12.407618Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=99124 parallel=true cells_before_filter=28 cells_after_filter=17 truncated=false bounds=51.4924,-0.1265,51.5338,-0.0523 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.4 json_ms=0.0 total_ms=1.4 -2026-05-05T19:07:13.137854Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=99124 filters=5 travel=1 total=65 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=1.8 -2026-05-05T19:07:21.845576Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=99124 parallel=true cells_before_filter=28 cells_after_filter=17 truncated=false bounds=51.4924,-0.1265,51.5338,-0.0523 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.1 json_ms=0.0 total_ms=1.2 -2026-05-05T19:07:22.464565Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=99124 parallel=true cells_before_filter=28 cells_after_filter=17 truncated=false bounds=51.4924,-0.1265,51.5338,-0.0523 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.5 json_ms=0.0 total_ms=1.6 -2026-05-05T19:07:30.543394Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=99124 parallel=true cells_before_filter=23 cells_after_filter=16 truncated=false bounds=51.4924,-0.1265,51.5338,-0.0523 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.4 json_ms=0.0 total_ms=1.5 -2026-05-05T19:07:31.295017Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=99124 filters=5 travel=1 total=51 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=2.2 -2026-05-05T19:07:53.785699Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T19:07:53.792460Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T19:10:05.048497Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T19:10:06.353639Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T19:10:06.355938Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T19:10:06.384555Z INFO property_map_server::routes::postcodes: GET /api/postcode/EC2R8AH postcode=EC2R 8AH -2026-05-05T19:10:06.409656Z INFO property_map_server::routes::postcode_stats: GET /api/postcode-stats postcode=EC2R 8AH total_count=0 filters=0 filters_raw="-" ms=0.4 -2026-05-05T19:10:06.421467Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89194ad3043ffff resolution=9 total_count=11 filters=0 filters_raw="-" ms=0.1 -2026-05-05T19:10:06.436892Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=88194ad305fffff resolution=8 total_count=416 filters=0 filters_raw="-" ms=0.4 -2026-05-05T19:10:06.689070Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89194ad3043ffff resolution=9 total_count=11 filters=0 filters_raw="-" ms=0.1 -2026-05-05T19:10:06.846852Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=108397 parallel=true cells_before_filter=393 cells_after_filter=305 truncated=false bounds=51.4943,-0.1671,51.5357,-0.0929 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=5.0 json_ms=0.3 total_ms=5.4 -2026-05-05T19:10:37.151191Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.6 -2026-05-05T19:10:37.181466Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89194ad3043ffff resolution=9 total_count=0 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=0.1 -2026-05-05T19:10:37.182780Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.6 -2026-05-05T19:10:37.224530Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89194ad3043ffff resolution=9 total_count=11 filters=0 filters_raw="-" ms=0.2 -2026-05-05T19:10:37.924603Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=99124 parallel=true cells_before_filter=28 cells_after_filter=17 truncated=false bounds=51.4924,-0.1265,51.5338,-0.0523 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.1 json_ms=0.0 total_ms=1.2 -2026-05-05T19:10:37.928714Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=99124 filters=5 travel=1 total=65 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=2.2 -2026-05-05T19:10:46.260916Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=99124 parallel=true cells_before_filter=28 cells_after_filter=17 truncated=false bounds=51.4924,-0.1265,51.5338,-0.0523 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.7 json_ms=0.0 total_ms=1.7 -2026-05-05T19:10:46.761107Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=99124 parallel=true cells_before_filter=28 cells_after_filter=17 truncated=false bounds=51.4924,-0.1265,51.5338,-0.0523 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=2.1 json_ms=0.0 total_ms=2.1 -2026-05-05T19:10:54.628364Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=99124 parallel=true cells_before_filter=23 cells_after_filter=16 truncated=false bounds=51.4924,-0.1265,51.5338,-0.0523 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.4 json_ms=0.0 total_ms=1.5 -2026-05-05T19:10:55.686391Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=99124 filters=5 travel=1 total=51 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=1.6 -2026-05-05T19:11:13.062575Z INFO property_map_server::routes::postcodes: GET /api/postcode/EC2R8AH postcode=EC2R 8AH -2026-05-05T19:11:13.062822Z INFO property_map_server::routes::postcodes: GET /api/postcode/EC2R8AH postcode=EC2R 8AH -2026-05-05T19:11:13.182696Z INFO property_map_server::routes::postcode_stats: GET /api/postcode-stats postcode=EC2R 8AH total_count=0 filters=0 filters_raw="-" ms=0.3 -2026-05-05T19:11:13.182722Z INFO property_map_server::routes::postcode_stats: GET /api/postcode-stats postcode=EC2R 8AH total_count=0 filters=0 filters_raw="-" ms=0.4 -2026-05-05T19:11:13.241269Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89194ad3043ffff resolution=9 total_count=11 filters=0 filters_raw="-" ms=0.1 -2026-05-05T19:11:13.241277Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89194ad3043ffff resolution=9 total_count=11 filters=0 filters_raw="-" ms=0.2 -2026-05-05T19:11:13.267226Z INFO property_map_server::routes::postcodes: GET /api/postcode/EC2V 8EX postcode=EC2V 8EX -2026-05-05T19:11:13.312112Z INFO property_map_server::routes::postcode_stats: GET /api/postcode-stats postcode=EC2V 8EX total_count=1 filters=0 filters_raw="-" ms=0.3 -2026-05-05T19:11:14.020597Z INFO property_map_server::routes::postcodes: GET /api/postcodes postcodes_before_filter=529 postcodes_after_filter=144 filtered_out=385 truncated=false bounds=51.508950,-0.100959,51.519286,-0.076239 filters=0 filters_raw="-" fields=0 travel_entries=0 agg_ms=0.6 json_ms=0.6 total_ms=1.2 -2026-05-05T19:11:14.250334Z INFO property_map_server::routes::postcodes: GET /api/postcodes postcodes_before_filter=529 postcodes_after_filter=90 filtered_out=439 truncated=false bounds=51.508950,-0.097869,51.519286,-0.079329 filters=0 filters_raw="-" fields=0 travel_entries=0 agg_ms=0.6 json_ms=0.3 total_ms=0.9 -2026-05-05T19:12:20.340032Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=83099 parallel=true cells_before_filter=312 cells_after_filter=300 truncated=false bounds=51.4958,-0.1756,51.5342,-0.0844 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.1 json_ms=0.2 total_ms=1.2 -2026-05-05T19:12:21.226324Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T19:12:21.227407Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T19:12:21.690417Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=83099 parallel=true cells_before_filter=312 cells_after_filter=300 truncated=false bounds=51.4958,-0.1756,51.5342,-0.0844 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.8 json_ms=0.2 total_ms=1.0 -2026-05-05T19:12:22.040213Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T19:12:22.041333Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T19:12:22.305685Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=83099 parallel=true cells_before_filter=312 cells_after_filter=300 truncated=false bounds=51.4958,-0.1756,51.5342,-0.0844 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.9 json_ms=0.2 total_ms=1.1 -2026-05-05T19:12:25.331907Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T19:12:25.332637Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T19:12:25.649382Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=83099 parallel=true cells_before_filter=312 cells_after_filter=300 truncated=false bounds=51.4958,-0.1756,51.5342,-0.0844 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.9 json_ms=0.2 total_ms=1.1 -2026-05-05T19:12:42.759613Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T19:12:44.372832Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T19:12:44.372979Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T19:12:44.403261Z INFO property_map_server::routes::postcodes: GET /api/postcode/EC2R8AH postcode=EC2R 8AH -2026-05-05T19:12:44.427869Z INFO property_map_server::routes::postcode_stats: GET /api/postcode-stats postcode=EC2R 8AH total_count=0 filters=0 filters_raw="-" ms=0.3 -2026-05-05T19:12:44.435709Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89194ad3043ffff resolution=9 total_count=11 filters=0 filters_raw="-" ms=0.1 -2026-05-05T19:12:44.445055Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=88194ad305fffff resolution=8 total_count=416 filters=0 filters_raw="-" ms=0.4 -2026-05-05T19:12:44.536342Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89194ad3043ffff resolution=9 total_count=11 filters=0 filters_raw="-" ms=0.1 -2026-05-05T19:12:44.747260Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=108397 parallel=true cells_before_filter=393 cells_after_filter=305 truncated=false bounds=51.4943,-0.1671,51.5357,-0.0929 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.7 json_ms=0.2 total_ms=2.0 -2026-05-05T19:13:10.255766Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T19:13:10.257260Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T19:13:11.563802Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=83099 parallel=true cells_before_filter=312 cells_after_filter=300 truncated=false bounds=51.4958,-0.1756,51.5342,-0.0844 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.7 json_ms=0.3 total_ms=1.9 -2026-05-05T19:13:12.076981Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T19:13:12.082842Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T19:13:12.706161Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=83099 parallel=true cells_before_filter=312 cells_after_filter=300 truncated=false bounds=51.4958,-0.1756,51.5342,-0.0844 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.9 json_ms=0.2 total_ms=2.1 -2026-05-05T19:13:13.519563Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89195da49d7ffff resolution=9 total_count=156 filters=0 filters_raw="-" ms=0.4 -2026-05-05T19:13:13.956831Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=64311 parallel=true cells_before_filter=249 cells_after_filter=229 truncated=false bounds=51.4958,-0.1632,51.5342,-0.0968 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=2.0 json_ms=0.2 total_ms=2.2 -2026-05-05T19:13:14.537886Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89195da4d67ffff resolution=9 total_count=217 filters=0 filters_raw="-" ms=0.3 -2026-05-05T19:13:14.947720Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=2.2 -2026-05-05T19:13:14.970729Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89194ad3043ffff resolution=9 total_count=0 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=0.1 -2026-05-05T19:13:14.972690Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=2.2 -2026-05-05T19:13:15.097342Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89194ad3043ffff resolution=9 total_count=11 filters=0 filters_raw="-" ms=0.1 -2026-05-05T19:13:15.255567Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=108397 parallel=true cells_before_filter=8 cells_after_filter=5 truncated=false bounds=51.4943,-0.1671,51.5357,-0.0929 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=0.8 json_ms=0.0 total_ms=0.8 -2026-05-05T19:13:15.650398Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=99124 parallel=true cells_before_filter=28 cells_after_filter=17 truncated=false bounds=51.4924,-0.1265,51.5338,-0.0523 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.3 json_ms=0.0 total_ms=1.3 -2026-05-05T19:13:15.910678Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=99124 filters=5 travel=1 total=65 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=1.6 -2026-05-05T19:13:19.713874Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89195da4d67ffff resolution=9 total_count=217 filters=1 filters_raw="Estimated current price:12976.594:inf" ms=0.3 -2026-05-05T19:13:19.715857Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=64311 parallel=true cells_before_filter=249 cells_after_filter=229 truncated=false bounds=51.4958,-0.1632,51.5342,-0.0968 filters=1 filters_raw="Estimated current price:12976.594:inf" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=2.2 json_ms=0.2 total_ms=2.3 -2026-05-05T19:13:19.901047Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=64311 filters=1 travel=0 total=64263 filters_raw="Estimated current price:12976.594:inf" ms=2.3 -2026-05-05T19:13:21.464955Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=64311 parallel=true cells_before_filter=249 cells_after_filter=229 truncated=false bounds=51.4958,-0.1632,51.5342,-0.0968 filters=1 filters_raw="Estimated current price:12976.594:inf" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=1.9 json_ms=0.3 total_ms=2.2 -2026-05-05T19:13:22.864973Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=869359 filters=1 travel=0 total=869208 filters_raw="Estimated current price:12976.594:inf" ms=27.7 -2026-05-05T19:13:24.016009Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=64311 parallel=true cells_before_filter=249 cells_after_filter=229 truncated=false bounds=51.4958,-0.1632,51.5342,-0.0968 filters=1 filters_raw="Estimated current price:12976.594:inf" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=2.1 json_ms=0.3 total_ms=2.3 -2026-05-05T19:13:24.101483Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=99124 parallel=true cells_before_filter=28 cells_after_filter=17 truncated=false bounds=51.4924,-0.1265,51.5338,-0.0523 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.0 json_ms=0.0 total_ms=1.0 -2026-05-05T19:13:24.304372Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=64311 filters=1 travel=0 total=64263 filters_raw="Estimated current price:12976.594:inf" ms=1.7 -2026-05-05T19:13:24.650095Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=99124 parallel=true cells_before_filter=28 cells_after_filter=17 truncated=false bounds=51.4924,-0.1265,51.5338,-0.0523 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.4 json_ms=0.1 total_ms=1.5 -2026-05-05T19:13:24.977169Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=333685 parallel=true cells_before_filter=1100 cells_after_filter=1037 truncated=false bounds=51.4728,-0.2082,51.5547,-0.0667 filters=1 filters_raw="Estimated current price:12976.594:inf" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=6.7 json_ms=1.2 total_ms=8.0 -2026-05-05T19:13:25.341078Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=333685 filters=1 travel=0 total=333615 filters_raw="Estimated current price:12976.594:inf" ms=9.7 -2026-05-05T19:13:26.256885Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=467083 parallel=true cells_before_filter=1672 cells_after_filter=1568 truncated=false bounds=51.4622,-0.2335,51.5642,-0.0573 filters=1 filters_raw="Estimated current price:12976.594:inf" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=9.7 json_ms=1.9 total_ms=11.6 -2026-05-05T19:13:26.488741Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=467083 filters=1 travel=0 total=467013 filters_raw="Estimated current price:12976.594:inf" ms=16.5 -2026-05-05T19:13:31.055745Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=88195da4d7fffff resolution=8 total_count=2176 filters=1 filters_raw="Estimated current price:12976.594:inf" ms=1.7 -2026-05-05T19:13:31.107696Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87195da4dffffff resolution=7 total_count=10778 filters=1 filters_raw="Estimated current price:12976.594:inf" ms=5.3 -2026-05-05T19:13:31.211051Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=86195da4fffffff resolution=6 total_count=94415 filters=1 filters_raw="Estimated current price:12976.594:inf" ms=63.8 -2026-05-05T19:13:32.155730Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=14525100 filters=1 travel=0 total=14524465 filters_raw="Estimated current price:12976.594:inf" ms=436.7 -2026-05-05T19:13:33.128501Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=64311 parallel=true cells_before_filter=249 cells_after_filter=229 truncated=false bounds=51.4958,-0.1632,51.5342,-0.0968 filters=1 filters_raw="Estimated current price:12976.594:inf" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=1.9 json_ms=0.3 total_ms=2.2 -2026-05-05T19:13:33.513037Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=64311 filters=1 travel=0 total=64263 filters_raw="Estimated current price:12976.594:inf" ms=2.4 -2026-05-05T19:13:34.033739Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=434221 parallel=true cells_before_filter=1581 cells_after_filter=1469 truncated=false bounds=51.4678,-0.2238,51.5664,-0.0536 filters=1 filters_raw="Estimated current price:12976.594:inf" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=5.9 json_ms=1.9 total_ms=7.8 -2026-05-05T19:13:34.379784Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=99124 parallel=true cells_before_filter=23 cells_after_filter=16 truncated=false bounds=51.4924,-0.1265,51.5338,-0.0523 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.0 json_ms=0.0 total_ms=1.1 -2026-05-05T19:13:34.394481Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=434221 filters=1 travel=0 total=434071 filters_raw="Estimated current price:12976.594:inf" ms=12.3 -2026-05-05T19:13:35.708502Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=99124 filters=5 travel=1 total=51 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=2.8 -2026-05-05T19:13:47.927609Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=88195da4d7fffff resolution=8 total_count=2176 filters=1 filters_raw="Estimated current price:12976.594:inf" ms=1.0 -2026-05-05T19:13:48.186480Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=8 rows=1501538 parallel=true cells_before_filter=1326 cells_after_filter=1317 truncated=false bounds=51.3776,-0.3889,51.6251,0.0384 filters=1 filters_raw="Estimated current price:12976.594:inf" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=15.8 json_ms=1.1 total_ms=17.0 -2026-05-05T19:13:48.475377Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=1501538 filters=1 travel=0 total=1501383 filters_raw="Estimated current price:12976.594:inf" ms=37.3 -2026-05-05T19:13:48.851958Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87195da4dffffff resolution=7 total_count=10778 filters=1 filters_raw="Estimated current price:12976.594:inf" ms=4.5 -2026-05-05T19:13:49.042945Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=7 rows=3175502 parallel=true cells_before_filter=1498 cells_after_filter=1498 truncated=false bounds=51.1864,-0.9023,51.8893,0.3127 filters=1 filters_raw="Estimated current price:12976.594:inf" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=21.1 json_ms=1.1 total_ms=22.2 -2026-05-05T19:13:49.419831Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=3175502 filters=1 travel=0 total=3175307 filters_raw="Estimated current price:12976.594:inf" ms=80.6 -2026-05-05T19:13:49.748695Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=86195da4fffffff resolution=6 total_count=94415 filters=1 filters_raw="Estimated current price:12976.594:inf" ms=40.3 -2026-05-05T19:13:49.951037Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=6 rows=5273821 parallel=true cells_before_filter=848 cells_after_filter=848 truncated=false bounds=50.7996,-1.6363,52.1900,0.7647 filters=1 filters_raw="Estimated current price:12976.594:inf" fields=1 travel_entries=0 grid_ms=0.1 agg_ms=51.5 json_ms=1.0 total_ms=52.6 -2026-05-05T19:13:50.410401Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=5273821 filters=1 travel=0 total=5273616 filters_raw="Estimated current price:12976.594:inf" ms=168.8 -2026-05-05T19:13:50.917171Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=6 rows=7954608 parallel=true cells_before_filter=1725 cells_after_filter=1725 truncated=false bounds=50.1681,-2.6342,52.5315,1.4350 filters=1 filters_raw="Estimated current price:12976.594:inf" fields=1 travel_entries=0 grid_ms=0.2 agg_ms=68.2 json_ms=1.5 total_ms=69.9 -2026-05-05T19:13:51.260715Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=7954608 filters=1 travel=0 total=7954136 filters_raw="Estimated current price:12976.594:inf" ms=185.9 -2026-05-05T19:13:51.917380Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=6 rows=10356677 parallel=true cells_before_filter=2785 cells_after_filter=2785 truncated=false bounds=48.9853,-4.4683,53.1524,2.6670 filters=1 filters_raw="Estimated current price:12976.594:inf" fields=1 travel_entries=0 grid_ms=0.3 agg_ms=72.3 json_ms=2.1 total_ms=74.7 -2026-05-05T19:13:52.372419Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=10356677 filters=1 travel=0 total=10356169 filters_raw="Estimated current price:12976.594:inf" ms=245.5 -2026-05-05T19:13:53.138230Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=85195da7fffffff resolution=5 total_count=374319 filters=1 filters_raw="Estimated current price:12976.594:inf" ms=193.9 -2026-05-05T19:13:53.275945Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=5 rows=13711775 parallel=true cells_before_filter=588 cells_after_filter=588 truncated=false bounds=48.8406,-5.7795,54.2255,3.5406 filters=1 filters_raw="Estimated current price:12976.594:inf" fields=1 travel_entries=0 grid_ms=0.6 agg_ms=125.6 json_ms=0.7 total_ms=127.0 -2026-05-05T19:13:53.906539Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=13711775 filters=1 travel=0 total=13711151 filters_raw="Estimated current price:12976.594:inf" ms=360.6 -2026-05-05T19:13:54.127605Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=5 rows=14038788 parallel=true cells_before_filter=634 cells_after_filter=634 truncated=false bounds=48.0483,-7.0571,54.6937,4.4127 filters=1 filters_raw="Estimated current price:12976.594:inf" fields=1 travel_entries=0 grid_ms=0.7 agg_ms=136.9 json_ms=0.8 total_ms=138.4 -2026-05-05T19:13:54.745855Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=14038788 filters=1 travel=0 total=14038158 filters_raw="Estimated current price:12976.594:inf" ms=423.3 -2026-05-05T19:13:55.452968Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=5 rows=14473303 parallel=true cells_before_filter=662 cells_after_filter=662 truncated=false bounds=48.5337,-6.9464,55.1131,4.5235 filters=1 filters_raw="Estimated current price:12976.594:inf" fields=1 travel_entries=0 grid_ms=0.9 agg_ms=110.7 json_ms=0.7 total_ms=112.3 -2026-05-05T19:13:55.954623Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=14473303 filters=1 travel=0 total=14472670 filters_raw="Estimated current price:12976.594:inf" ms=413.4 -2026-05-05T19:13:59.016612Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=5 rows=14473303 parallel=true cells_before_filter=662 cells_after_filter=662 truncated=false bounds=48.5337,-6.9464,55.1131,4.5235 filters=1 filters_raw="Estimated current price:12976.594:inf" fields=0 travel_entries=0 grid_ms=0.7 agg_ms=110.0 json_ms=0.4 total_ms=111.0 -2026-05-05T19:13:59.601215Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=5 rows=14473303 parallel=true cells_before_filter=662 cells_after_filter=662 truncated=false bounds=48.5337,-6.9464,55.1131,4.5235 filters=1 filters_raw="Estimated current price:12976.594:inf" fields=1 travel_entries=0 grid_ms=1.0 agg_ms=118.1 json_ms=0.6 total_ms=119.8 -2026-05-05T19:14:01.056222Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=86195da47ffffff resolution=6 total_count=42530 filters=1 filters_raw="Estimated current price:12976.594:inf" ms=18.3 -2026-05-05T19:14:01.342990Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87195da40ffffff resolution=7 total_count=6064 filters=1 filters_raw="Estimated current price:12976.594:inf" ms=2.7 -2026-05-05T19:14:01.552868Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=7 rows=4308616 parallel=true cells_before_filter=4124 cells_after_filter=4124 truncated=false bounds=50.9750,-1.5867,52.1677,0.4763 filters=1 filters_raw="Estimated current price:12976.594:inf" fields=1 travel_entries=0 grid_ms=0.1 agg_ms=23.0 json_ms=3.4 total_ms=26.5 -2026-05-05T19:14:01.826086Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=4308616 filters=1 travel=0 total=4308413 filters_raw="Estimated current price:12976.594:inf" ms=106.0 -2026-05-05T19:14:02.003974Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=88195da401fffff resolution=8 total_count=742 filters=1 filters_raw="Estimated current price:12976.594:inf" ms=0.6 -2026-05-05T19:14:02.266176Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=8 rows=1479762 parallel=true cells_before_filter=2863 cells_after_filter=2863 truncated=false bounds=51.4354,-0.7489,51.8409,-0.0467 filters=1 filters_raw="Estimated current price:12976.594:inf" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=9.6 json_ms=2.1 total_ms=11.7 -2026-05-05T19:14:02.625443Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89195da4003ffff resolution=9 total_count=107 filters=1 filters_raw="Estimated current price:12976.594:inf" ms=0.2 -2026-05-05T19:14:02.887452Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=184071 parallel=true cells_before_filter=2016 cells_after_filter=1899 truncated=false bounds=51.5847,-0.4755,51.7337,-0.2174 filters=1 filters_raw="Estimated current price:12976.594:inf" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=3.3 json_ms=1.4 total_ms=4.6 -2026-05-05T19:14:03.215169Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=184071 filters=1 travel=0 total=184070 filters_raw="Estimated current price:12976.594:inf" ms=5.4 -2026-05-05T19:14:03.233038Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=88195da401fffff resolution=8 total_count=742 filters=1 filters_raw="Estimated current price:12976.594:inf" ms=0.5 -2026-05-05T19:14:03.577987Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=8 rows=1016658 parallel=true cells_before_filter=1988 cells_after_filter=1984 truncated=false bounds=51.4829,-0.6647,51.8094,-0.0993 filters=1 filters_raw="Estimated current price:12976.594:inf" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=8.4 json_ms=1.5 total_ms=9.9 -2026-05-05T19:14:03.858388Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87195da40ffffff resolution=7 total_count=6064 filters=1 filters_raw="Estimated current price:12976.594:inf" ms=3.1 -2026-05-05T19:14:04.283037Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=7 rows=2394061 parallel=true cells_before_filter=903 cells_after_filter=903 truncated=false bounds=51.3634,-0.8864,51.8978,0.0391 filters=1 filters_raw="Estimated current price:12976.594:inf" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=12.6 json_ms=0.7 total_ms=13.3 -2026-05-05T19:14:04.535141Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=2394061 filters=1 travel=0 total=2393905 filters_raw="Estimated current price:12976.594:inf" ms=59.6 -2026-05-05T19:14:05.000572Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=7 rows=3479188 parallel=true cells_before_filter=2108 cells_after_filter=2108 truncated=false bounds=51.1884,-1.2101,52.0268,0.2412 filters=1 filters_raw="Estimated current price:12976.594:inf" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=19.7 json_ms=1.8 total_ms=21.6 -2026-05-05T19:14:05.533028Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=7 rows=3512175 parallel=true cells_before_filter=2175 cells_after_filter=2175 truncated=false bounds=51.1786,-1.2281,52.0339,0.2524 filters=1 filters_raw="Estimated current price:12976.594:inf" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=20.5 json_ms=2.4 total_ms=22.9 -2026-05-05T19:14:05.745777Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=86195da47ffffff resolution=6 total_count=42530 filters=1 filters_raw="Estimated current price:12976.594:inf" ms=18.7 -2026-05-05T19:14:06.233737Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=6 rows=8166140 parallel=true cells_before_filter=1768 cells_after_filter=1768 truncated=false bounds=50.3751,-2.6977,52.6145,1.1700 filters=1 filters_raw="Estimated current price:12976.594:inf" fields=1 travel_entries=0 grid_ms=0.2 agg_ms=43.6 json_ms=1.4 total_ms=45.2 -2026-05-05T19:14:06.639804Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=8166140 filters=1 travel=0 total=8165687 filters_raw="Estimated current price:12976.594:inf" ms=207.8 -2026-05-05T19:14:06.655893Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87195da40ffffff resolution=7 total_count=6064 filters=1 filters_raw="Estimated current price:12976.594:inf" ms=2.5 -2026-05-05T19:14:06.994774Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=7 rows=3125996 parallel=true cells_before_filter=1569 cells_after_filter=1569 truncated=false bounds=51.2564,-1.0844,51.9767,0.1627 filters=1 filters_raw="Estimated current price:12976.594:inf" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=18.1 json_ms=1.3 total_ms=19.5 -2026-05-05T19:14:07.291661Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=3125996 filters=1 travel=0 total=3125805 filters_raw="Estimated current price:12976.594:inf" ms=80.9 -2026-05-05T19:15:37.135691Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T19:15:37.136775Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T19:15:50.798872Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=83099 parallel=true cells_before_filter=312 cells_after_filter=300 truncated=false bounds=51.4958,-0.1756,51.5342,-0.0844 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.9 json_ms=0.2 total_ms=1.1 -2026-05-05T19:15:52.347645Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=427289 parallel=true cells_before_filter=1450 cells_after_filter=1358 truncated=false bounds=51.4725,-0.2050,51.5524,-0.0157 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=2.4 json_ms=0.9 total_ms=3.3 -2026-05-05T19:15:53.276971Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=1054219 parallel=true cells_before_filter=4870 cells_after_filter=4750 truncated=false bounds=51.4366,-0.2802,51.5977,0.1016 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=9.4 json_ms=2.3 total_ms=11.7 -2026-05-05T19:15:55.346549Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T19:15:55.346563Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T19:17:41.055450Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T19:17:42.330177Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T19:17:42.330591Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T19:17:42.359285Z INFO property_map_server::routes::postcodes: GET /api/postcode/EC2R8AH postcode=EC2R 8AH -2026-05-05T19:17:42.379548Z INFO property_map_server::routes::postcode_stats: GET /api/postcode-stats postcode=EC2R 8AH total_count=0 filters=0 filters_raw="-" ms=0.3 -2026-05-05T19:17:42.387797Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89194ad3043ffff resolution=9 total_count=11 filters=0 filters_raw="-" ms=0.1 -2026-05-05T19:17:42.398529Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=88194ad305fffff resolution=8 total_count=416 filters=0 filters_raw="-" ms=0.3 -2026-05-05T19:17:42.699112Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89194ad3043ffff resolution=9 total_count=11 filters=0 filters_raw="-" ms=0.1 -2026-05-05T19:17:42.851003Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=108397 parallel=true cells_before_filter=393 cells_after_filter=305 truncated=false bounds=51.4943,-0.1671,51.5357,-0.0929 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.7 json_ms=0.2 total_ms=1.9 -2026-05-05T19:17:56.359916Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=83099 parallel=true cells_before_filter=312 cells_after_filter=300 truncated=false bounds=51.4958,-0.1756,51.5342,-0.0844 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=2.1 json_ms=0.3 total_ms=2.3 -2026-05-05T19:18:09.045539Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T19:18:09.045846Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T19:18:09.923603Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.4 -2026-05-05T19:18:09.946218Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89194ad3043ffff resolution=9 total_count=0 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=0.1 -2026-05-05T19:18:09.948027Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=2.2 -2026-05-05T19:18:09.989985Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89194ad3043ffff resolution=9 total_count=11 filters=0 filters_raw="-" ms=0.2 -2026-05-05T19:18:11.424310Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=99124 parallel=true cells_before_filter=28 cells_after_filter=17 truncated=false bounds=51.4924,-0.1265,51.5338,-0.0523 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=0.7 json_ms=0.0 total_ms=0.7 -2026-05-05T19:18:11.447564Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=99124 filters=5 travel=1 total=65 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=2.0 -2026-05-05T19:18:17.866438Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=99124 parallel=true cells_before_filter=28 cells_after_filter=17 truncated=false bounds=51.4924,-0.1265,51.5338,-0.0523 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=0.9 json_ms=0.0 total_ms=0.9 -2026-05-05T19:18:18.191819Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=99124 parallel=true cells_before_filter=28 cells_after_filter=17 truncated=false bounds=51.4924,-0.1265,51.5338,-0.0523 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.4 json_ms=0.0 total_ms=1.5 -2026-05-05T19:18:24.082287Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=99124 parallel=true cells_before_filter=23 cells_after_filter=16 truncated=false bounds=51.4924,-0.1265,51.5338,-0.0523 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.0 json_ms=0.0 total_ms=1.1 -2026-05-05T19:18:25.120109Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=99124 filters=5 travel=1 total=51 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=2.1 -2026-05-05T19:24:07.925016Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T19:24:07.926900Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T19:24:31.443192Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T19:24:32.794149Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T19:24:32.795499Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T19:24:32.826568Z INFO property_map_server::routes::postcodes: GET /api/postcode/EC2R8AH postcode=EC2R 8AH -2026-05-05T19:24:32.846812Z INFO property_map_server::routes::postcode_stats: GET /api/postcode-stats postcode=EC2R 8AH total_count=0 filters=0 filters_raw="-" ms=0.3 -2026-05-05T19:24:32.855732Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89194ad3043ffff resolution=9 total_count=11 filters=0 filters_raw="-" ms=0.1 -2026-05-05T19:24:32.865228Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=88194ad305fffff resolution=8 total_count=416 filters=0 filters_raw="-" ms=0.3 -2026-05-05T19:24:33.088722Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89194ad3043ffff resolution=9 total_count=11 filters=0 filters_raw="-" ms=0.1 -2026-05-05T19:24:33.236922Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=108397 parallel=true cells_before_filter=393 cells_after_filter=305 truncated=false bounds=51.4943,-0.1671,51.5357,-0.0929 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.7 json_ms=0.3 total_ms=1.9 -2026-05-05T19:24:59.714954Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.4 -2026-05-05T19:24:59.753020Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89194ad3043ffff resolution=9 total_count=0 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=0.1 -2026-05-05T19:24:59.754645Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.9 -2026-05-05T19:24:59.873741Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89194ad3043ffff resolution=9 total_count=11 filters=0 filters_raw="-" ms=0.1 -2026-05-05T19:25:00.110729Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=99124 parallel=true cells_before_filter=28 cells_after_filter=17 truncated=false bounds=51.4924,-0.1265,51.5338,-0.0523 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.0 json_ms=0.0 total_ms=1.1 -2026-05-05T19:25:01.579377Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=99124 filters=5 travel=1 total=65 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=2.3 -2026-05-05T19:25:07.932253Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=99124 parallel=true cells_before_filter=28 cells_after_filter=17 truncated=false bounds=51.4924,-0.1265,51.5338,-0.0523 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=2.5 json_ms=0.0 total_ms=2.6 -2026-05-05T19:25:08.179390Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=99124 parallel=true cells_before_filter=28 cells_after_filter=17 truncated=false bounds=51.4924,-0.1265,51.5338,-0.0523 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.6 json_ms=0.0 total_ms=1.6 -2026-05-05T19:25:13.698037Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=99124 parallel=true cells_before_filter=23 cells_after_filter=16 truncated=false bounds=51.4924,-0.1265,51.5338,-0.0523 filters=4 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.5 json_ms=0.0 total_ms=1.5 -2026-05-05T19:25:14.136515Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=99124 filters=5 travel=1 total=51 filters_raw="Property type:Terraced;;Estimated current price:350000:450000;;Serious crime per 1k residents (avg/yr):0:30;;Noise (dB):50:60" ms=2.1 -2026-05-05T19:25:42.971178Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T19:25:42.972778Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T19:25:42.982257Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T19:25:42.983514Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T19:25:42.993911Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T19:25:42.994075Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T19:25:43.034104Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T19:25:43.035199Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T19:27:57.684861Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T19:27:57.685965Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T19:27:57.737488Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T19:27:57.738835Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T19:27:57.752728Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T19:27:57.763279Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T19:27:57.784496Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T19:27:57.785617Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T19:30:19.636640Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T19:30:19.638217Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T19:30:20.681438Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=83099 parallel=true cells_before_filter=312 cells_after_filter=300 truncated=false bounds=51.4958,-0.1756,51.5342,-0.0844 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.1 json_ms=0.2 total_ms=1.3 -2026-05-05T19:30:23.237675Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T19:30:23.237678Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T19:30:23.491361Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=83099 parallel=true cells_before_filter=312 cells_after_filter=300 truncated=false bounds=51.4958,-0.1756,51.5342,-0.0844 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.9 json_ms=0.2 total_ms=1.1 -2026-05-05T19:30:24.006882Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T19:30:24.007691Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T19:30:24.254376Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=83099 parallel=true cells_before_filter=312 cells_after_filter=300 truncated=false bounds=51.4958,-0.1756,51.5342,-0.0844 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.9 json_ms=0.2 total_ms=1.0 -2026-05-05T19:30:32.546415Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T19:30:32.546421Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T19:30:36.780291Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=32331 parallel=false cells_before_filter=163 cells_after_filter=149 truncated=false bounds=51.4958,-0.1494,51.5342,-0.1106 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.6 json_ms=0.1 total_ms=0.7 -2026-05-05T19:31:05.957426Z INFO property_map_server::routes::postcodes: GET /api/postcode/M11AD postcode=M1 1AD -2026-05-05T19:31:05.960352Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.3 -2026-05-05T19:31:05.961401Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T19:31:16.376132Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T19:32:53.864742Z INFO property_map_server::routes::postcodes: GET /api/postcodes postcodes_before_filter=354 postcodes_after_filter=354 filtered_out=0 truncated=false bounds=53.420000,-2.360000,53.560000,-2.120000 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=3 travel_entries=1 agg_ms=36.8 json_ms=1.0 total_ms=37.8 -2026-05-05T19:32:53.900157Z INFO property_map_server::routes::postcodes: GET /api/postcodes postcodes_before_filter=510 postcodes_after_filter=510 filtered_out=0 truncated=false bounds=53.420000,-2.360000,53.560000,-2.120000 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=3 travel_entries=1 agg_ms=16.8 json_ms=1.4 total_ms=18.3 -2026-05-05T19:32:53.935334Z INFO property_map_server::routes::postcodes: GET /api/postcodes postcodes_before_filter=751 postcodes_after_filter=751 filtered_out=0 truncated=false bounds=53.420000,-2.360000,53.560000,-2.120000 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=3 travel_entries=1 agg_ms=17.5 json_ms=2.8 total_ms=20.3 -2026-05-05T19:33:00.971565Z INFO property_map_server::routes::postcodes: GET /api/postcode/M44DH postcode=M4 4DH -2026-05-05T19:33:52.091992Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T19:33:52.092378Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T19:34:28.819560Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T19:34:28.819584Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T19:34:43.040439Z INFO property_map_server::routes::postcodes: GET /api/postcodes postcodes_before_filter=354 postcodes_after_filter=354 filtered_out=0 truncated=false bounds=53.420000,-2.360000,53.560000,-2.120000 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=3 travel_entries=1 agg_ms=15.8 json_ms=1.4 total_ms=17.3 -2026-05-05T19:35:48.468030Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T19:35:48.469629Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T19:35:48.475413Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T19:35:48.476713Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T19:35:48.479821Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T19:35:48.481835Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T19:35:48.519387Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T19:35:48.520769Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T19:37:43.023315Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T19:37:43.024372Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T19:37:43.024763Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T19:37:43.029461Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T19:37:43.052769Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T19:37:43.054747Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T19:37:43.076973Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T19:37:43.077259Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T19:38:20.796375Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T19:38:22.206443Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T19:38:22.207728Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T19:38:22.238830Z INFO property_map_server::routes::postcodes: GET /api/postcode/M44DH postcode=M4 4DH -2026-05-05T19:38:22.258241Z INFO property_map_server::routes::postcode_stats: GET /api/postcode-stats postcode=M4 4DH total_count=42 filters=0 filters_raw="-" ms=0.2 -2026-05-05T19:38:22.268333Z INFO property_map_server::routes::postcodes: GET /api/postcode/M4 4DH postcode=M4 4DH -2026-05-05T19:38:22.279545Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=881951b74bfffff resolution=8 total_count=2958 filters=0 filters_raw="-" ms=1.3 -2026-05-05T19:38:22.533108Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b74a3ffff resolution=9 total_count=1241 filters=0 filters_raw="-" ms=0.5 -2026-05-05T19:38:22.702635Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=5382 cells_after_filter=5346 truncated=false bounds=53.3675,-2.4548,53.5912,-2.0354 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=13.0 json_ms=4.6 total_ms=17.7 -2026-05-05T19:38:26.459032Z WARN property_map_server::routes::streetview: Street View metadata request failed: error sending request for url (https://maps.googleapis.com/maps/api/streetview/metadata?location=53.49121002492772,-2.2391107858890726&radius=1000&source=outdoor&key=AIzaSyBgBn9LjrxHCjb9j1LZbLYpEdCJj-NkHPY) -2026-05-05T19:38:26.459089Z ERROR tower_http::trace::on_failure: response failed classification=Status code: 502 Bad Gateway latency=4000 ms -2026-05-05T19:38:26.731327Z WARN property_map_server::routes::streetview: Street View metadata request failed: error sending request for url (https://maps.googleapis.com/maps/api/streetview/metadata?location=53.491210024927724,-2.2391107858890984&radius=1000&source=outdoor&key=AIzaSyBgBn9LjrxHCjb9j1LZbLYpEdCJj-NkHPY) -2026-05-05T19:38:26.731382Z ERROR tower_http::trace::on_failure: response failed classification=Status code: 502 Bad Gateway latency=4001 ms -2026-05-05T19:40:06.097704Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.6 -2026-05-05T19:40:06.130725Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b74a3ffff resolution=9 total_count=310 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=0.3 -2026-05-05T19:40:06.132331Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=2.1 -2026-05-05T19:40:06.636308Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.4548,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=4.0 json_ms=0.2 total_ms=4.2 -2026-05-05T19:40:06.653147Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=5 travel=1 total=20439 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=21.0 -2026-05-05T19:40:07.929479Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=4.7 json_ms=0.2 total_ms=4.8 -2026-05-05T19:40:07.949799Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=5 travel=1 total=20439 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=25.2 -2026-05-05T19:40:23.695878Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=2156 cells_after_filter=2155 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=5.6 json_ms=1.7 total_ms=7.4 -2026-05-05T19:40:25.514733Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=3.8 json_ms=0.2 total_ms=4.0 -2026-05-05T19:40:42.912431Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=59 cells_after_filter=59 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=4.1 json_ms=0.1 total_ms=4.1 -2026-05-05T19:40:42.933013Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=5 travel=1 total=12434 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=20.7 -2026-05-05T19:41:49.829617Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T19:41:49.829619Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T19:41:52.332658Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=83099 parallel=true cells_before_filter=312 cells_after_filter=300 truncated=false bounds=51.4958,-0.1756,51.5342,-0.0844 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.9 json_ms=0.2 total_ms=1.1 -2026-05-05T19:41:54.554721Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=83099 parallel=true cells_before_filter=312 cells_after_filter=300 truncated=false bounds=51.4958,-0.1756,51.5342,-0.0844 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.9 json_ms=0.2 total_ms=1.0 -2026-05-05T19:41:57.784701Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=83099 parallel=true cells_before_filter=312 cells_after_filter=300 truncated=false bounds=51.4958,-0.1756,51.5342,-0.0844 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.1 json_ms=0.3 total_ms=1.3 -2026-05-05T19:43:26.426937Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T19:43:27.672991Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T19:43:27.673612Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T19:43:27.701307Z INFO property_map_server::routes::postcodes: GET /api/postcode/M44DH postcode=M4 4DH -2026-05-05T19:43:27.712893Z INFO property_map_server::routes::postcode_stats: GET /api/postcode-stats postcode=M4 4DH total_count=42 filters=0 filters_raw="-" ms=0.3 -2026-05-05T19:43:27.736830Z INFO property_map_server::routes::postcodes: GET /api/postcode/M4 4DH postcode=M4 4DH -2026-05-05T19:43:27.745336Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=881951b74bfffff resolution=8 total_count=2958 filters=0 filters_raw="-" ms=1.1 -2026-05-05T19:43:28.134706Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b74a3ffff resolution=9 total_count=1241 filters=0 filters_raw="-" ms=0.5 -2026-05-05T19:43:28.272506Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=5382 cells_after_filter=5346 truncated=false bounds=53.3675,-2.4548,53.5912,-2.0354 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=8.6 json_ms=2.6 total_ms=11.3 -2026-05-05T19:43:43.665556Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T19:43:43.667005Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T19:44:56.391123Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T19:44:56.391133Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T19:44:56.491395Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T19:44:56.495577Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T19:44:56.503292Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T19:44:56.506496Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T19:44:56.507892Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T19:44:56.512875Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T19:46:00.951857Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T19:46:44.664214Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T19:48:15.493659Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T19:48:15.493683Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T19:48:15.798585Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T19:48:15.798589Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T19:48:15.811931Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T19:48:15.813048Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T19:48:15.813166Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T19:48:15.813174Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T19:48:18.381036Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T19:48:18.382540Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T19:48:18.409370Z INFO property_map_server::routes::postcodes: GET /api/postcode/M44DH postcode=M4 4DH -2026-05-05T19:48:18.430801Z INFO property_map_server::routes::postcode_stats: GET /api/postcode-stats postcode=M4 4DH total_count=42 filters=0 filters_raw="-" ms=0.2 -2026-05-05T19:48:18.440665Z INFO property_map_server::routes::postcodes: GET /api/postcode/M4 4DH postcode=M4 4DH -2026-05-05T19:48:18.451070Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=881951b74bfffff resolution=8 total_count=2958 filters=0 filters_raw="-" ms=1.4 -2026-05-05T19:48:18.829455Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b74a3ffff resolution=9 total_count=1241 filters=0 filters_raw="-" ms=0.7 -2026-05-05T19:48:18.989855Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=5382 cells_after_filter=5346 truncated=false bounds=53.3675,-2.4548,53.5912,-2.0354 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=7.9 json_ms=2.7 total_ms=10.7 -2026-05-05T19:48:54.322385Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T19:48:55.554818Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T19:48:55.554852Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T19:48:55.589689Z INFO property_map_server::routes::postcodes: GET /api/postcode/M44DH postcode=M4 4DH -2026-05-05T19:48:55.609737Z INFO property_map_server::routes::postcode_stats: GET /api/postcode-stats postcode=M4 4DH total_count=42 filters=0 filters_raw="-" ms=0.2 -2026-05-05T19:48:55.621095Z INFO property_map_server::routes::postcodes: GET /api/postcode/M4 4DH postcode=M4 4DH -2026-05-05T19:48:55.629575Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=881951b74bfffff resolution=8 total_count=2958 filters=0 filters_raw="-" ms=1.5 -2026-05-05T19:48:56.050042Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b74a3ffff resolution=9 total_count=1241 filters=0 filters_raw="-" ms=0.7 -2026-05-05T19:48:56.216818Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=5382 cells_after_filter=5346 truncated=false bounds=53.3675,-2.4548,53.5912,-2.0354 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=10.8 json_ms=4.2 total_ms=15.0 -2026-05-05T19:50:14.832648Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T19:50:14.832669Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T19:50:37.533129Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=2.1 -2026-05-05T19:50:37.563117Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b74a3ffff resolution=9 total_count=310 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=0.4 -2026-05-05T19:50:37.564473Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=2.0 -2026-05-05T19:50:37.862917Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=4.4 json_ms=0.1 total_ms=4.5 -2026-05-05T19:50:46.248741Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=5 travel=1 total=20439 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=26.5 -2026-05-05T19:50:54.757309Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T19:50:54.758821Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T19:51:44.894938Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T19:51:44.895327Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T19:51:44.930117Z INFO property_map_server::routes::postcodes: GET /api/postcode/M44DH postcode=M4 4DH -2026-05-05T19:51:44.947516Z INFO property_map_server::routes::postcode_stats: GET /api/postcode-stats postcode=M4 4DH total_count=42 filters=0 filters_raw="-" ms=0.3 -2026-05-05T19:51:44.958942Z INFO property_map_server::routes::postcodes: GET /api/postcode/M4 4DH postcode=M4 4DH -2026-05-05T19:51:44.969843Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=881951b74bfffff resolution=8 total_count=2958 filters=0 filters_raw="-" ms=1.3 -2026-05-05T19:51:45.218387Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b74a3ffff resolution=9 total_count=1241 filters=0 filters_raw="-" ms=0.5 -2026-05-05T19:51:45.491498Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=5382 cells_after_filter=5346 truncated=false bounds=53.3675,-2.4548,53.5912,-2.0354 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=8.1 json_ms=3.2 total_ms=11.3 -2026-05-05T19:51:45.628114Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.6 -2026-05-05T19:51:45.651071Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b74a3ffff resolution=9 total_count=310 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=0.3 -2026-05-05T19:51:45.652202Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.5 -2026-05-05T19:51:46.046787Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=2.6 json_ms=0.1 total_ms=2.7 -2026-05-05T19:51:46.310491Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=5 travel=1 total=20439 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=16.9 -2026-05-05T19:52:08.456159Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T19:52:09.799804Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T19:52:09.799833Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T19:52:09.837816Z INFO property_map_server::routes::postcodes: GET /api/postcode/M44DH postcode=M4 4DH -2026-05-05T19:52:09.853761Z INFO property_map_server::routes::postcode_stats: GET /api/postcode-stats postcode=M4 4DH total_count=42 filters=0 filters_raw="-" ms=0.3 -2026-05-05T19:52:09.869062Z INFO property_map_server::routes::postcodes: GET /api/postcode/M4 4DH postcode=M4 4DH -2026-05-05T19:52:09.878279Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=881951b74bfffff resolution=8 total_count=2958 filters=0 filters_raw="-" ms=1.1 -2026-05-05T19:52:10.260533Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b74a3ffff resolution=9 total_count=1241 filters=0 filters_raw="-" ms=0.8 -2026-05-05T19:52:10.415975Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=5382 cells_after_filter=5346 truncated=false bounds=53.3675,-2.4548,53.5912,-2.0354 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=14.7 json_ms=2.9 total_ms=17.6 -2026-05-05T19:53:02.496073Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.9 -2026-05-05T19:53:02.530664Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b74a3ffff resolution=9 total_count=310 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=0.4 -2026-05-05T19:53:02.532031Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.9 -2026-05-05T19:53:02.814858Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=4.1 json_ms=0.2 total_ms=4.3 -2026-05-05T19:53:03.172971Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=5 travel=1 total=20439 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=22.3 -2026-05-05T19:53:33.760817Z INFO property_map_server: Prometheus metrics initialized -2026-05-05T19:53:33.760971Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet -2026-05-05T19:53:33.760984Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet" -2026-05-05T19:53:33.979752Z INFO property_map_server::data::property: Postcode features loaded rows=1263786 -2026-05-05T19:53:33.979764Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet" -2026-05-05T19:53:37.356180Z INFO property_map_server::data::property: Properties joined with postcodes rows=15268176 -2026-05-05T19:53:37.356221Z INFO property_map_server::data::property: Feature columns from config numeric=63 enums=6 total=69 -2026-05-05T19:54:16.022767Z INFO property_map_server: Prometheus metrics initialized -2026-05-05T19:54:16.022927Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet -2026-05-05T19:54:16.022938Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet" -2026-05-05T19:54:16.123118Z INFO property_map_server::data::property: Postcode features loaded rows=1263786 -2026-05-05T19:54:16.123128Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet" -2026-05-05T19:54:19.663976Z INFO property_map_server::data::property: Properties joined with postcodes rows=15268176 -2026-05-05T19:54:19.664013Z INFO property_map_server::data::property: Feature columns from config numeric=63 enums=6 total=69 -2026-05-05T19:54:22.961053Z WARN property_map_server::data::property: Dropped properties with missing postcode coordinates rows=743076 -2026-05-05T19:54:22.961063Z INFO property_map_server::data::property: Combined data selected rows=14525100 -2026-05-05T19:54:23.105391Z INFO property_map_server::data::property: Extracting numeric feature columns -2026-05-05T19:54:23.599550Z INFO property_map_server::data::property: Computing histograms for numeric features -2026-05-05T19:54:25.153208Z INFO property_map_server::data::property: Extracting string columns -2026-05-05T19:54:26.533766Z INFO property_map_server::data::property: Building enum features -2026-05-05T19:54:27.879355Z INFO property_map_server::data::property: Extracting renovation history -2026-05-05T19:54:30.058716Z INFO property_map_server::data::property: Renovation history extracted properties_with_events=1741939 -2026-05-05T19:54:30.058728Z INFO property_map_server::data::property: Sorting rows by spatial locality -2026-05-05T19:54:31.134244Z INFO property_map_server::data::property: Building interned strings -2026-05-05T19:54:37.317356Z INFO property_map_server: Prometheus metrics initialized -2026-05-05T19:54:37.317555Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet -2026-05-05T19:54:37.317572Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet" -2026-05-05T19:54:37.392156Z INFO property_map_server::data::property: Postcode features loaded rows=1263786 -2026-05-05T19:54:37.392167Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet" -2026-05-05T19:54:47.485203Z INFO property_map_server: Prometheus metrics initialized -2026-05-05T19:54:47.485400Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet -2026-05-05T19:54:47.485412Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet" -2026-05-05T19:54:47.568798Z INFO property_map_server::data::property: Postcode features loaded rows=1263786 -2026-05-05T19:54:47.568813Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet" -2026-05-05T19:54:50.845948Z INFO property_map_server::data::property: Properties joined with postcodes rows=15268176 -2026-05-05T19:54:50.845987Z INFO property_map_server::data::property: Feature columns from config numeric=63 enums=6 total=69 -2026-05-05T19:54:54.621420Z WARN property_map_server::data::property: Dropped properties with missing postcode coordinates rows=743076 -2026-05-05T19:54:54.621431Z INFO property_map_server::data::property: Combined data selected rows=14525100 -2026-05-05T19:54:54.756650Z INFO property_map_server::data::property: Extracting numeric feature columns -2026-05-05T19:54:55.237738Z INFO property_map_server::data::property: Computing histograms for numeric features -2026-05-05T19:54:56.712657Z INFO property_map_server::data::property: Extracting string columns -2026-05-05T19:54:58.068662Z INFO property_map_server::data::property: Building enum features -2026-05-05T19:54:59.330759Z INFO property_map_server::data::property: Extracting renovation history -2026-05-05T19:55:01.469503Z INFO property_map_server::data::property: Renovation history extracted properties_with_events=1741939 -2026-05-05T19:55:01.469512Z INFO property_map_server::data::property: Sorting rows by spatial locality -2026-05-05T19:55:02.317143Z INFO property_map_server::data::property: Building interned strings -2026-05-05T19:55:07.802634Z INFO property_map_server::data::property: Transposing to row-major layout (spatially sorted, quantized to u16) -2026-05-05T19:55:12.257986Z INFO property_map_server::data::property: Data loading complete -2026-05-05T19:55:13.868385Z INFO property_map_server: Allocator trim label="property data load" trimmed=true rss_before_mib=11602.8 rss_after_mib=3378.0 released_mib=8224.7 -2026-05-05T19:55:13.868395Z INFO property_map_server: Property data loaded rows=14525100 features=69 enums=6 -2026-05-05T19:55:13.868398Z INFO property_map_server: Building spatial grid index (0.01° cells) -2026-05-05T19:55:13.977769Z INFO property_map_server: Precomputing H3 cells at resolution 12 -2026-05-05T19:55:13.977779Z INFO property_map_server::data::property: Precomputing H3 cells at resolution 12 -2026-05-05T19:55:14.463922Z INFO property_map_server::data::property: H3 precomputation complete (14525100 cells) -2026-05-05T19:55:14.463975Z INFO property_map_server: Loading POI data from /app/data/filtered_uk_pois.parquet -2026-05-05T19:55:14.463992Z INFO property_map_server::data::poi: Loading POI data from "/app/data/filtered_uk_pois.parquet"... -2026-05-05T19:55:14.513322Z INFO property_map_server::data::poi: Loaded 567534 POIs -2026-05-05T19:55:14.664903Z INFO property_map_server::data::poi: POI string columns interned category_unique=94 group_unique=11 emoji_unique=71 -2026-05-05T19:55:14.666269Z INFO property_map_server::data::poi: POI data loading complete. -2026-05-05T19:55:14.711808Z INFO property_map_server: Allocator trim label="poi data load" trimmed=true rss_before_mib=3785.0 rss_after_mib=3595.5 released_mib=189.5 -2026-05-05T19:55:14.711818Z INFO property_map_server: POI data loaded pois=567534 -2026-05-05T19:55:14.711820Z INFO property_map_server: Building POI spatial grid index -2026-05-05T19:55:14.718781Z INFO property_map_server: Loading place data from /app/data/places.parquet -2026-05-05T19:55:14.718792Z INFO property_map_server::data::places: Loading place data from "/app/data/places.parquet"... -2026-05-05T19:55:14.720049Z INFO property_map_server::data::places: Loaded 3474 places -2026-05-05T19:55:14.723219Z INFO property_map_server::data::places: Place data loaded places=3474 types=2 with_population=71 with_city=3392 -2026-05-05T19:55:14.726418Z INFO property_map_server: Allocator trim label="place data load" trimmed=true rss_before_mib=3605.2 rss_after_mib=3600.7 released_mib=4.5 -2026-05-05T19:55:14.726425Z INFO property_map_server: Place data loaded places=3474 -2026-05-05T19:55:14.726432Z INFO property_map_server: Loading postcode boundaries from /app/data/postcode_boundaries -2026-05-05T19:55:14.726435Z INFO property_map_server::data::postcodes: Loading postcode boundaries from "/app/data/postcode_boundaries" -2026-05-05T19:55:14.731438Z INFO property_map_server::data::postcodes: Found GeoJSON files to process files=2361 -2026-05-05T19:55:22.382405Z INFO property_map_server::data::postcodes: Postcode boundary data ready postcodes=1490140 -2026-05-05T19:55:22.710818Z INFO property_map_server: Allocator trim label="postcode boundary load" trimmed=true rss_before_mib=10923.1 rss_after_mib=10720.7 released_mib=202.4 -2026-05-05T19:55:22.710829Z INFO property_map_server: Postcode boundaries loaded postcodes=1490140 -2026-05-05T19:55:22.849699Z INFO property_map_server::data::postcodes: Outcode data derived from postcodes outcodes=2361 -2026-05-05T19:55:22.849751Z INFO property_map_server: Loading PMTiles from /app/data/uk.pmtiles -2026-05-05T19:55:22.876168Z INFO property_map_server: PMTiles loaded successfully -2026-05-05T19:55:22.913445Z INFO property_map_server: No --dist provided; static serving disabled -2026-05-05T19:55:22.967129Z INFO property_map_server: Screenshot service configured: http://screenshot:8002 -2026-05-05T19:55:22.967274Z INFO property_map_server: Precomputed features response groups=8 -2026-05-05T19:55:22.967286Z INFO property_map_server: PocketBase configured: http://pocketbase:8090 -2026-05-05T19:55:23.153579Z INFO property_map_server::pocketbase: PocketBase users collection already has all required fields -2026-05-05T19:55:23.162358Z INFO property_map_server::pocketbase: PocketBase collection 'saved_searches' API rules updated -2026-05-05T19:55:23.165401Z INFO property_map_server::pocketbase: PocketBase collection 'saved_properties' API rules updated -2026-05-05T19:55:36.306270Z INFO property_map_server::pocketbase: PocketBase meta.appURL set to https://perfect-postcodes.co.uk/pb -2026-05-05T19:55:36.337098Z INFO property_map_server::pocketbase: PocketBase OAuth configured on users collection -2026-05-05T19:55:36.337128Z INFO property_map_server: Gemini configured (model: gemini-3-flash-preview) -2026-05-05T19:55:36.337142Z INFO property_map_server: Loading travel time data from /app/data/travel-times -2026-05-05T19:55:36.400571Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="bicycle" destinations=2753 -2026-05-05T19:55:36.439048Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="walking" destinations=2753 -2026-05-05T19:55:36.474609Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="car" destinations=2753 -2026-05-05T19:55:36.531076Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="transit" destinations=2752 -2026-05-05T19:55:36.531110Z INFO property_map_server: Travel time store loaded modes=4 -2026-05-05T19:55:36.531172Z INFO property_map_server: Precomputed AI filters system prompt -2026-05-05T19:56:25.012256Z INFO property_map_server: All memory pages locked (mlockall) -2026-05-05T19:56:25.012294Z INFO property_map_server: Server listening on 0.0.0.0:8001 -2026-05-05T19:56:25.911103Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T19:56:26.837574Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T19:56:26.837580Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T19:56:26.837587Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T19:56:26.837591Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T19:56:26.856712Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T19:56:26.857903Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T19:56:35.166058Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T19:56:35.222599Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T19:56:38.241884Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T19:56:38.242667Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T19:56:38.426677Z INFO property_map_server::routes::postcodes: GET /api/postcode/M44DH postcode=M4 4DH -2026-05-05T19:56:38.483086Z INFO property_map_server::routes::postcode_stats: GET /api/postcode-stats postcode=M4 4DH total_count=42 filters=0 filters_raw="-" ms=0.2 -2026-05-05T19:56:38.770310Z INFO property_map_server::routes::postcodes: GET /api/postcode/M4 4DH postcode=M4 4DH -2026-05-05T19:56:39.450079Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=881951b74bfffff resolution=8 total_count=2958 filters=0 filters_raw="-" ms=1.1 -2026-05-05T19:56:40.042872Z INFO property_map_server::routes::postcodes: GET /api/postcode/M4 4DH postcode=M4 4DH -2026-05-05T19:56:40.687355Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b74a7ffff resolution=9 total_count=1161 filters=0 filters_raw="-" ms=0.7 -2026-05-05T19:56:40.694972Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=5382 cells_after_filter=5346 truncated=false bounds=53.3675,-2.4548,53.5912,-2.0354 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=18.3 json_ms=3.6 total_ms=21.9 -2026-05-05T19:57:17.574962Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T19:57:18.878222Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T19:57:18.878263Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T19:57:18.912704Z INFO property_map_server::routes::postcodes: GET /api/postcode/M44DH postcode=M4 4DH -2026-05-05T19:57:18.934093Z INFO property_map_server::routes::postcode_stats: GET /api/postcode-stats postcode=M4 4DH total_count=42 filters=0 filters_raw="-" ms=0.2 -2026-05-05T19:57:18.945756Z INFO property_map_server::routes::postcodes: GET /api/postcode/M4 4DH postcode=M4 4DH -2026-05-05T19:57:18.953586Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=881951b74bfffff resolution=8 total_count=2958 filters=0 filters_raw="-" ms=1.2 -2026-05-05T19:57:19.361626Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b74a3ffff resolution=9 total_count=1241 filters=0 filters_raw="-" ms=0.5 -2026-05-05T19:57:19.802985Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=5382 cells_after_filter=5346 truncated=false bounds=53.3675,-2.4548,53.5912,-2.0354 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=15.4 json_ms=3.5 total_ms=18.9 -2026-05-05T19:58:17.583489Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.9 -2026-05-05T19:58:17.610272Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.4 -2026-05-05T19:58:17.644392Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b74a3ffff resolution=9 total_count=310 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=0.3 -2026-05-05T19:58:17.863838Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.4548,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=2.8 json_ms=0.1 total_ms=2.9 -2026-05-05T19:58:24.616806Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=5.0 json_ms=0.1 total_ms=5.2 -2026-05-05T19:58:24.645320Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=5 travel=1 total=20439 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=19.2 -2026-05-05T19:58:38.573842Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=2156 cells_after_filter=2155 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=11.7 json_ms=2.3 total_ms=14.1 -2026-05-05T19:58:38.771600Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=5.2 json_ms=0.1 total_ms=5.3 -2026-05-05T19:58:42.338768Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=59 cells_after_filter=59 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=5.9 json_ms=0.1 total_ms=6.0 -2026-05-05T19:58:42.692256Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=5 travel=1 total=12434 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=23.2 -2026-05-05T20:01:41.237828Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=83099 parallel=true cells_before_filter=312 cells_after_filter=300 truncated=false bounds=51.4958,-0.1756,51.5342,-0.0844 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.2 json_ms=0.2 total_ms=1.4 -2026-05-05T20:01:44.002496Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=83099 parallel=true cells_before_filter=312 cells_after_filter=300 truncated=false bounds=51.4958,-0.1756,51.5342,-0.0844 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.0 json_ms=0.2 total_ms=1.1 -2026-05-05T20:01:48.778793Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:01:51.922257Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:01:51.923633Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:01:51.951108Z INFO property_map_server::routes::postcodes: GET /api/postcode/M44DH postcode=M4 4DH -2026-05-05T20:01:51.977296Z INFO property_map_server::routes::postcode_stats: GET /api/postcode-stats postcode=M4 4DH total_count=42 filters=0 filters_raw="-" ms=0.2 -2026-05-05T20:01:51.988331Z INFO property_map_server::routes::postcodes: GET /api/postcode/M4 4DH postcode=M4 4DH -2026-05-05T20:01:52.059095Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=881951b74bfffff resolution=8 total_count=2958 filters=0 filters_raw="-" ms=1.0 -2026-05-05T20:01:52.926308Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b74a3ffff resolution=9 total_count=1241 filters=0 filters_raw="-" ms=0.9 -2026-05-05T20:01:53.512725Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=5382 cells_after_filter=5346 truncated=false bounds=53.3675,-2.4548,53.5912,-2.0354 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=6.8 json_ms=3.5 total_ms=10.2 -2026-05-05T20:01:57.101258Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89195da4983ffff resolution=9 total_count=229 filters=0 filters_raw="-" ms=0.2 -2026-05-05T20:01:57.466143Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=64311 parallel=true cells_before_filter=249 cells_after_filter=229 truncated=false bounds=51.4958,-0.1632,51.5342,-0.0968 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.0 json_ms=0.2 total_ms=1.2 -2026-05-05T20:02:01.279318Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=88195da499fffff resolution=8 total_count=1870 filters=0 filters_raw="-" ms=0.8 -2026-05-05T20:02:01.739305Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=8 rows=2249145 parallel=true cells_before_filter=3289 cells_after_filter=3289 truncated=false bounds=51.2567,-0.5915,51.6719,0.1249 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=13.2 json_ms=1.7 total_ms=14.9 -2026-05-05T20:02:05.766850Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=8 rows=2249145 parallel=true cells_before_filter=3289 cells_after_filter=3289 truncated=false bounds=51.2567,-0.5915,51.6719,0.1249 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=687.2 json_ms=2.7 total_ms=689.9 -2026-05-05T20:02:06.583210Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87195da49ffffff resolution=7 total_count=7707 filters=0 filters_raw="-" ms=5.1 -2026-05-05T20:02:07.513170Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=86195da4fffffff resolution=6 total_count=94429 filters=0 filters_raw="-" ms=42.7 -2026-05-05T20:02:08.080001Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=7 rows=4615165 parallel=true cells_before_filter=3935 cells_after_filter=3935 truncated=false bounds=50.8093,-1.0633,52.0025,0.9931 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.1 agg_ms=1114.5 json_ms=3.6 total_ms=1118.2 -2026-05-05T20:02:08.154925Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=6 rows=9443584 parallel=true cells_before_filter=2225 cells_after_filter=2225 truncated=false bounds=49.3221,-2.5995,53.0621,3.8204 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.3 agg_ms=109.8 json_ms=1.9 total_ms=112.0 -2026-05-05T20:02:09.155147Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=85195da7fffffff resolution=5 total_count=374414 filters=0 filters_raw="-" ms=154.5 -2026-05-05T20:02:10.627618Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=5 rows=14203915 parallel=true cells_before_filter=645 cells_after_filter=645 truncated=false bounds=48.5258,-5.0935,54.9424,6.0689 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.6 agg_ms=1294.1 json_ms=0.8 total_ms=1295.6 -2026-05-05T20:02:10.708643Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=5 rows=14494643 parallel=true cells_before_filter=666 cells_after_filter=666 truncated=false bounds=48.7935,-5.7382,55.1745,5.4242 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.6 agg_ms=533.5 json_ms=0.6 total_ms=534.7 -2026-05-05T20:02:11.245694Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=5 rows=14494643 parallel=true cells_before_filter=666 cells_after_filter=666 truncated=false bounds=48.7935,-5.7382,55.1745,5.4242 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.6 agg_ms=63.3 json_ms=0.5 total_ms=64.4 -2026-05-05T20:02:11.883699Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=5 rows=14494643 parallel=true cells_before_filter=666 cells_after_filter=666 truncated=false bounds=48.7935,-5.7382,55.1745,5.4242 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.6 agg_ms=89.5 json_ms=0.5 total_ms=90.6 -2026-05-05T20:02:13.509980Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=5 rows=14525100 parallel=true cells_before_filter=684 cells_after_filter=684 truncated=false bounds=49.5946,-6.4304,55.8684,4.7320 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.8 agg_ms=105.7 json_ms=0.8 total_ms=107.3 -2026-05-05T20:02:14.597078Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=5 rows=14234496 parallel=true cells_before_filter=658 cells_after_filter=658 truncated=false bounds=50.5067,-6.8847,56.6573,4.2777 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.8 agg_ms=101.4 json_ms=0.6 total_ms=102.8 -2026-05-05T20:02:16.233311Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=86195da47ffffff resolution=6 total_count=42610 filters=0 filters_raw="-" ms=20.6 -2026-05-05T20:02:16.689729Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=6 rows=11353367 parallel=true cells_before_filter=2787 cells_after_filter=2787 truncated=false bounds=50.9121,-3.1262,53.7294,1.8308 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.3 agg_ms=110.8 json_ms=3.4 total_ms=114.5 -2026-05-05T20:02:17.398073Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=861943707ffffff resolution=6 total_count=1582 filters=0 filters_raw="-" ms=0.6 -2026-05-05T20:02:18.175173Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=86194355fffffff resolution=6 total_count=441 filters=0 filters_raw="-" ms=0.3 -2026-05-05T20:02:18.915973Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=861943197ffffff resolution=6 total_count=595 filters=0 filters_raw="-" ms=0.5 -2026-05-05T20:02:19.346768Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=8619436afffffff resolution=6 total_count=335 filters=0 filters_raw="-" ms=0.2 -2026-05-05T20:02:20.232243Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=86195d437ffffff resolution=6 total_count=1273 filters=0 filters_raw="-" ms=0.9 -2026-05-05T20:02:20.504068Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=85195d43fffffff resolution=5 total_count=6321 filters=0 filters_raw="-" ms=2.3 -2026-05-05T20:02:20.674784Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=86195d407ffffff resolution=6 total_count=306 filters=0 filters_raw="-" ms=0.3 -2026-05-05T20:02:20.790603Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87195d400ffffff resolution=7 total_count=8 filters=0 filters_raw="-" ms=0.1 -2026-05-05T20:02:20.828434Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89195d40003ffff resolution=9 total_count=0 filters=0 filters_raw="-" ms=0.0 -2026-05-05T20:02:20.975480Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=3629 parallel=false cells_before_filter=143 cells_after_filter=141 truncated=false bounds=51.9179,-1.6406,52.0073,-1.4846 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=0.3 json_ms=0.1 total_ms=0.4 -2026-05-05T20:02:21.699130Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=88195d4001fffff resolution=8 total_count=0 filters=0 filters_raw="-" ms=0.0 -2026-05-05T20:02:21.913212Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=8 rows=47468 parallel=false cells_before_filter=747 cells_after_filter=747 truncated=false bounds=51.8449,-1.7494,52.1358,-1.2417 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=3.2 json_ms=0.9 total_ms=4.1 -2026-05-05T20:02:23.991605Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=8 rows=60525 parallel=true cells_before_filter=982 cells_after_filter=982 truncated=false bounds=51.8252,-1.7774,52.1689,-1.1773 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=1.4 json_ms=0.7 total_ms=2.2 -2026-05-05T20:02:25.513590Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=8 rows=60525 parallel=true cells_before_filter=982 cells_after_filter=982 truncated=false bounds=51.8252,-1.7774,52.1689,-1.1773 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=1.7 json_ms=0.7 total_ms=2.4 -2026-05-05T20:02:26.131710Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=8 rows=60525 parallel=true cells_before_filter=982 cells_after_filter=982 truncated=false bounds=51.8252,-1.7774,52.1689,-1.1773 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=3.1 json_ms=1.0 total_ms=4.2 -2026-05-05T20:02:27.870494Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=8 rows=60525 parallel=true cells_before_filter=982 cells_after_filter=982 truncated=false bounds=51.8252,-1.7774,52.1689,-1.1773 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=1.7 json_ms=0.8 total_ms=2.5 -2026-05-05T20:02:28.581108Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87195d400ffffff resolution=7 total_count=8 filters=0 filters_raw="-" ms=0.1 -2026-05-05T20:02:28.634795Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=86195d407ffffff resolution=6 total_count=306 filters=0 filters_raw="-" ms=0.2 -2026-05-05T20:02:28.685607Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=85195d43fffffff resolution=5 total_count=6321 filters=0 filters_raw="-" ms=3.9 -2026-05-05T20:02:28.997862Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=5 rows=14525100 parallel=true cells_before_filter=684 cells_after_filter=684 truncated=false bounds=46.7634,-12.9287,58.7728,8.5857 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.9 agg_ms=125.7 json_ms=0.6 total_ms=127.2 -2026-05-05T20:02:31.137822Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=5 rows=14525100 parallel=true cells_before_filter=684 cells_after_filter=684 truncated=false bounds=46.7634,-12.9287,58.7728,8.5857 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.9 agg_ms=68.5 json_ms=0.4 total_ms=69.7 -2026-05-05T20:02:31.723713Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=5 rows=14525100 parallel=true cells_before_filter=684 cells_after_filter=684 truncated=false bounds=46.7634,-12.9287,58.7728,8.5857 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.8 agg_ms=104.8 json_ms=0.5 total_ms=106.1 -2026-05-05T20:02:34.117210Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=5 rows=14525100 parallel=true cells_before_filter=684 cells_after_filter=684 truncated=false bounds=46.7634,-12.9287,58.7728,8.5857 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.9 agg_ms=99.5 json_ms=0.6 total_ms=100.9 -2026-05-05T20:02:37.949873Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=5 rows=14525100 parallel=true cells_before_filter=684 cells_after_filter=684 truncated=false bounds=46.7634,-12.9287,58.7728,8.5857 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.9 agg_ms=119.3 json_ms=0.7 total_ms=120.9 -2026-05-05T20:02:38.738932Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=2.0 -2026-05-05T20:02:38.767762Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b74a3ffff resolution=9 total_count=310 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=0.3 -2026-05-05T20:02:38.768903Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.5 -2026-05-05T20:02:39.854295Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=5 rows=14525100 parallel=true cells_before_filter=684 cells_after_filter=684 truncated=false bounds=46.7634,-12.9287,58.7728,8.5857 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.9 agg_ms=97.9 json_ms=0.7 total_ms=99.4 -2026-05-05T20:02:42.330127Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=5 rows=14525100 parallel=true cells_before_filter=684 cells_after_filter=684 truncated=false bounds=46.7634,-12.9287,58.7728,8.5857 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.9 agg_ms=104.6 json_ms=0.5 total_ms=106.0 -2026-05-05T20:02:43.611493Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=5 rows=14525100 parallel=true cells_before_filter=684 cells_after_filter=684 truncated=false bounds=46.7634,-12.9287,58.7728,8.5857 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.8 agg_ms=107.0 json_ms=0.6 total_ms=108.4 -2026-05-05T20:02:44.862715Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.4548,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=5.3 json_ms=0.1 total_ms=5.5 -2026-05-05T20:02:44.882026Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=5 travel=1 total=20439 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=24.8 -2026-05-05T20:02:45.155318Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=3.8 json_ms=0.1 total_ms=4.0 -2026-05-05T20:02:45.800770Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:02:45.803931Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:02:45.807748Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:02:45.807820Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:02:45.815685Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=5 rows=14525100 parallel=true cells_before_filter=684 cells_after_filter=684 truncated=false bounds=46.7634,-12.9287,58.7728,8.5857 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.8 agg_ms=108.5 json_ms=0.9 total_ms=110.1 -2026-05-05T20:02:45.816812Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:02:45.817079Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:02:45.819918Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:02:45.821365Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:02:46.067209Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=5 rows=14525100 parallel=true cells_before_filter=684 cells_after_filter=684 truncated=false bounds=46.7634,-12.9287,58.7728,8.5857 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.9 agg_ms=112.1 json_ms=0.9 total_ms=113.9 -2026-05-05T20:02:46.481959Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=5 travel=1 total=20439 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=23.8 -2026-05-05T20:02:46.997427Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=5 rows=14525100 parallel=true cells_before_filter=684 cells_after_filter=684 truncated=false bounds=46.7634,-12.9287,58.7728,8.5857 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.9 agg_ms=100.5 json_ms=0.7 total_ms=102.1 -2026-05-05T20:02:57.590087Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=2156 cells_after_filter=2155 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=6.5 json_ms=1.6 total_ms=8.1 -2026-05-05T20:02:59.324966Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=3.1 json_ms=0.2 total_ms=3.2 -2026-05-05T20:03:04.730989Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=59 cells_after_filter=59 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=2.2 json_ms=0.1 total_ms=2.2 -2026-05-05T20:03:04.763158Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=5 travel=1 total=12434 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=18.2 -2026-05-05T20:03:55.296507Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=85195d43fffffff resolution=5 total_count=6229 filters=1 filters_raw="Distance to nearest train or tube station (km):0.0020679887:12.558293" ms=2.3 -2026-05-05T20:03:55.549893Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=5 rows=14525100 parallel=true cells_before_filter=569 cells_after_filter=569 truncated=false bounds=46.7634,-12.9287,58.7728,8.5857 filters=1 filters_raw="Distance to nearest train or tube station (km):0.0020679887:12.558293" fields=1 travel_entries=0 grid_ms=0.8 agg_ms=96.0 json_ms=0.6 total_ms=97.4 -2026-05-05T20:03:55.932802Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="car" results=2752 ms=1.3 -2026-05-05T20:03:56.058734Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=14525100 filters=1 travel=0 total=12950253 filters_raw="Distance to nearest train or tube station (km):0.0020679887:12.558293" ms=360.4 -2026-05-05T20:03:56.176783Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="car" results=2752 ms=1.4 -2026-05-05T20:03:56.350730Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="car" results=2752 ms=1.3 -2026-05-05T20:03:56.527808Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="car" results=2752 ms=1.4 -2026-05-05T20:03:56.702958Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="car" results=2752 ms=1.2 -2026-05-05T20:03:56.883589Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="car" results=2752 ms=1.3 -2026-05-05T20:03:57.068104Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="car" results=2752 ms=1.2 -2026-05-05T20:03:57.272502Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="car" results=2752 ms=1.3 -2026-05-05T20:03:57.473352Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="car" results=2752 ms=1.3 -2026-05-05T20:03:58.175212Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=14525100 filters=1 travel=0 total=12950253 filters_raw="Distance to nearest train or tube station (km):0.0020679887:12.558293" ms=301.0 -2026-05-05T20:04:00.501245Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=5 rows=14525100 parallel=true cells_before_filter=569 cells_after_filter=569 truncated=false bounds=46.7634,-12.9774,58.7728,8.5371 filters=1 filters_raw="Distance to nearest train or tube station (km):0.0020679887:12.558293" fields=1 travel_entries=0 grid_ms=0.7 agg_ms=92.0 json_ms=0.5 total_ms=93.2 -2026-05-05T20:04:00.957261Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=14525100 filters=1 travel=0 total=12950253 filters_raw="Distance to nearest train or tube station (km):0.0020679887:12.558293" ms=308.3 -2026-05-05T20:04:01.139972Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=5 rows=14525100 parallel=true cells_before_filter=569 cells_after_filter=569 truncated=false bounds=47.1564,-12.3882,58.4729,7.8882 filters=1 filters_raw="Distance to nearest train or tube station (km):0.0020679887:12.558293" fields=1 travel_entries=0 grid_ms=0.7 agg_ms=95.3 json_ms=0.5 total_ms=96.5 -2026-05-05T20:04:01.648965Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=14525100 filters=1 travel=0 total=12950253 filters_raw="Distance to nearest train or tube station (km):0.0020679887:12.558293" ms=349.0 -2026-05-05T20:04:01.712226Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=5 rows=14525100 parallel=true cells_before_filter=569 cells_after_filter=569 truncated=false bounds=47.1564,-12.0387,58.4729,7.5387 filters=1 filters_raw="Distance to nearest train or tube station (km):0.0020679887:12.558293" fields=1 travel_entries=0 grid_ms=0.7 agg_ms=94.0 json_ms=0.5 total_ms=95.2 -2026-05-05T20:04:02.187029Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=14525100 filters=1 travel=0 total=12950253 filters_raw="Distance to nearest train or tube station (km):0.0020679887:12.558293" ms=321.5 -2026-05-05T20:04:04.123039Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=5 rows=14525100 parallel=true cells_before_filter=569 cells_after_filter=569 truncated=false bounds=47.1564,-8.6076,58.4729,4.1076 filters=1 filters_raw="Distance to nearest train or tube station (km):0.0020679887:12.558293" fields=1 travel_entries=0 grid_ms=0.7 agg_ms=87.8 json_ms=0.4 total_ms=89.0 -2026-05-05T20:04:04.636095Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=14525100 filters=1 travel=0 total=12950253 filters_raw="Distance to nearest train or tube station (km):0.0020679887:12.558293" ms=300.5 -2026-05-05T20:04:05.494659Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=5 rows=14525100 parallel=true cells_before_filter=569 cells_after_filter=569 truncated=false bounds=47.1564,-12.2359,58.4729,7.7359 filters=1 filters_raw="Distance to nearest train or tube station (km):0.0020679887:12.558293" fields=1 travel_entries=0 grid_ms=0.7 agg_ms=89.6 json_ms=0.5 total_ms=90.8 -2026-05-05T20:04:05.921636Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=14525100 filters=1 travel=0 total=12950253 filters_raw="Distance to nearest train or tube station (km):0.0020679887:12.558293" ms=311.8 -2026-05-05T20:04:26.341380Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="car" results=2752 ms=1.3 -2026-05-05T20:04:26.363373Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="car" results=2752 ms=1.5 -2026-05-05T20:04:26.381257Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="car" results=2752 ms=1.3 -2026-05-05T20:04:26.401093Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="car" results=2752 ms=1.3 -2026-05-05T20:04:26.417334Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="car" results=2752 ms=1.3 -2026-05-05T20:04:26.434941Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="car" results=2752 ms=1.2 -2026-05-05T20:04:26.453414Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="car" results=2752 ms=1.3 -2026-05-05T20:04:26.473165Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="car" results=2752 ms=1.3 -2026-05-05T20:04:26.490843Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="car" results=2752 ms=1.2 -2026-05-05T20:04:29.883244Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=5 rows=14525100 parallel=true cells_before_filter=214 cells_after_filter=214 truncated=false bounds=45.2547,-10.1137,57.0062,9.8582 filters=1 filters_raw="Distance to nearest train or tube station (km):0.0020679887:12.558293" fields=1 travel_entries=1 grid_ms=107.3 agg_ms=84.0 json_ms=0.2 total_ms=191.6 -2026-05-05T20:04:30.564447Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=14525100 filters=2 travel=1 total=6259436 filters_raw="Distance to nearest train or tube station (km):0.0020679887:12.558293" ms=620.7 -2026-05-05T20:04:32.976451Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=5 rows=14525100 parallel=true cells_before_filter=569 cells_after_filter=569 truncated=false bounds=45.2547,-10.1137,57.0062,9.8582 filters=1 filters_raw="Distance to nearest train or tube station (km):0.0020679887:12.558293" fields=1 travel_entries=0 grid_ms=0.7 agg_ms=81.3 json_ms=0.4 total_ms=82.4 -2026-05-05T20:04:34.368742Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=14525100 filters=1 travel=0 total=12950253 filters_raw="Distance to nearest train or tube station (km):0.0020679887:12.558293" ms=306.5 -2026-05-05T20:04:35.236735Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=14525100 filters=1 travel=0 total=12950253 filters_raw="Distance to nearest train or tube station (km):0.0020679887:12.558293" ms=291.3 -2026-05-05T20:04:35.817136Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=85195d43fffffff resolution=5 total_count=6321 filters=0 filters_raw="-" ms=2.3 -2026-05-05T20:04:36.069986Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=5 rows=14525100 parallel=true cells_before_filter=684 cells_after_filter=684 truncated=false bounds=45.2547,-10.1137,57.0062,9.8582 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.8 agg_ms=95.7 json_ms=0.5 total_ms=97.0 -2026-05-05T20:07:39.473683Z INFO property_map_server: Prometheus metrics initialized -2026-05-05T20:07:39.473837Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet -2026-05-05T20:07:39.473849Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet" -2026-05-05T20:07:39.572245Z INFO property_map_server::data::property: Postcode features loaded rows=1263786 -2026-05-05T20:07:39.572255Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet" -2026-05-05T20:07:42.221156Z INFO property_map_server::data::property: Properties joined with postcodes rows=15268176 -2026-05-05T20:07:42.221192Z INFO property_map_server::data::property: Feature columns from config numeric=63 enums=6 total=69 -2026-05-05T20:07:45.018413Z WARN property_map_server::data::property: Dropped properties with missing postcode coordinates rows=743076 -2026-05-05T20:07:45.018423Z INFO property_map_server::data::property: Combined data selected rows=14525100 -2026-05-05T20:07:45.142412Z INFO property_map_server::data::property: Extracting numeric feature columns -2026-05-05T20:07:45.491569Z INFO property_map_server::data::property: Computing histograms for numeric features -2026-05-05T20:07:46.789581Z INFO property_map_server::data::property: Extracting string columns -2026-05-05T20:07:48.077605Z INFO property_map_server::data::property: Building enum features -2026-05-05T20:07:49.527831Z INFO property_map_server::data::property: Extracting renovation history -2026-05-05T20:07:51.536088Z INFO property_map_server::data::property: Renovation history extracted properties_with_events=1741939 -2026-05-05T20:07:51.536096Z INFO property_map_server::data::property: Sorting rows by spatial locality -2026-05-05T20:07:52.408914Z INFO property_map_server::data::property: Building interned strings -2026-05-05T20:08:23.224627Z INFO property_map_server: Prometheus metrics initialized -2026-05-05T20:08:23.224760Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet -2026-05-05T20:08:23.224768Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet" -2026-05-05T20:08:23.292654Z INFO property_map_server::data::property: Postcode features loaded rows=1263786 -2026-05-05T20:08:23.292665Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet" -2026-05-05T20:08:32.890187Z INFO property_map_server: Prometheus metrics initialized -2026-05-05T20:08:32.890340Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet -2026-05-05T20:08:32.890351Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet" -2026-05-05T20:08:32.961142Z INFO property_map_server::data::property: Postcode features loaded rows=1263786 -2026-05-05T20:08:32.961151Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet" -2026-05-05T20:08:35.902413Z INFO property_map_server::data::property: Properties joined with postcodes rows=15268176 -2026-05-05T20:08:35.902448Z INFO property_map_server::data::property: Feature columns from config numeric=63 enums=6 total=69 -2026-05-05T20:08:39.897264Z WARN property_map_server::data::property: Dropped properties with missing postcode coordinates rows=743076 -2026-05-05T20:08:39.897273Z INFO property_map_server::data::property: Combined data selected rows=14525100 -2026-05-05T20:08:40.024784Z INFO property_map_server::data::property: Extracting numeric feature columns -2026-05-05T20:08:40.381571Z INFO property_map_server::data::property: Computing histograms for numeric features -2026-05-05T20:08:41.565708Z INFO property_map_server::data::property: Extracting string columns -2026-05-05T20:08:42.883802Z INFO property_map_server::data::property: Building enum features -2026-05-05T20:08:44.056743Z INFO property_map_server::data::property: Extracting renovation history -2026-05-05T20:08:46.245468Z INFO property_map_server::data::property: Renovation history extracted properties_with_events=1741939 -2026-05-05T20:08:46.245476Z INFO property_map_server::data::property: Sorting rows by spatial locality -2026-05-05T20:08:47.157191Z INFO property_map_server::data::property: Building interned strings -2026-05-05T20:08:54.478329Z INFO property_map_server::data::property: Address search index built tokens=179878 pruned_tokens=0 postings=19451521 -2026-05-05T20:08:59.472455Z INFO property_map_server::data::property: Transposing to row-major layout (spatially sorted, quantized to u16) -2026-05-05T20:09:09.976025Z INFO property_map_server::data::property: Data loading complete -2026-05-05T20:09:11.692553Z INFO property_map_server: Allocator trim label="property data load" trimmed=true rss_before_mib=12370.0 rss_after_mib=3504.4 released_mib=8865.6 -2026-05-05T20:09:11.692564Z INFO property_map_server: Property data loaded rows=14525100 features=69 enums=6 -2026-05-05T20:09:11.692567Z INFO property_map_server: Building spatial grid index (0.01° cells) -2026-05-05T20:09:11.812695Z INFO property_map_server: Precomputing H3 cells at resolution 12 -2026-05-05T20:09:11.812705Z INFO property_map_server::data::property: Precomputing H3 cells at resolution 12 -2026-05-05T20:09:12.247117Z INFO property_map_server::data::property: H3 precomputation complete (14525100 cells) -2026-05-05T20:09:12.247187Z INFO property_map_server: Loading POI data from /app/data/filtered_uk_pois.parquet -2026-05-05T20:09:12.247241Z INFO property_map_server::data::poi: Loading POI data from "/app/data/filtered_uk_pois.parquet"... -2026-05-05T20:09:12.315245Z INFO property_map_server::data::poi: Loaded 567534 POIs -2026-05-05T20:09:12.461375Z INFO property_map_server::data::poi: POI string columns interned category_unique=94 group_unique=11 emoji_unique=71 -2026-05-05T20:09:12.462462Z INFO property_map_server::data::poi: POI data loading complete. -2026-05-05T20:09:12.509257Z INFO property_map_server: Allocator trim label="poi data load" trimmed=true rss_before_mib=3910.9 rss_after_mib=3721.7 released_mib=189.2 -2026-05-05T20:09:12.509268Z INFO property_map_server: POI data loaded pois=567534 -2026-05-05T20:09:12.509271Z INFO property_map_server: Building POI spatial grid index -2026-05-05T20:09:12.516691Z INFO property_map_server: Loading place data from /app/data/places.parquet -2026-05-05T20:09:12.516702Z INFO property_map_server::data::places: Loading place data from "/app/data/places.parquet"... -2026-05-05T20:09:12.546187Z INFO property_map_server::data::places: Loaded 3474 places -2026-05-05T20:09:12.549778Z INFO property_map_server::data::places: Place data loaded places=3474 types=2 with_population=71 with_city=3392 -2026-05-05T20:09:12.553448Z INFO property_map_server: Allocator trim label="place data load" trimmed=true rss_before_mib=3731.3 rss_after_mib=3726.9 released_mib=4.4 -2026-05-05T20:09:12.553456Z INFO property_map_server: Place data loaded places=3474 -2026-05-05T20:09:12.553465Z INFO property_map_server: Loading postcode boundaries from /app/data/postcode_boundaries -2026-05-05T20:09:12.553469Z INFO property_map_server::data::postcodes: Loading postcode boundaries from "/app/data/postcode_boundaries" -2026-05-05T20:09:12.581449Z INFO property_map_server::data::postcodes: Found GeoJSON files to process files=2361 -2026-05-05T20:09:21.696203Z INFO property_map_server::data::postcodes: Postcode boundary data ready postcodes=1490140 -2026-05-05T20:09:22.045139Z INFO property_map_server: Allocator trim label="postcode boundary load" trimmed=true rss_before_mib=11058.8 rss_after_mib=10861.2 released_mib=197.6 -2026-05-05T20:09:22.045151Z INFO property_map_server: Postcode boundaries loaded postcodes=1490140 -2026-05-05T20:09:22.197919Z INFO property_map_server::data::postcodes: Outcode data derived from postcodes outcodes=2361 -2026-05-05T20:09:22.197974Z INFO property_map_server: Loading PMTiles from /app/data/uk.pmtiles -2026-05-05T20:09:22.198197Z INFO property_map_server: PMTiles loaded successfully -2026-05-05T20:09:22.234568Z INFO property_map_server: No --dist provided; static serving disabled -2026-05-05T20:09:22.275413Z INFO property_map_server: Screenshot service configured: http://screenshot:8002 -2026-05-05T20:09:22.275769Z INFO property_map_server: Precomputed features response groups=8 -2026-05-05T20:09:22.275787Z INFO property_map_server: PocketBase configured: http://pocketbase:8090 -2026-05-05T20:09:22.395627Z INFO property_map_server::pocketbase: PocketBase users collection already has all required fields -2026-05-05T20:09:22.460167Z INFO property_map_server::pocketbase: PocketBase collection 'saved_searches' API rules updated -2026-05-05T20:09:22.472431Z INFO property_map_server::pocketbase: PocketBase collection 'saved_properties' API rules updated -2026-05-05T20:09:26.138144Z INFO property_map_server: Prometheus metrics initialized -2026-05-05T20:09:26.138338Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet -2026-05-05T20:09:26.138350Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet" -2026-05-05T20:09:26.243364Z INFO property_map_server::data::property: Postcode features loaded rows=1263786 -2026-05-05T20:09:26.243375Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet" -2026-05-05T20:09:29.310035Z INFO property_map_server::data::property: Properties joined with postcodes rows=15268176 -2026-05-05T20:09:29.310068Z INFO property_map_server::data::property: Feature columns from config numeric=63 enums=6 total=69 -2026-05-05T20:09:33.614228Z INFO property_map_server: Prometheus metrics initialized -2026-05-05T20:09:33.614405Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet -2026-05-05T20:09:33.614422Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet" -2026-05-05T20:09:33.690731Z INFO property_map_server::data::property: Postcode features loaded rows=1263786 -2026-05-05T20:09:33.690743Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet" -2026-05-05T20:09:36.705032Z INFO property_map_server::data::property: Properties joined with postcodes rows=15268176 -2026-05-05T20:09:36.705081Z INFO property_map_server::data::property: Feature columns from config numeric=63 enums=6 total=69 -2026-05-05T20:09:39.692420Z WARN property_map_server::data::property: Dropped properties with missing postcode coordinates rows=743076 -2026-05-05T20:09:39.692429Z INFO property_map_server::data::property: Combined data selected rows=14525100 -2026-05-05T20:09:39.821835Z INFO property_map_server::data::property: Extracting numeric feature columns -2026-05-05T20:09:40.182936Z INFO property_map_server::data::property: Computing histograms for numeric features -2026-05-05T20:09:41.394286Z INFO property_map_server::data::property: Extracting string columns -2026-05-05T20:09:52.726552Z INFO property_map_server: Prometheus metrics initialized -2026-05-05T20:09:52.726723Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet -2026-05-05T20:09:52.726738Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet" -2026-05-05T20:09:52.794615Z INFO property_map_server::data::property: Postcode features loaded rows=1263786 -2026-05-05T20:09:52.794625Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet" -2026-05-05T20:09:55.397564Z INFO property_map_server::data::property: Properties joined with postcodes rows=15268176 -2026-05-05T20:09:55.397601Z INFO property_map_server::data::property: Feature columns from config numeric=63 enums=6 total=69 -2026-05-05T20:09:58.997158Z WARN property_map_server::data::property: Dropped properties with missing postcode coordinates rows=743076 -2026-05-05T20:09:58.997166Z INFO property_map_server::data::property: Combined data selected rows=14525100 -2026-05-05T20:09:59.124772Z INFO property_map_server::data::property: Extracting numeric feature columns -2026-05-05T20:09:59.503456Z INFO property_map_server::data::property: Computing histograms for numeric features -2026-05-05T20:10:00.755017Z INFO property_map_server::data::property: Extracting string columns -2026-05-05T20:10:02.086066Z INFO property_map_server::data::property: Building enum features -2026-05-05T20:10:03.238952Z INFO property_map_server::data::property: Extracting renovation history -2026-05-05T20:10:05.273057Z INFO property_map_server::data::property: Renovation history extracted properties_with_events=1741939 -2026-05-05T20:10:05.273065Z INFO property_map_server::data::property: Sorting rows by spatial locality -2026-05-05T20:10:06.170541Z INFO property_map_server::data::property: Building interned strings -2026-05-05T20:10:13.229634Z INFO property_map_server::data::property: Address search index built tokens=179878 pruned_tokens=0 postings=19451521 -2026-05-05T20:10:21.421561Z INFO property_map_server: Prometheus metrics initialized -2026-05-05T20:10:21.421740Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet -2026-05-05T20:10:21.421752Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet" -2026-05-05T20:10:21.520904Z INFO property_map_server::data::property: Postcode features loaded rows=1263786 -2026-05-05T20:10:21.520915Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet" -2026-05-05T20:10:24.039047Z INFO property_map_server::data::property: Properties joined with postcodes rows=15268176 -2026-05-05T20:10:24.039090Z INFO property_map_server::data::property: Feature columns from config numeric=63 enums=6 total=69 -2026-05-05T20:10:26.684699Z WARN property_map_server::data::property: Dropped properties with missing postcode coordinates rows=743076 -2026-05-05T20:10:26.684708Z INFO property_map_server::data::property: Combined data selected rows=14525100 -2026-05-05T20:10:26.814865Z INFO property_map_server::data::property: Extracting numeric feature columns -2026-05-05T20:10:27.148275Z INFO property_map_server::data::property: Computing histograms for numeric features -2026-05-05T20:10:28.472162Z INFO property_map_server::data::property: Extracting string columns -2026-05-05T20:10:29.777257Z INFO property_map_server::data::property: Building enum features -2026-05-05T20:10:30.929626Z INFO property_map_server::data::property: Extracting renovation history -2026-05-05T20:10:33.016550Z INFO property_map_server::data::property: Renovation history extracted properties_with_events=1741939 -2026-05-05T20:10:33.016559Z INFO property_map_server::data::property: Sorting rows by spatial locality -2026-05-05T20:10:34.009597Z INFO property_map_server::data::property: Building interned strings -2026-05-05T20:10:41.858395Z INFO property_map_server::data::property: Address search index built tokens=179878 pruned_tokens=0 postings=19451521 -2026-05-05T20:10:48.295009Z INFO property_map_server::data::property: Transposing to row-major layout (spatially sorted, quantized to u16) -2026-05-05T20:10:51.090293Z INFO property_map_server::data::property: Data loading complete -2026-05-05T20:10:52.706275Z INFO property_map_server: Allocator trim label="property data load" trimmed=true rss_before_mib=13305.6 rss_after_mib=3683.3 released_mib=9622.3 -2026-05-05T20:10:52.706285Z INFO property_map_server: Property data loaded rows=14525100 features=69 enums=6 -2026-05-05T20:10:52.706288Z INFO property_map_server: Building spatial grid index (0.01° cells) -2026-05-05T20:10:52.809617Z INFO property_map_server: Precomputing H3 cells at resolution 12 -2026-05-05T20:10:52.809625Z INFO property_map_server::data::property: Precomputing H3 cells at resolution 12 -2026-05-05T20:10:53.181297Z INFO property_map_server::data::property: H3 precomputation complete (14525100 cells) -2026-05-05T20:10:53.181332Z INFO property_map_server: Loading POI data from /app/data/filtered_uk_pois.parquet -2026-05-05T20:10:53.181339Z INFO property_map_server::data::poi: Loading POI data from "/app/data/filtered_uk_pois.parquet"... -2026-05-05T20:10:53.204758Z INFO property_map_server::data::poi: Loaded 567534 POIs -2026-05-05T20:10:53.345542Z INFO property_map_server::data::poi: POI string columns interned category_unique=94 group_unique=11 emoji_unique=71 -2026-05-05T20:10:53.346662Z INFO property_map_server::data::poi: POI data loading complete. -2026-05-05T20:10:53.393750Z INFO property_map_server: Allocator trim label="poi data load" trimmed=true rss_before_mib=4042.2 rss_after_mib=3852.6 released_mib=189.6 -2026-05-05T20:10:53.393760Z INFO property_map_server: POI data loaded pois=567534 -2026-05-05T20:10:53.393762Z INFO property_map_server: Building POI spatial grid index -2026-05-05T20:10:53.400604Z INFO property_map_server: Loading place data from /app/data/places.parquet -2026-05-05T20:10:53.400611Z INFO property_map_server::data::places: Loading place data from "/app/data/places.parquet"... -2026-05-05T20:10:53.402135Z INFO property_map_server::data::places: Loaded 3474 places -2026-05-05T20:10:53.405341Z INFO property_map_server::data::places: Place data loaded places=3474 types=2 with_population=71 with_city=3392 -2026-05-05T20:10:53.408919Z INFO property_map_server: Allocator trim label="place data load" trimmed=true rss_before_mib=3862.3 rss_after_mib=3857.8 released_mib=4.4 -2026-05-05T20:10:53.408925Z INFO property_map_server: Place data loaded places=3474 -2026-05-05T20:10:53.408933Z INFO property_map_server: Loading postcode boundaries from /app/data/postcode_boundaries -2026-05-05T20:10:53.408937Z INFO property_map_server::data::postcodes: Loading postcode boundaries from "/app/data/postcode_boundaries" -2026-05-05T20:10:53.411023Z INFO property_map_server::data::postcodes: Found GeoJSON files to process files=2361 -2026-05-05T20:11:00.443984Z INFO property_map_server::data::postcodes: Postcode boundary data ready postcodes=1490140 -2026-05-05T20:11:00.788760Z INFO property_map_server: Allocator trim label="postcode boundary load" trimmed=true rss_before_mib=11178.9 rss_after_mib=10986.2 released_mib=192.7 -2026-05-05T20:11:00.788770Z INFO property_map_server: Postcode boundaries loaded postcodes=1490140 -2026-05-05T20:11:00.933329Z INFO property_map_server::data::postcodes: Outcode data derived from postcodes outcodes=2361 -2026-05-05T20:11:00.933381Z INFO property_map_server: Loading PMTiles from /app/data/uk.pmtiles -2026-05-05T20:11:00.938501Z INFO property_map_server: PMTiles loaded successfully -2026-05-05T20:11:00.975103Z INFO property_map_server: No --dist provided; static serving disabled -2026-05-05T20:11:01.008668Z INFO property_map_server: Screenshot service configured: http://screenshot:8002 -2026-05-05T20:11:01.008827Z INFO property_map_server: Precomputed features response groups=8 -2026-05-05T20:11:01.008841Z INFO property_map_server: PocketBase configured: http://pocketbase:8090 -2026-05-05T20:11:01.069845Z INFO property_map_server::pocketbase: PocketBase users collection already has all required fields -2026-05-05T20:11:01.075085Z INFO property_map_server::pocketbase: PocketBase collection 'saved_searches' API rules updated -2026-05-05T20:11:01.079344Z INFO property_map_server::pocketbase: PocketBase collection 'saved_properties' API rules updated -2026-05-05T20:11:01.414327Z INFO property_map_server::pocketbase: PocketBase meta.appURL set to https://perfect-postcodes.co.uk/pb -2026-05-05T20:11:01.418330Z INFO property_map_server::pocketbase: PocketBase OAuth configured on users collection -2026-05-05T20:11:01.418350Z INFO property_map_server: Gemini configured (model: gemini-3-flash-preview) -2026-05-05T20:11:01.418367Z INFO property_map_server: Loading travel time data from /app/data/travel-times -2026-05-05T20:11:01.427208Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="bicycle" destinations=2753 -2026-05-05T20:11:01.434919Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="walking" destinations=2753 -2026-05-05T20:11:01.442995Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="car" destinations=2753 -2026-05-05T20:11:01.450381Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="transit" destinations=2752 -2026-05-05T20:11:01.450403Z INFO property_map_server: Travel time store loaded modes=4 -2026-05-05T20:11:01.450454Z INFO property_map_server: Precomputed AI filters system prompt -2026-05-05T20:11:06.979599Z INFO property_map_server: All memory pages locked (mlockall) -2026-05-05T20:11:06.979640Z INFO property_map_server: Server listening on 0.0.0.0:8001 -2026-05-05T20:11:07.002597Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:11:07.798721Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:11:07.799326Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:11:11.822902Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:11:13.880345Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:11:13.881732Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:11:13.913834Z INFO property_map_server::routes::postcodes: GET /api/postcode/M44DH postcode=M4 4DH -2026-05-05T20:11:13.929274Z INFO property_map_server::routes::postcode_stats: GET /api/postcode-stats postcode=M4 4DH total_count=42 filters=0 filters_raw="-" ms=0.3 -2026-05-05T20:11:13.952613Z INFO property_map_server::routes::postcodes: GET /api/postcode/M4 4DH postcode=M4 4DH -2026-05-05T20:11:13.961748Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=881951b74bfffff resolution=8 total_count=2958 filters=0 filters_raw="-" ms=1.7 -2026-05-05T20:11:14.470326Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b74a3ffff resolution=9 total_count=1241 filters=0 filters_raw="-" ms=0.5 -2026-05-05T20:11:15.311075Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=5382 cells_after_filter=5346 truncated=false bounds=53.3675,-2.4548,53.5912,-2.0354 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=163.9 json_ms=72.5 total_ms=236.3 -2026-05-05T20:11:28.568887Z INFO property_map_server: Prometheus metrics initialized -2026-05-05T20:11:28.569124Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet -2026-05-05T20:11:28.569140Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet" -2026-05-05T20:11:28.685330Z INFO property_map_server::data::property: Postcode features loaded rows=1263786 -2026-05-05T20:11:28.685342Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet" -2026-05-05T20:11:32.079455Z INFO property_map_server::data::property: Properties joined with postcodes rows=15268176 -2026-05-05T20:11:32.079508Z INFO property_map_server::data::property: Feature columns from config numeric=63 enums=6 total=69 -2026-05-05T20:11:42.680428Z WARN property_map_server::data::property: Dropped properties with missing postcode coordinates rows=743076 -2026-05-05T20:11:42.680440Z INFO property_map_server::data::property: Combined data selected rows=14525100 -2026-05-05T20:11:42.865018Z INFO property_map_server::data::property: Extracting numeric feature columns -2026-05-05T20:11:43.356258Z INFO property_map_server::data::property: Computing histograms for numeric features -2026-05-05T20:11:45.756030Z INFO property_map_server::data::property: Extracting string columns -2026-05-05T20:11:47.737594Z INFO property_map_server::data::property: Building enum features -2026-05-05T20:11:49.223587Z INFO property_map_server::data::property: Extracting renovation history -2026-05-05T20:11:51.591795Z INFO property_map_server::data::property: Renovation history extracted properties_with_events=1741939 -2026-05-05T20:11:51.591805Z INFO property_map_server::data::property: Sorting rows by spatial locality -2026-05-05T20:11:52.559430Z INFO property_map_server::data::property: Building interned strings -2026-05-05T20:12:00.998024Z INFO property_map_server::data::property: Address search index built tokens=179878 pruned_tokens=0 postings=19451521 -2026-05-05T20:12:06.715906Z INFO property_map_server::data::property: Transposing to row-major layout (spatially sorted, quantized to u16) -2026-05-05T20:12:10.622928Z INFO property_map_server::data::property: Data loading complete -2026-05-05T20:12:12.283236Z INFO property_map_server: Allocator trim label="property data load" trimmed=true rss_before_mib=12558.0 rss_after_mib=3531.4 released_mib=9026.7 -2026-05-05T20:12:12.283250Z INFO property_map_server: Property data loaded rows=14525100 features=69 enums=6 -2026-05-05T20:12:12.283253Z INFO property_map_server: Building spatial grid index (0.01° cells) -2026-05-05T20:12:12.407096Z INFO property_map_server: Precomputing H3 cells at resolution 12 -2026-05-05T20:12:12.407106Z INFO property_map_server::data::property: Precomputing H3 cells at resolution 12 -2026-05-05T20:12:12.952802Z INFO property_map_server::data::property: H3 precomputation complete (14525100 cells) -2026-05-05T20:12:12.952904Z INFO property_map_server: Loading POI data from /app/data/filtered_uk_pois.parquet -2026-05-05T20:12:12.952912Z INFO property_map_server::data::poi: Loading POI data from "/app/data/filtered_uk_pois.parquet"... -2026-05-05T20:12:12.980689Z INFO property_map_server::data::poi: Loaded 567534 POIs -2026-05-05T20:12:13.162223Z INFO property_map_server::data::poi: POI string columns interned category_unique=94 group_unique=11 emoji_unique=71 -2026-05-05T20:12:13.163435Z INFO property_map_server::data::poi: POI data loading complete. -2026-05-05T20:12:13.215490Z INFO property_map_server: Allocator trim label="poi data load" trimmed=true rss_before_mib=3936.2 rss_after_mib=3748.8 released_mib=187.4 -2026-05-05T20:12:13.215504Z INFO property_map_server: POI data loaded pois=567534 -2026-05-05T20:12:13.215506Z INFO property_map_server: Building POI spatial grid index -2026-05-05T20:12:13.225404Z INFO property_map_server: Loading place data from /app/data/places.parquet -2026-05-05T20:12:13.225415Z INFO property_map_server::data::places: Loading place data from "/app/data/places.parquet"... -2026-05-05T20:12:13.226197Z INFO property_map_server::data::places: Loaded 3474 places -2026-05-05T20:12:13.231551Z INFO property_map_server::data::places: Place data loaded places=3474 types=2 with_population=71 with_city=3392 -2026-05-05T20:12:13.235677Z INFO property_map_server: Allocator trim label="place data load" trimmed=true rss_before_mib=3758.5 rss_after_mib=3754.0 released_mib=4.4 -2026-05-05T20:12:13.235689Z INFO property_map_server: Place data loaded places=3474 -2026-05-05T20:12:13.235703Z INFO property_map_server: Loading postcode boundaries from /app/data/postcode_boundaries -2026-05-05T20:12:13.235711Z INFO property_map_server::data::postcodes: Loading postcode boundaries from "/app/data/postcode_boundaries" -2026-05-05T20:12:13.236718Z INFO property_map_server::data::postcodes: Found GeoJSON files to process files=2361 -2026-05-05T20:12:21.698781Z INFO property_map_server::data::postcodes: Postcode boundary data ready postcodes=1490140 -2026-05-05T20:12:22.092447Z INFO property_map_server: Allocator trim label="postcode boundary load" trimmed=true rss_before_mib=11070.2 rss_after_mib=10874.5 released_mib=195.7 -2026-05-05T20:12:22.092459Z INFO property_map_server: Postcode boundaries loaded postcodes=1490140 -2026-05-05T20:12:22.248427Z INFO property_map_server::data::postcodes: Outcode data derived from postcodes outcodes=2361 -2026-05-05T20:12:22.248501Z INFO property_map_server: Loading PMTiles from /app/data/uk.pmtiles -2026-05-05T20:12:22.248743Z INFO property_map_server: PMTiles loaded successfully -2026-05-05T20:12:22.287235Z INFO property_map_server: No --dist provided; static serving disabled -2026-05-05T20:12:22.315691Z INFO property_map_server: Screenshot service configured: http://screenshot:8002 -2026-05-05T20:12:22.315873Z INFO property_map_server: Precomputed features response groups=8 -2026-05-05T20:12:22.315888Z INFO property_map_server: PocketBase configured: http://pocketbase:8090 -2026-05-05T20:12:22.387441Z INFO property_map_server::pocketbase: PocketBase users collection already has all required fields -2026-05-05T20:12:22.392672Z INFO property_map_server::pocketbase: PocketBase collection 'saved_searches' API rules updated -2026-05-05T20:12:22.398254Z INFO property_map_server::pocketbase: PocketBase collection 'saved_properties' API rules updated -2026-05-05T20:12:23.160863Z INFO property_map_server::pocketbase: PocketBase meta.appURL set to https://perfect-postcodes.co.uk/pb -2026-05-05T20:12:23.176373Z INFO property_map_server::pocketbase: PocketBase OAuth configured on users collection -2026-05-05T20:12:23.176425Z INFO property_map_server: Gemini configured (model: gemini-3-flash-preview) -2026-05-05T20:12:23.176440Z INFO property_map_server: Loading travel time data from /app/data/travel-times -2026-05-05T20:12:23.177911Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="bicycle" destinations=2753 -2026-05-05T20:12:23.179132Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="walking" destinations=2753 -2026-05-05T20:12:23.180428Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="car" destinations=2753 -2026-05-05T20:12:23.181549Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="transit" destinations=2752 -2026-05-05T20:12:23.181566Z INFO property_map_server: Travel time store loaded modes=4 -2026-05-05T20:12:23.181609Z INFO property_map_server: Precomputed AI filters system prompt -2026-05-05T20:12:26.411441Z INFO property_map_server: All memory pages locked (mlockall) -2026-05-05T20:12:26.411495Z INFO property_map_server: Server listening on 0.0.0.0:8001 -2026-05-05T20:12:29.448422Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=2156 cells_after_filter=2155 truncated=false bounds=53.3675,-2.4548,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=19.2 agg_ms=12.5 json_ms=1.7 total_ms=33.4 -2026-05-05T20:12:31.002784Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:12:31.008379Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:12:31.425460Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.4548,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=6.4 json_ms=0.2 total_ms=6.5 -2026-05-05T20:12:34.787554Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:12:34.789187Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:12:34.799223Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:12:34.799288Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:12:34.809492Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:12:34.809570Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:12:34.815829Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:12:34.815869Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:12:44.306284Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=59 cells_after_filter=59 truncated=false bounds=53.3675,-2.4548,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=4.2 json_ms=0.1 total_ms=4.3 -2026-05-05T20:12:44.380201Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=5 travel=1 total=12434 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=19.5 -2026-05-05T20:13:40.022425Z INFO property_map_server: Prometheus metrics initialized -2026-05-05T20:13:40.022594Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet -2026-05-05T20:13:40.022606Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet" -2026-05-05T20:13:40.265768Z INFO property_map_server::data::property: Postcode features loaded rows=1263786 -2026-05-05T20:13:40.265779Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet" -2026-05-05T20:13:43.455828Z INFO property_map_server::data::property: Properties joined with postcodes rows=15268176 -2026-05-05T20:13:43.455882Z INFO property_map_server::data::property: Feature columns from config numeric=63 enums=6 total=69 -2026-05-05T20:13:46.133164Z WARN property_map_server::data::property: Dropped properties with missing postcode coordinates rows=743076 -2026-05-05T20:13:46.133174Z INFO property_map_server::data::property: Combined data selected rows=14525100 -2026-05-05T20:13:46.267713Z INFO property_map_server::data::property: Extracting numeric feature columns -2026-05-05T20:13:46.833738Z INFO property_map_server::data::property: Computing histograms for numeric features -2026-05-05T20:13:48.165653Z INFO property_map_server::data::property: Extracting string columns -2026-05-05T20:13:49.500493Z INFO property_map_server::data::property: Building enum features -2026-05-05T20:13:50.666812Z INFO property_map_server::data::property: Extracting renovation history -2026-05-05T20:13:52.823391Z INFO property_map_server::data::property: Renovation history extracted properties_with_events=1741939 -2026-05-05T20:13:52.823401Z INFO property_map_server::data::property: Sorting rows by spatial locality -2026-05-05T20:13:53.719835Z INFO property_map_server::data::property: Building interned strings -2026-05-05T20:14:01.324109Z INFO property_map_server::data::property: Address search index built tokens=179878 pruned_tokens=0 postings=19451521 -2026-05-05T20:14:06.922768Z INFO property_map_server::data::property: Transposing to row-major layout (spatially sorted, quantized to u16) -2026-05-05T20:14:17.494660Z INFO property_map_server::data::property: Data loading complete -2026-05-05T20:14:19.055500Z INFO property_map_server: Allocator trim label="property data load" trimmed=true rss_before_mib=13157.1 rss_after_mib=3641.1 released_mib=9516.0 -2026-05-05T20:14:19.055515Z INFO property_map_server: Property data loaded rows=14525100 features=69 enums=6 -2026-05-05T20:14:19.055518Z INFO property_map_server: Building spatial grid index (0.01° cells) -2026-05-05T20:14:19.164192Z INFO property_map_server: Precomputing H3 cells at resolution 12 -2026-05-05T20:14:19.164203Z INFO property_map_server::data::property: Precomputing H3 cells at resolution 12 -2026-05-05T20:14:19.553236Z INFO property_map_server::data::property: H3 precomputation complete (14525100 cells) -2026-05-05T20:14:19.553268Z INFO property_map_server: Loading POI data from /app/data/filtered_uk_pois.parquet -2026-05-05T20:14:19.553286Z INFO property_map_server::data::poi: Loading POI data from "/app/data/filtered_uk_pois.parquet"... -2026-05-05T20:14:19.578432Z INFO property_map_server::data::poi: Loaded 567534 POIs -2026-05-05T20:14:19.727963Z INFO property_map_server::data::poi: POI string columns interned category_unique=94 group_unique=11 emoji_unique=71 -2026-05-05T20:14:19.729138Z INFO property_map_server::data::poi: POI data loading complete. -2026-05-05T20:14:19.777399Z INFO property_map_server: Allocator trim label="poi data load" trimmed=true rss_before_mib=4048.9 rss_after_mib=3859.7 released_mib=189.2 -2026-05-05T20:14:19.777410Z INFO property_map_server: POI data loaded pois=567534 -2026-05-05T20:14:19.777413Z INFO property_map_server: Building POI spatial grid index -2026-05-05T20:14:19.784743Z INFO property_map_server: Loading place data from /app/data/places.parquet -2026-05-05T20:14:19.784751Z INFO property_map_server::data::places: Loading place data from "/app/data/places.parquet"... -2026-05-05T20:14:19.785406Z INFO property_map_server::data::places: Loaded 3474 places -2026-05-05T20:14:19.788947Z INFO property_map_server::data::places: Place data loaded places=3474 types=2 with_population=71 with_city=3392 -2026-05-05T20:14:19.792712Z INFO property_map_server: Allocator trim label="place data load" trimmed=true rss_before_mib=3869.3 rss_after_mib=3864.9 released_mib=4.4 -2026-05-05T20:14:19.792718Z INFO property_map_server: Place data loaded places=3474 -2026-05-05T20:14:19.792727Z INFO property_map_server: Loading postcode boundaries from /app/data/postcode_boundaries -2026-05-05T20:14:19.792736Z INFO property_map_server::data::postcodes: Loading postcode boundaries from "/app/data/postcode_boundaries" -2026-05-05T20:14:19.794201Z INFO property_map_server::data::postcodes: Found GeoJSON files to process files=2361 -2026-05-05T20:14:26.855571Z INFO property_map_server::data::postcodes: Postcode boundary data ready postcodes=1490140 -2026-05-05T20:14:27.214966Z INFO property_map_server: Allocator trim label="postcode boundary load" trimmed=true rss_before_mib=11188.8 rss_after_mib=10995.8 released_mib=193.0 -2026-05-05T20:14:27.214977Z INFO property_map_server: Postcode boundaries loaded postcodes=1490140 -2026-05-05T20:14:27.362928Z INFO property_map_server::data::postcodes: Outcode data derived from postcodes outcodes=2361 -2026-05-05T20:14:27.362983Z INFO property_map_server: Loading PMTiles from /app/data/uk.pmtiles -2026-05-05T20:14:27.363210Z INFO property_map_server: PMTiles loaded successfully -2026-05-05T20:14:27.399121Z INFO property_map_server: No --dist provided; static serving disabled -2026-05-05T20:14:27.425488Z INFO property_map_server: Screenshot service configured: http://screenshot:8002 -2026-05-05T20:14:27.425637Z INFO property_map_server: Precomputed features response groups=8 -2026-05-05T20:14:27.425650Z INFO property_map_server: PocketBase configured: http://pocketbase:8090 -2026-05-05T20:14:27.474873Z INFO property_map_server::pocketbase: PocketBase users collection already has all required fields -2026-05-05T20:14:27.477657Z INFO property_map_server::pocketbase: PocketBase collection 'saved_searches' API rules updated -2026-05-05T20:14:27.482621Z INFO property_map_server::pocketbase: PocketBase collection 'saved_properties' API rules updated -2026-05-05T20:14:27.558405Z INFO property_map_server::pocketbase: PocketBase meta.appURL set to https://perfect-postcodes.co.uk/pb -2026-05-05T20:14:27.561968Z INFO property_map_server::pocketbase: PocketBase OAuth configured on users collection -2026-05-05T20:14:27.561997Z INFO property_map_server: Gemini configured (model: gemini-3-flash-preview) -2026-05-05T20:14:27.562014Z INFO property_map_server: Loading travel time data from /app/data/travel-times -2026-05-05T20:14:27.563548Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="bicycle" destinations=2753 -2026-05-05T20:14:27.564811Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="walking" destinations=2753 -2026-05-05T20:14:27.566048Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="car" destinations=2753 -2026-05-05T20:14:27.567221Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="transit" destinations=2752 -2026-05-05T20:14:27.567246Z INFO property_map_server: Travel time store loaded modes=4 -2026-05-05T20:14:27.567294Z INFO property_map_server: Precomputed AI filters system prompt -2026-05-05T20:14:30.782263Z INFO property_map_server: All memory pages locked (mlockall) -2026-05-05T20:14:30.782303Z INFO property_map_server: Server listening on 0.0.0.0:8001 -2026-05-05T20:14:37.178516Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:14:37.178889Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:14:42.359886Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:14:42.361656Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:14:42.745029Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=24870 parallel=false cells_before_filter=131 cells_after_filter=93 truncated=false bounds=51.5023,-0.1429,51.5277,-0.1171 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.8 json_ms=0.1 total_ms=0.9 -2026-05-05T20:15:24.241208Z INFO property_map_server::routes::screenshot: Fetching screenshot from: http://screenshot:8002/screenshot?lat=51.5150&lon=-0.1300&zoom=13.8 -2026-05-05T20:15:26.177039Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:26.177050Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:26.652370Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:26.653406Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:26.753076Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:26.753240Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:26.875609Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:26.875612Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:26.982401Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:26.983912Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:27.080800Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:27.080858Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:27.179972Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:27.179991Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:27.284192Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:27.284273Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:27.410182Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:27.410183Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:27.500848Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:27.501649Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:27.574779Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:27.575478Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:27.671129Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:27.671886Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:27.742642Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:27.742900Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:27.838597Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:27.838601Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:27.915525Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:27.915523Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:28.006067Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:28.006246Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:28.098830Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:28.099032Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:28.190287Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:28.191348Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:28.314688Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:28.314699Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:28.386806Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:28.386830Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:28.483715Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:28.484020Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:28.580493Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:28.581330Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:28.657449Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:28.657457Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:28.734505Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:28.734711Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:28.809948Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:28.810153Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:28.903432Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:28.904582Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:28.977459Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:28.978270Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:29.080510Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:29.080851Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:29.176333Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:29.176743Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:29.252464Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:29.252484Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:29.350484Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:29.350509Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:29.461886Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:29.461928Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:29.563391Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:29.563418Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:29.651430Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:29.651431Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:29.722281Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:29.722282Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:29.808252Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:29.808255Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:29.962882Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:29.963576Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:30.053537Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:30.053600Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:30.144986Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:30.145184Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:30.502588Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:30.502884Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:30.767464Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:30.768721Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:30.864719Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:30.865635Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:30.943622Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:30.943643Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:31.044832Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:31.044876Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:31.145007Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:31.145263Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:31.240944Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:31.240969Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:31.340022Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:31.340023Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:31.438615Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:31.438855Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:31.547117Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:31.548817Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:31.645362Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:31.645365Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:31.742994Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:31.743211Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:31.836748Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:31.837012Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:31.941654Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:31.941711Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:32.013810Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:32.013816Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:32.137120Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:32.138035Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:32.228118Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:32.228134Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:32.309326Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:32.309367Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:32.401047Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:32.401107Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:32.498630Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:32.498670Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:32.589945Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:32.589960Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:32.687321Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:32.687337Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:32.763682Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:32.763685Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:32.863451Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:32.863453Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:32.962286Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:32.962709Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:33.069075Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:33.069098Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:33.166622Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:33.166627Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:33.267261Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:33.267981Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:33.346362Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:33.346367Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:33.446823Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:33.446824Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:33.543006Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:33.543011Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:33.640335Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:33.640339Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:33.734602Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:33.734857Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:33.833510Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:33.833541Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:33.925049Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:33.925948Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:34.005695Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:34.005701Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:34.106689Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:34.107536Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:34.204254Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:34.204971Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:34.272617Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:34.272645Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:34.377475Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:34.377504Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:34.448005Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:34.448007Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:34.556122Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:34.556809Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:34.628300Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:34.629648Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:34.712682Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:34.712686Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:34.803809Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:34.803857Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:34.890777Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:34.890825Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:35.007857Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:35.008487Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:35.120965Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:35.121106Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:35.228813Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:35.228972Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:35.338188Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:35.338197Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:35.434774Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:35.434816Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:35.547636Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:35.548833Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:35.636089Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:35.636445Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:35.715259Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:35.715269Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:35.797274Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:35.798669Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:35.916469Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:35.916680Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:36.010529Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:36.010537Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:36.113984Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:36.113989Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:36.239900Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:36.239906Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:36.358207Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:36.359394Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:36.447447Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:36.448041Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:36.528372Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:36.528379Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:36.626602Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:36.627409Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:36.718353Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:36.718375Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:36.819732Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:36.819735Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:36.939946Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:36.939948Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:37.061756Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:37.061971Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:37.136115Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:37.136535Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:37.247052Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:37.247057Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:37.322795Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:37.323458Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:37.393135Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:37.393846Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:37.501971Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:37.501969Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:37.618361Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:37.619694Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:37.696593Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:37.697309Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:37.768707Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:37.768709Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:37.840268Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:37.840272Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:37.940823Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:37.940928Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:38.059790Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:38.060360Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:38.171621Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:38.171684Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:38.265066Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:38.265068Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:38.389148Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:38.389398Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:38.514348Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:38.514364Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:38.629237Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:38.629251Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:38.723376Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:38.724479Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:38.805948Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:38.806171Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:38.901580Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:38.901584Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:38.994715Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:38.996745Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:39.094171Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:39.094173Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:39.186885Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:39.187848Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:39.661970Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:39.662258Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:39.791024Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:39.791039Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:39.912816Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:39.913563Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:40.028097Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:40.028978Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:40.106145Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:40.106154Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:40.231358Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:40.231388Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:40.331277Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:40.331327Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:40.456734Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:40.456899Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:40.577699Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:40.577708Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:40.667332Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:40.667344Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:40.758882Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:40.761153Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:40.867104Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:40.867133Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:40.990011Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:40.990077Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:41.095586Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:41.096342Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:41.176776Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:41.182058Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:41.288217Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:41.288219Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:41.389839Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:41.389846Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:41.470342Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:41.470364Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:41.553102Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:41.553507Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:41.657566Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:41.657611Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:41.758063Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:41.759498Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:41.863349Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:41.864148Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:41.941882Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:41.942137Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:42.035378Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:42.036014Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:42.125431Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:42.126721Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:42.225061Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:42.225064Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:42.316420Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:42.316428Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:42.419451Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:42.420234Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:42.499710Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:42.499739Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:42.572015Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:42.572029Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:42.651293Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:42.651482Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:42.746045Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:42.746059Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:42.842222Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:42.842242Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:42.944602Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:42.944605Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:43.043207Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:43.043208Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:43.142932Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:43.143594Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:43.232857Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:43.233067Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:43.332017Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:43.332011Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:43.422426Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:43.422908Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:43.501581Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:43.501907Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:43.598702Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:43.598704Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:43.669924Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:43.669931Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:43.773224Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:43.773586Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:43.873728Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:43.873730Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:43.944513Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:43.944518Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:44.028025Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:44.028936Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:44.133970Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:44.134000Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:44.203966Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:44.204005Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:44.288166Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:44.288851Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:44.402334Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:44.403165Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:44.476748Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:44.477621Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:44.559943Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:44.559960Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:44.677587Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:44.678229Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:44.775113Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:44.776103Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:45.108816Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:45.108830Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:45.191875Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:45.193063Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:45.269335Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:45.271066Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:45.355528Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:45.355532Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:45.448519Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:45.448528Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:45.562173Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:45.562187Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:45.643276Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:45.644082Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:45.727589Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:45.727628Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:45.821503Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:45.821549Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:45.911024Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:45.911951Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:46.002546Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:46.002549Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:46.115414Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:46.116180Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:46.196552Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:46.196601Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:46.299900Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:46.299947Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:46.415404Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:46.416233Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:46.497147Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:46.497177Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:46.601138Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:46.601142Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:46.718916Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:46.718924Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:46.808340Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:46.808347Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:46.954064Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:46.955549Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:47.050913Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:47.052057Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:47.151913Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:47.151961Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:47.293300Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:47.293366Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:47.393516Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:47.393555Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:47.479012Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:47.479788Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:47.567309Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:47.568908Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:47.668567Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:47.668565Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:47.763221Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:47.763951Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:47.846541Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:47.846596Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:47.963617Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:47.963910Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:48.061046Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:48.061055Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:48.156769Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:48.156803Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:48.276976Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:48.276977Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:48.427460Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:48.427461Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:48.526616Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:48.526620Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:48.653929Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:48.653931Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:48.752163Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:48.752190Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:48.848185Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:48.848430Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:48.977829Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:48.977832Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:49.098358Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:49.098536Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:49.188428Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:49.188431Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:49.305075Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:49.305085Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:49.408432Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:49.409281Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:49.522071Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:49.522255Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:49.651057Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:49.651809Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:49.736686Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:49.736688Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:49.837277Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:49.837281Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:49.937031Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:49.937035Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:50.019754Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:50.020489Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:50.098049Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:50.098231Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:50.192729Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:50.192741Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:50.279323Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:50.280944Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:50.389195Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:50.389196Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:50.490176Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:50.490183Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:50.584321Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:50.584327Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:50.691939Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:50.694708Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:50.802226Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:50.802238Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:50.890162Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:50.890173Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:51.009162Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:51.009164Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:51.136153Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:51.136155Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:51.249618Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:51.249622Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:51.343587Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:51.343657Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:51.428700Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:51.428889Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:51.562232Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:51.562234Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:51.658414Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:51.659016Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:51.757931Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:51.758314Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:51.917840Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:51.917856Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:51.992773Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:51.992783Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:52.081195Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:52.081198Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:52.300187Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:52.300189Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:52.392131Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:52.392290Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:52.476834Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:52.477546Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:52.707415Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:52.707419Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:52.811083Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:52.811113Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:52.902601Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:52.902612Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:53.287882Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:53.289367Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:53.371089Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:53.371128Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:53.666987Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:53.667029Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:53.743605Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:53.744216Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:53.831371Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:53.831397Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:54.014550Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:54.015432Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:54.110504Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:54.111211Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:54.196615Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:54.196625Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:54.381832Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:54.381833Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:54.473901Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:54.473903Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:54.565093Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:54.566128Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:54.752155Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:54.752174Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:54.850501Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:54.850683Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:55.168204Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:55.168422Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:55.269339Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:55.269510Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:55.595899Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:55.595908Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:55.691623Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:55.691638Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:56.016547Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:56.016556Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:56.116590Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:56.117354Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:56.434638Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:56.434789Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:56.504294Z INFO property_map_server::routes::export: Fetched screenshot for export bytes=5259 -2026-05-05T20:15:56.539046Z INFO property_map_server::routes::export: GET /api/export postcodes=250 sampled=true features=69 has_screenshot=true bytes=104437 total_ms=34.6 -2026-05-05T20:15:56.685653Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:56.701864Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:58.203872Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:15:58.203933Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:15:58.243951Z INFO property_map_server::routes::postcodes: GET /api/postcode/M44DH postcode=M4 4DH -2026-05-05T20:15:58.271316Z INFO property_map_server::routes::postcode_stats: GET /api/postcode-stats postcode=M4 4DH total_count=42 filters=0 filters_raw="-" ms=0.3 -2026-05-05T20:15:58.283482Z INFO property_map_server::routes::postcodes: GET /api/postcode/M4 4DH postcode=M4 4DH -2026-05-05T20:15:58.373158Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=881951b74bfffff resolution=8 total_count=2958 filters=0 filters_raw="-" ms=1.1 -2026-05-05T20:15:59.085705Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b74a3ffff resolution=9 total_count=1241 filters=0 filters_raw="-" ms=0.6 -2026-05-05T20:15:59.376613Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=5382 cells_after_filter=5346 truncated=false bounds=53.3675,-2.4548,53.5912,-2.0354 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=26.9 json_ms=3.3 total_ms=30.3 -2026-05-05T20:16:45.009437Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:16:45.012805Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:16:45.014038Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:16:45.014162Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:16:45.024395Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:16:45.027252Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:16:45.035596Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:16:45.037315Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:16:45.069341Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:16:45.074504Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:16:45.357069Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=8 rows=396398 parallel=true cells_before_filter=2935 cells_after_filter=2931 truncated=false bounds=51.6337,-1.5054,52.0656,-0.4742 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=7.5 json_ms=1.6 total_ms=9.1 -2026-05-05T20:16:45.382840Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=24870 parallel=false cells_before_filter=131 cells_after_filter=93 truncated=false bounds=51.5023,-0.1429,51.5277,-0.1171 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.9 json_ms=0.1 total_ms=1.0 -2026-05-05T20:16:52.421491Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.9 -2026-05-05T20:16:52.455670Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.8 -2026-05-05T20:16:52.484199Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b74a3ffff resolution=9 total_count=310 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=0.3 -2026-05-05T20:16:53.256924Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.4548,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=5.0 json_ms=0.1 total_ms=5.2 -2026-05-05T20:16:53.279437Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=5 travel=1 total=20439 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=23.2 -2026-05-05T20:16:55.244204Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=3.3 json_ms=0.2 total_ms=3.5 -2026-05-05T20:16:55.269726Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=5 travel=1 total=20439 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=19.6 -2026-05-05T20:17:07.425638Z INFO property_map_server::routes::places: GET /api/places query="sett" results=1 postcodes=0 addresses=5 scanned=3474 mode="-" ms=0.9 -2026-05-05T20:17:07.721433Z INFO property_map_server::routes::places: GET /api/places query="settle" results=1 postcodes=0 addresses=5 scanned=3474 mode="-" ms=0.8 -2026-05-05T20:17:09.020513Z INFO property_map_server::routes::places: GET /api/places query="settlers cour" results=0 postcodes=0 addresses=0 scanned=3474 mode="-" ms=0.8 -2026-05-05T20:17:10.596588Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=2156 cells_after_filter=2155 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=11.2 json_ms=2.0 total_ms=13.2 -2026-05-05T20:17:12.089127Z INFO property_map_server::routes::places: GET /api/places query="flat 6" results=0 postcodes=0 addresses=0 scanned=3474 mode="-" ms=56.3 -2026-05-05T20:17:12.401428Z INFO property_map_server::routes::places: GET /api/places query="flat 64" results=0 postcodes=0 addresses=0 scanned=3474 mode="-" ms=55.1 -2026-05-05T20:17:13.128067Z INFO property_map_server::routes::places: GET /api/places query="flat 64 s" results=0 postcodes=0 addresses=0 scanned=3474 mode="-" ms=48.0 -2026-05-05T20:17:13.291740Z INFO property_map_server::routes::places: GET /api/places query="flat 64 se" results=0 postcodes=0 addresses=0 scanned=3474 mode="-" ms=0.7 -2026-05-05T20:17:13.902419Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=7.5 json_ms=0.2 total_ms=7.6 -2026-05-05T20:17:14.165913Z INFO property_map_server::routes::places: GET /api/places query="flat 64 settle" results=0 postcodes=0 addresses=0 scanned=3474 mode="-" ms=0.8 -2026-05-05T20:17:15.819515Z INFO property_map_server::routes::places: GET /api/places query="flat 64" results=0 postcodes=0 addresses=0 scanned=3474 mode="-" ms=68.8 -2026-05-05T20:17:17.575163Z INFO property_map_server::routes::places: GET /api/places query="17 newpo" results=0 postcodes=0 addresses=0 scanned=3474 mode="-" ms=9.0 -2026-05-05T20:17:18.234458Z INFO property_map_server::routes::places: GET /api/places query="17 newpor" results=0 postcodes=0 addresses=0 scanned=3474 mode="-" ms=8.5 -2026-05-05T20:17:18.279340Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=59 cells_after_filter=59 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=3.5 json_ms=0.1 total_ms=3.6 -2026-05-05T20:17:18.621811Z INFO property_map_server::routes::places: GET /api/places query="17 newport" results=0 postcodes=0 addresses=5 scanned=3474 mode="-" ms=2.0 -2026-05-05T20:17:19.427840Z INFO property_map_server::routes::places: GET /api/places query="17 newport avenue" results=0 postcodes=0 addresses=5 scanned=3474 mode="-" ms=2.5 -2026-05-05T20:17:21.423411Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=5 travel=1 total=12434 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=21.4 -2026-05-05T20:17:26.742672Z INFO property_map_server::routes::places: GET /api/places query="flat 6" results=0 postcodes=0 addresses=0 scanned=3474 mode="-" ms=50.5 -2026-05-05T20:17:27.791175Z INFO property_map_server::routes::places: GET /api/places query="flat 64 s" results=0 postcodes=0 addresses=0 scanned=3474 mode="-" ms=47.2 -2026-05-05T20:17:28.665922Z INFO property_map_server::routes::places: GET /api/places query="flat 64 settle" results=0 postcodes=0 addresses=0 scanned=3474 mode="-" ms=0.9 -2026-05-05T20:17:29.433862Z INFO property_map_server::routes::places: GET /api/places query="se" results=7 postcodes=0 addresses=0 scanned=3474 mode="-" ms=1.0 -2026-05-05T20:17:30.800215Z INFO property_map_server::routes::places: GET /api/places query="settlers cour" results=0 postcodes=0 addresses=0 scanned=3474 mode="-" ms=0.8 -2026-05-05T20:17:31.095899Z INFO property_map_server::routes::places: GET /api/places query="settlers court" results=0 postcodes=0 addresses=5 scanned=3474 mode="-" ms=0.8 -2026-05-05T20:17:45.749114Z INFO property_map_server::routes::places: GET /api/places query="6settlers court" results=0 postcodes=0 addresses=0 scanned=3474 mode="-" ms=4.2 -2026-05-05T20:17:46.927072Z INFO property_map_server::routes::places: GET /api/places query="60 settlers court" results=0 postcodes=0 addresses=1 scanned=3474 mode="-" ms=0.8 -2026-05-05T20:18:02.987375Z INFO property_map_server::routes::postcodes: GET /api/postcode/E14 2DG postcode=E14 2DG -2026-05-05T20:18:03.000809Z INFO property_map_server::routes::postcode_stats: GET /api/postcode-stats postcode=E14 2DG total_count=75 filters=0 filters_raw="-" ms=0.3 -2026-05-05T20:18:03.023896Z INFO property_map_server::routes::postcode_properties: GET /api/postcode-properties postcode=E14 2DG total=75 returned=75 offset=0 filters=0 filters_raw="-" ms=0.8 -2026-05-05T20:18:03.175527Z INFO property_map_server::routes::postcodes: GET /api/postcodes postcodes_before_filter=176 postcodes_after_filter=38 filtered_out=138 truncated=false bounds=51.506766,-0.004777,51.511574,0.006617 filters=0 filters_raw="-" fields=0 travel_entries=0 agg_ms=0.3 json_ms=0.1 total_ms=0.4 -2026-05-05T20:18:03.414877Z INFO property_map_server::routes::postcodes: GET /api/postcodes postcodes_before_filter=176 postcodes_after_filter=32 filtered_out=144 truncated=false bounds=51.506766,-0.003232,51.511574,0.005072 filters=0 filters_raw="-" fields=0 travel_entries=0 agg_ms=0.3 json_ms=0.1 total_ms=0.4 -2026-05-05T20:18:40.536291Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:18:40.536356Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:18:40.554550Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:18:40.559926Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:18:40.574720Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:18:40.574729Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:18:40.575196Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:18:40.575978Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:18:40.868105Z INFO property_map_server::routes::postcodes: GET /api/postcodes postcodes_before_filter=176 postcodes_after_filter=38 filtered_out=138 truncated=false bounds=51.506796,-0.004797,51.511604,0.006597 filters=0 filters_raw="-" fields=0 travel_entries=0 agg_ms=0.4 json_ms=0.1 total_ms=0.5 -2026-05-05T20:18:40.902923Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:18:40.916832Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:18:41.201425Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=24870 parallel=false cells_before_filter=131 cells_after_filter=93 truncated=false bounds=51.5023,-0.1429,51.5277,-0.1171 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.7 json_ms=0.1 total_ms=0.8 -2026-05-05T20:18:46.497674Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:18:46.501625Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:18:46.514390Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:18:46.516504Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:18:46.526582Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:18:46.528688Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:18:46.537928Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:18:46.544708Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:18:46.578022Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:18:46.578286Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:18:46.815037Z INFO property_map_server::routes::postcodes: GET /api/postcodes postcodes_before_filter=176 postcodes_after_filter=38 filtered_out=138 truncated=false bounds=51.506796,-0.004797,51.511604,0.006597 filters=0 filters_raw="-" fields=0 travel_entries=0 agg_ms=0.3 json_ms=0.1 total_ms=0.4 -2026-05-05T20:18:46.932823Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=24870 parallel=false cells_before_filter=131 cells_after_filter=93 truncated=false bounds=51.5023,-0.1429,51.5277,-0.1171 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.6 json_ms=0.1 total_ms=0.7 -2026-05-05T20:19:02.646107Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:19:02.647348Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:19:02.651437Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:19:02.651524Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:19:02.658302Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:19:02.663313Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:19:02.663319Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:19:02.663421Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:19:02.718754Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:19:02.719373Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:19:03.143647Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=24870 parallel=false cells_before_filter=131 cells_after_filter=93 truncated=false bounds=51.5023,-0.1429,51.5277,-0.1171 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.5 json_ms=0.1 total_ms=0.5 -2026-05-05T20:19:15.462260Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=24870 parallel=false cells_before_filter=131 cells_after_filter=93 truncated=false bounds=51.5023,-0.1429,51.5277,-0.1171 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.5 json_ms=0.1 total_ms=0.5 -2026-05-05T20:19:41.779242Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:19:43.171564Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:19:43.172901Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:19:43.210552Z INFO property_map_server::routes::postcodes: GET /api/postcode/M44DH postcode=M4 4DH -2026-05-05T20:19:43.229323Z INFO property_map_server::routes::postcode_stats: GET /api/postcode-stats postcode=M4 4DH total_count=42 filters=0 filters_raw="-" ms=0.3 -2026-05-05T20:19:43.239582Z INFO property_map_server::routes::postcodes: GET /api/postcode/M4 4DH postcode=M4 4DH -2026-05-05T20:19:43.249931Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=881951b74bfffff resolution=8 total_count=2958 filters=0 filters_raw="-" ms=1.2 -2026-05-05T20:19:43.671255Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b74a3ffff resolution=9 total_count=1241 filters=0 filters_raw="-" ms=0.6 -2026-05-05T20:19:44.083439Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=5382 cells_after_filter=5346 truncated=false bounds=53.3675,-2.4548,53.5912,-2.0354 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=7.6 json_ms=3.9 total_ms=11.5 -2026-05-05T20:20:36.512470Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=2.1 -2026-05-05T20:20:36.543021Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b74a3ffff resolution=9 total_count=310 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=0.3 -2026-05-05T20:20:36.544426Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=2.0 -2026-05-05T20:20:37.144863Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=4.6 json_ms=0.2 total_ms=4.8 -2026-05-05T20:20:37.174882Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=5 travel=1 total=20439 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=20.9 -2026-05-05T20:20:46.123346Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=2156 cells_after_filter=2155 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=6.2 json_ms=1.6 total_ms=7.8 -2026-05-05T20:20:49.425005Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=3.2 json_ms=0.1 total_ms=3.3 -2026-05-05T20:20:59.081876Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=59 cells_after_filter=59 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=8.4 json_ms=0.1 total_ms=8.5 -2026-05-05T20:20:59.096912Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=5 travel=1 total=12434 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=23.4 -2026-05-05T20:21:41.377358Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=83099 parallel=true cells_before_filter=312 cells_after_filter=300 truncated=false bounds=51.4958,-0.1756,51.5342,-0.0844 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.0 json_ms=0.2 total_ms=1.3 -2026-05-05T20:21:42.095955Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89195da499bffff resolution=9 total_count=467 filters=0 filters_raw="-" ms=0.4 -2026-05-05T20:21:42.492655Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=64311 parallel=true cells_before_filter=249 cells_after_filter=229 truncated=false bounds=51.4958,-0.1632,51.5342,-0.0968 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.0 json_ms=0.1 total_ms=1.1 -2026-05-05T20:21:48.534248Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=64311 parallel=true cells_before_filter=249 cells_after_filter=229 truncated=false bounds=51.4958,-0.1632,51.5342,-0.0968 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=0.8 json_ms=0.2 total_ms=1.0 -2026-05-05T20:21:49.459582Z INFO property_map_server::routes::postcodes: GET /api/postcode/W1T 3HQ postcode=W1T 3HQ -2026-05-05T20:21:49.543342Z INFO property_map_server::routes::postcode_stats: GET /api/postcode-stats postcode=W1T 3HQ total_count=1 filters=0 filters_raw="-" ms=0.3 -2026-05-05T20:21:49.777809Z INFO property_map_server::routes::postcodes: GET /api/postcodes postcodes_before_filter=1281 postcodes_after_filter=510 filtered_out=771 truncated=false bounds=51.513536,-0.139691,51.523695,-0.122141 filters=0 filters_raw="-" fields=1 travel_entries=0 agg_ms=1.2 json_ms=1.1 total_ms=2.2 -2026-05-05T20:21:52.188752Z INFO property_map_server::routes::postcodes: GET /api/postcodes postcodes_before_filter=1281 postcodes_after_filter=866 filtered_out=415 truncated=false bounds=51.512038,-0.142621,51.524626,-0.120875 filters=0 filters_raw="-" fields=1 travel_entries=0 agg_ms=1.2 json_ms=1.9 total_ms=3.1 -2026-05-05T20:21:55.642829Z INFO property_map_server::routes::postcodes: GET /api/postcodes postcodes_before_filter=1281 postcodes_after_filter=852 filtered_out=429 truncated=false bounds=51.509964,-0.142605,51.522553,-0.120858 filters=0 filters_raw="-" fields=1 travel_entries=0 agg_ms=1.3 json_ms=1.7 total_ms=3.0 -2026-05-05T20:21:57.771477Z INFO property_map_server::routes::postcodes: GET /api/postcode/W1T 3HQ postcode=W1T 3HQ -2026-05-05T20:21:57.799117Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89195da499bffff resolution=9 total_count=467 filters=0 filters_raw="-" ms=0.4 -2026-05-05T20:21:58.104834Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=40248 parallel=false cells_before_filter=186 cells_after_filter=169 truncated=false bounds=51.4979,-0.1609,51.5285,-0.1081 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=1.9 json_ms=0.2 total_ms=2.1 -2026-05-05T20:22:36.941364Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:22:36.942739Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:22:36.948277Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:22:36.948320Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:22:36.958858Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:22:36.962403Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:22:36.963459Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:22:36.963527Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:22:37.445530Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:22:37.445546Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:22:37.453850Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:22:37.455070Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:22:37.464148Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:22:37.470673Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:22:37.470878Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:22:37.472028Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:23:08.434324Z INFO property_map_server: Prometheus metrics initialized -2026-05-05T20:23:08.434486Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet -2026-05-05T20:23:08.434496Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet" -2026-05-05T20:23:08.504323Z INFO property_map_server::data::property: Postcode features loaded rows=1263786 -2026-05-05T20:23:08.504335Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet" -2026-05-05T20:23:38.837755Z INFO property_map_server: Prometheus metrics initialized -2026-05-05T20:23:38.837918Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet -2026-05-05T20:23:38.837932Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet" -2026-05-05T20:23:38.902957Z INFO property_map_server::data::property: Postcode features loaded rows=1263786 -2026-05-05T20:23:38.902967Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet" -2026-05-05T20:23:41.518751Z INFO property_map_server::data::property: Properties joined with postcodes rows=15268176 -2026-05-05T20:23:41.518784Z INFO property_map_server::data::property: Feature columns from config numeric=63 enums=6 total=69 -2026-05-05T20:23:44.025670Z WARN property_map_server::data::property: Dropped properties with missing postcode coordinates rows=743076 -2026-05-05T20:23:44.025680Z INFO property_map_server::data::property: Combined data selected rows=14525100 -2026-05-05T20:23:44.156438Z INFO property_map_server::data::property: Extracting numeric feature columns -2026-05-05T20:23:44.641818Z INFO property_map_server::data::property: Computing histograms for numeric features -2026-05-05T20:23:45.817715Z INFO property_map_server::data::property: Extracting string columns -2026-05-05T20:23:49.311641Z INFO property_map_server::data::property: Building enum features -2026-05-05T20:23:52.488503Z INFO property_map_server::data::property: Extracting renovation history -2026-05-05T20:23:54.623496Z INFO property_map_server::data::property: Renovation history extracted properties_with_events=1741939 -2026-05-05T20:23:54.623506Z INFO property_map_server::data::property: Sorting rows by spatial locality -2026-05-05T20:23:55.581342Z INFO property_map_server::data::property: Building interned strings -2026-05-05T20:24:07.796097Z INFO property_map_server::data::property: Address search index built tokens=180064 prefixes=372145 pruned_tokens=0 postings=19577075 row_tokens=33755096 -2026-05-05T20:24:17.132488Z INFO property_map_server: Prometheus metrics initialized -2026-05-05T20:24:17.132646Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet -2026-05-05T20:24:17.132656Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet" -2026-05-05T20:24:17.262493Z INFO property_map_server::data::property: Postcode features loaded rows=1263786 -2026-05-05T20:24:17.262505Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet" -2026-05-05T20:24:19.767784Z INFO property_map_server::data::property: Properties joined with postcodes rows=15268176 -2026-05-05T20:24:19.767821Z INFO property_map_server::data::property: Feature columns from config numeric=63 enums=6 total=69 -2026-05-05T20:24:22.320483Z WARN property_map_server::data::property: Dropped properties with missing postcode coordinates rows=743076 -2026-05-05T20:24:22.320492Z INFO property_map_server::data::property: Combined data selected rows=14525100 -2026-05-05T20:24:22.440641Z INFO property_map_server::data::property: Extracting numeric feature columns -2026-05-05T20:24:22.784344Z INFO property_map_server::data::property: Computing histograms for numeric features -2026-05-05T20:24:23.985723Z INFO property_map_server::data::property: Extracting string columns -2026-05-05T20:24:25.283691Z INFO property_map_server::data::property: Building enum features -2026-05-05T20:24:30.257832Z INFO property_map_server: Prometheus metrics initialized -2026-05-05T20:24:30.258007Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet -2026-05-05T20:24:30.258020Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet" -2026-05-05T20:24:30.323551Z INFO property_map_server::data::property: Postcode features loaded rows=1263786 -2026-05-05T20:24:30.323563Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet" -2026-05-05T20:24:33.009666Z INFO property_map_server::data::property: Properties joined with postcodes rows=15268176 -2026-05-05T20:24:33.009716Z INFO property_map_server::data::property: Feature columns from config numeric=63 enums=6 total=69 -2026-05-05T20:24:36.283187Z WARN property_map_server::data::property: Dropped properties with missing postcode coordinates rows=743076 -2026-05-05T20:24:36.283197Z INFO property_map_server::data::property: Combined data selected rows=14525100 -2026-05-05T20:24:36.411830Z INFO property_map_server::data::property: Extracting numeric feature columns -2026-05-05T20:24:36.860986Z INFO property_map_server::data::property: Computing histograms for numeric features -2026-05-05T20:24:38.168716Z INFO property_map_server::data::property: Extracting string columns -2026-05-05T20:24:39.487333Z INFO property_map_server::data::property: Building enum features -2026-05-05T20:24:40.667134Z INFO property_map_server::data::property: Extracting renovation history -2026-05-05T20:24:42.759715Z INFO property_map_server::data::property: Renovation history extracted properties_with_events=1741939 -2026-05-05T20:24:42.759725Z INFO property_map_server::data::property: Sorting rows by spatial locality -2026-05-05T20:24:43.644086Z INFO property_map_server::data::property: Building interned strings -2026-05-05T20:24:52.012933Z INFO property_map_server: Prometheus metrics initialized -2026-05-05T20:24:52.013093Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet -2026-05-05T20:24:52.013106Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet" -2026-05-05T20:24:52.078229Z INFO property_map_server::data::property: Postcode features loaded rows=1263786 -2026-05-05T20:24:52.078239Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet" -2026-05-05T20:24:55.029841Z INFO property_map_server::data::property: Properties joined with postcodes rows=15268176 -2026-05-05T20:24:55.029886Z INFO property_map_server::data::property: Feature columns from config numeric=63 enums=6 total=69 -2026-05-05T20:24:57.689992Z WARN property_map_server::data::property: Dropped properties with missing postcode coordinates rows=743076 -2026-05-05T20:24:57.690005Z INFO property_map_server::data::property: Combined data selected rows=14525100 -2026-05-05T20:24:57.809806Z INFO property_map_server::data::property: Extracting numeric feature columns -2026-05-05T20:24:58.185922Z INFO property_map_server::data::property: Computing histograms for numeric features -2026-05-05T20:24:59.627908Z INFO property_map_server::data::property: Extracting string columns -2026-05-05T20:25:00.916638Z INFO property_map_server::data::property: Building enum features -2026-05-05T20:25:02.073749Z INFO property_map_server::data::property: Extracting renovation history -2026-05-05T20:25:10.298915Z INFO property_map_server::data::property: Renovation history extracted properties_with_events=1741939 -2026-05-05T20:25:10.298924Z INFO property_map_server::data::property: Sorting rows by spatial locality -2026-05-05T20:25:11.323103Z INFO property_map_server::data::property: Building interned strings -2026-05-05T20:25:23.154616Z INFO property_map_server::data::property: Address search index built tokens=180064 prefixes=372145 pruned_tokens=0 postings=19577075 row_tokens=33755096 -2026-05-05T20:25:27.910547Z INFO property_map_server::data::property: Transposing to row-major layout (spatially sorted, quantized to u16) -2026-05-05T20:25:30.634549Z INFO property_map_server::data::property: Data loading complete -2026-05-05T20:25:32.141765Z INFO property_map_server: Allocator trim label="property data load" trimmed=true rss_before_mib=13168.2 rss_after_mib=3903.9 released_mib=9264.3 -2026-05-05T20:25:32.141775Z INFO property_map_server: Property data loaded rows=14525100 features=69 enums=6 -2026-05-05T20:25:32.141777Z INFO property_map_server: Building spatial grid index (0.01° cells) -2026-05-05T20:25:32.247461Z INFO property_map_server: Precomputing H3 cells at resolution 12 -2026-05-05T20:25:32.247469Z INFO property_map_server::data::property: Precomputing H3 cells at resolution 12 -2026-05-05T20:25:32.612583Z INFO property_map_server::data::property: H3 precomputation complete (14525100 cells) -2026-05-05T20:25:32.612666Z INFO property_map_server: Loading POI data from /app/data/filtered_uk_pois.parquet -2026-05-05T20:25:32.612687Z INFO property_map_server::data::poi: Loading POI data from "/app/data/filtered_uk_pois.parquet"... -2026-05-05T20:25:32.658012Z INFO property_map_server::data::poi: Loaded 567534 POIs -2026-05-05T20:25:32.801394Z INFO property_map_server::data::poi: POI string columns interned category_unique=94 group_unique=11 emoji_unique=71 -2026-05-05T20:25:32.802594Z INFO property_map_server::data::poi: POI data loading complete. -2026-05-05T20:25:32.849814Z INFO property_map_server: Allocator trim label="poi data load" trimmed=true rss_before_mib=4313.2 rss_after_mib=4121.5 released_mib=191.7 -2026-05-05T20:25:32.849824Z INFO property_map_server: POI data loaded pois=567534 -2026-05-05T20:25:32.849827Z INFO property_map_server: Building POI spatial grid index -2026-05-05T20:25:32.856896Z INFO property_map_server: Loading place data from /app/data/places.parquet -2026-05-05T20:25:32.856903Z INFO property_map_server::data::places: Loading place data from "/app/data/places.parquet"... -2026-05-05T20:25:32.858793Z INFO property_map_server::data::places: Loaded 3474 places -2026-05-05T20:25:32.862102Z INFO property_map_server::data::places: Place data loaded places=3474 types=2 with_population=71 with_city=3392 -2026-05-05T20:25:32.865560Z INFO property_map_server: Allocator trim label="place data load" trimmed=true rss_before_mib=4131.1 rss_after_mib=4126.7 released_mib=4.4 -2026-05-05T20:25:32.865566Z INFO property_map_server: Place data loaded places=3474 -2026-05-05T20:25:32.865573Z INFO property_map_server: Loading postcode boundaries from /app/data/postcode_boundaries -2026-05-05T20:25:32.865577Z INFO property_map_server::data::postcodes: Loading postcode boundaries from "/app/data/postcode_boundaries" -2026-05-05T20:25:32.929171Z INFO property_map_server::data::postcodes: Found GeoJSON files to process files=2361 -2026-05-05T20:25:40.491144Z INFO property_map_server::data::postcodes: Postcode boundary data ready postcodes=1490140 -2026-05-05T20:25:40.844631Z INFO property_map_server: Allocator trim label="postcode boundary load" trimmed=true rss_before_mib=11454.5 rss_after_mib=11264.4 released_mib=190.1 -2026-05-05T20:25:40.844643Z INFO property_map_server: Postcode boundaries loaded postcodes=1490140 -2026-05-05T20:25:40.987289Z INFO property_map_server::data::postcodes: Outcode data derived from postcodes outcodes=2361 -2026-05-05T20:25:40.987343Z INFO property_map_server: Loading PMTiles from /app/data/uk.pmtiles -2026-05-05T20:25:40.995056Z INFO property_map_server: PMTiles loaded successfully -2026-05-05T20:25:41.031589Z INFO property_map_server: No --dist provided; static serving disabled -2026-05-05T20:25:41.077111Z INFO property_map_server: Screenshot service configured: http://screenshot:8002 -2026-05-05T20:25:41.077258Z INFO property_map_server: Precomputed features response groups=8 -2026-05-05T20:25:41.077271Z INFO property_map_server: PocketBase configured: http://pocketbase:8090 -2026-05-05T20:25:41.136607Z INFO property_map_server::pocketbase: PocketBase users collection already has all required fields -2026-05-05T20:25:41.142447Z INFO property_map_server::pocketbase: PocketBase collection 'saved_searches' API rules updated -2026-05-05T20:25:41.147577Z INFO property_map_server::pocketbase: PocketBase collection 'saved_properties' API rules updated -2026-05-05T20:25:41.936401Z INFO property_map_server::pocketbase: PocketBase meta.appURL set to https://perfect-postcodes.co.uk/pb -2026-05-05T20:25:41.944807Z INFO property_map_server::pocketbase: PocketBase OAuth configured on users collection -2026-05-05T20:25:41.944847Z INFO property_map_server: Gemini configured (model: gemini-3-flash-preview) -2026-05-05T20:25:41.944864Z INFO property_map_server: Loading travel time data from /app/data/travel-times -2026-05-05T20:25:41.954358Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="bicycle" destinations=2753 -2026-05-05T20:25:41.966799Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="walking" destinations=2753 -2026-05-05T20:25:41.975818Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="car" destinations=2753 -2026-05-05T20:25:41.983703Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="transit" destinations=2752 -2026-05-05T20:25:41.983731Z INFO property_map_server: Travel time store loaded modes=4 -2026-05-05T20:25:41.983782Z INFO property_map_server: Precomputed AI filters system prompt -2026-05-05T20:25:49.330274Z INFO property_map_server: All memory pages locked (mlockall) -2026-05-05T20:25:49.330306Z INFO property_map_server: Server listening on 0.0.0.0:8001 -2026-05-05T20:25:59.045077Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:25:59.058017Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:27:14.015228Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=493738 parallel=true cells_before_filter=1742 cells_after_filter=1631 truncated=false bounds=51.4720,-0.2215,51.5604,-0.0121 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=10.0 json_ms=1.0 total_ms=11.1 -2026-05-05T20:27:14.763528Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89195da4ea3ffff resolution=9 total_count=352 filters=0 filters_raw="-" ms=0.4 -2026-05-05T20:27:15.145053Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=387140 parallel=true cells_before_filter=1367 cells_after_filter=1232 truncated=false bounds=51.4720,-0.1931,51.5604,-0.0405 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=3.3 json_ms=0.7 total_ms=4.1 -2026-05-05T20:27:16.328424Z INFO property_map_server::routes::places: GET /api/places query="flat" results=1 postcodes=0 addresses=0 scanned=3474 mode="-" ms=0.6 -2026-05-05T20:27:17.038512Z INFO property_map_server::routes::places: GET /api/places query="flat 6" results=0 postcodes=0 addresses=0 scanned=3474 mode="-" ms=44.5 -2026-05-05T20:27:17.535381Z INFO property_map_server::routes::places: GET /api/places query="flat 64" results=0 postcodes=0 addresses=0 scanned=3474 mode="-" ms=43.4 -2026-05-05T20:27:18.452179Z INFO property_map_server::routes::places: GET /api/places query="64" results=0 postcodes=0 addresses=0 scanned=3474 mode="-" ms=0.6 -2026-05-05T20:27:19.004887Z INFO property_map_server::routes::places: GET /api/places query="6-" results=1 postcodes=0 addresses=0 scanned=3474 mode="-" ms=0.1 -2026-05-05T20:27:19.906277Z INFO property_map_server::routes::places: GET /api/places query="60 se" results=0 postcodes=0 addresses=0 scanned=3474 mode="-" ms=0.6 -2026-05-05T20:27:20.563546Z INFO property_map_server::routes::places: GET /api/places query="60 settler" results=0 postcodes=0 addresses=0 scanned=3474 mode="-" ms=0.6 -2026-05-05T20:27:21.657619Z INFO property_map_server::routes::places: GET /api/places query="60 settlers" results=0 postcodes=0 addresses=1 scanned=3474 mode="-" ms=0.6 -2026-05-05T20:28:08.155513Z INFO property_map_server: Prometheus metrics initialized -2026-05-05T20:28:08.155716Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet -2026-05-05T20:28:08.155734Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet" -2026-05-05T20:28:08.256263Z INFO property_map_server::data::property: Postcode features loaded rows=1263786 -2026-05-05T20:28:08.256272Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet" -2026-05-05T20:28:11.209911Z INFO property_map_server::data::property: Properties joined with postcodes rows=15268176 -2026-05-05T20:28:11.209959Z INFO property_map_server::data::property: Feature columns from config numeric=63 enums=6 total=69 -2026-05-05T20:28:15.645376Z WARN property_map_server::data::property: Dropped properties with missing postcode coordinates rows=743076 -2026-05-05T20:28:15.645386Z INFO property_map_server::data::property: Combined data selected rows=14525100 -2026-05-05T20:28:15.773405Z INFO property_map_server::data::property: Extracting numeric feature columns -2026-05-05T20:28:16.152464Z INFO property_map_server::data::property: Computing histograms for numeric features -2026-05-05T20:28:17.345694Z INFO property_map_server::data::property: Extracting string columns -2026-05-05T20:28:18.692279Z INFO property_map_server::data::property: Building enum features -2026-05-05T20:28:19.971750Z INFO property_map_server::data::property: Extracting renovation history -2026-05-05T20:28:21.974943Z INFO property_map_server::data::property: Renovation history extracted properties_with_events=1741939 -2026-05-05T20:28:21.974952Z INFO property_map_server::data::property: Sorting rows by spatial locality -2026-05-05T20:28:22.783937Z INFO property_map_server::data::property: Building interned strings -2026-05-05T20:28:33.094829Z INFO property_map_server::data::property: Address search index built tokens=180064 prefixes=372145 pruned_tokens=0 postings=19577075 row_tokens=33755096 -2026-05-05T20:28:37.747606Z INFO property_map_server::data::property: Transposing to row-major layout (spatially sorted, quantized to u16) -2026-05-05T20:28:40.996663Z INFO property_map_server::data::property: Data loading complete -2026-05-05T20:28:42.563116Z INFO property_map_server: Allocator trim label="property data load" trimmed=true rss_before_mib=12552.0 rss_after_mib=3961.5 released_mib=8590.4 -2026-05-05T20:28:42.563128Z INFO property_map_server: Property data loaded rows=14525100 features=69 enums=6 -2026-05-05T20:28:42.563131Z INFO property_map_server: Building spatial grid index (0.01° cells) -2026-05-05T20:28:42.662170Z INFO property_map_server: Precomputing H3 cells at resolution 12 -2026-05-05T20:28:42.662180Z INFO property_map_server::data::property: Precomputing H3 cells at resolution 12 -2026-05-05T20:28:43.067316Z INFO property_map_server::data::property: H3 precomputation complete (14525100 cells) -2026-05-05T20:28:43.067338Z INFO property_map_server: Loading POI data from /app/data/filtered_uk_pois.parquet -2026-05-05T20:28:43.067343Z INFO property_map_server::data::poi: Loading POI data from "/app/data/filtered_uk_pois.parquet"... -2026-05-05T20:28:43.093351Z INFO property_map_server::data::poi: Loaded 567534 POIs -2026-05-05T20:28:43.242380Z INFO property_map_server::data::poi: POI string columns interned category_unique=94 group_unique=11 emoji_unique=71 -2026-05-05T20:28:43.243490Z INFO property_map_server::data::poi: POI data loading complete. -2026-05-05T20:28:43.293328Z INFO property_map_server: Allocator trim label="poi data load" trimmed=true rss_before_mib=4367.5 rss_after_mib=4179.1 released_mib=188.4 -2026-05-05T20:28:43.293342Z INFO property_map_server: POI data loaded pois=567534 -2026-05-05T20:28:43.293345Z INFO property_map_server: Building POI spatial grid index -2026-05-05T20:28:43.303007Z INFO property_map_server: Loading place data from /app/data/places.parquet -2026-05-05T20:28:43.303018Z INFO property_map_server::data::places: Loading place data from "/app/data/places.parquet"... -2026-05-05T20:28:43.303979Z INFO property_map_server::data::places: Loaded 3474 places -2026-05-05T20:28:43.307928Z INFO property_map_server::data::places: Place data loaded places=3474 types=2 with_population=71 with_city=3392 -2026-05-05T20:28:43.312033Z INFO property_map_server: Allocator trim label="place data load" trimmed=true rss_before_mib=4188.8 rss_after_mib=4184.3 released_mib=4.4 -2026-05-05T20:28:43.312044Z INFO property_map_server: Place data loaded places=3474 -2026-05-05T20:28:43.312053Z INFO property_map_server: Loading postcode boundaries from /app/data/postcode_boundaries -2026-05-05T20:28:43.312066Z INFO property_map_server::data::postcodes: Loading postcode boundaries from "/app/data/postcode_boundaries" -2026-05-05T20:28:43.313199Z INFO property_map_server::data::postcodes: Found GeoJSON files to process files=2361 -2026-05-05T20:28:50.444552Z INFO property_map_server::data::postcodes: Postcode boundary data ready postcodes=1490140 -2026-05-05T20:28:50.779333Z INFO property_map_server: Allocator trim label="postcode boundary load" trimmed=true rss_before_mib=11494.7 rss_after_mib=11296.2 released_mib=198.5 -2026-05-05T20:28:50.779343Z INFO property_map_server: Postcode boundaries loaded postcodes=1490140 -2026-05-05T20:28:50.919426Z INFO property_map_server::data::postcodes: Outcode data derived from postcodes outcodes=2361 -2026-05-05T20:28:50.919477Z INFO property_map_server: Loading PMTiles from /app/data/uk.pmtiles -2026-05-05T20:28:50.919707Z INFO property_map_server: PMTiles loaded successfully -2026-05-05T20:28:50.954385Z INFO property_map_server: No --dist provided; static serving disabled -2026-05-05T20:28:50.978488Z INFO property_map_server: Screenshot service configured: http://screenshot:8002 -2026-05-05T20:28:50.978624Z INFO property_map_server: Precomputed features response groups=8 -2026-05-05T20:28:50.978637Z INFO property_map_server: PocketBase configured: http://pocketbase:8090 -2026-05-05T20:28:51.028548Z INFO property_map_server::pocketbase: PocketBase users collection already has all required fields -2026-05-05T20:28:51.038932Z INFO property_map_server::pocketbase: PocketBase collection 'saved_searches' API rules updated -2026-05-05T20:28:51.044026Z INFO property_map_server::pocketbase: PocketBase collection 'saved_properties' API rules updated -2026-05-05T20:28:51.256748Z INFO property_map_server::pocketbase: PocketBase meta.appURL set to https://perfect-postcodes.co.uk/pb -2026-05-05T20:28:51.260165Z INFO property_map_server::pocketbase: PocketBase OAuth configured on users collection -2026-05-05T20:28:51.260190Z INFO property_map_server: Gemini configured (model: gemini-3-flash-preview) -2026-05-05T20:28:51.260204Z INFO property_map_server: Loading travel time data from /app/data/travel-times -2026-05-05T20:28:51.261842Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="bicycle" destinations=2753 -2026-05-05T20:28:51.263056Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="walking" destinations=2753 -2026-05-05T20:28:51.264817Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="car" destinations=2753 -2026-05-05T20:28:51.266128Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="transit" destinations=2752 -2026-05-05T20:28:51.266147Z INFO property_map_server: Travel time store loaded modes=4 -2026-05-05T20:28:51.266192Z INFO property_map_server: Precomputed AI filters system prompt -2026-05-05T20:28:54.000560Z INFO property_map_server: All memory pages locked (mlockall) -2026-05-05T20:28:54.000600Z INFO property_map_server: Server listening on 0.0.0.0:8001 -2026-05-05T20:28:54.242491Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:28:54.243716Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:28:54.847610Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:28:56.876508Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:28:56.877938Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:28:56.906603Z INFO property_map_server::routes::postcodes: GET /api/postcode/M44DH postcode=M4 4DH -2026-05-05T20:28:56.921659Z INFO property_map_server::routes::postcode_stats: GET /api/postcode-stats postcode=M4 4DH total_count=42 filters=0 filters_raw="-" ms=0.3 -2026-05-05T20:28:57.022316Z INFO property_map_server::routes::postcodes: GET /api/postcode/M4 4DH postcode=M4 4DH -2026-05-05T20:28:57.553772Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=881951b74bfffff resolution=8 total_count=2958 filters=0 filters_raw="-" ms=1.2 -2026-05-05T20:28:57.896388Z INFO property_map_server::routes::postcodes: GET /api/postcode/M4 4DH postcode=M4 4DH -2026-05-05T20:28:57.943963Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b74a7ffff resolution=9 total_count=1161 filters=0 filters_raw="-" ms=0.5 -2026-05-05T20:28:58.170139Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=5382 cells_after_filter=5346 truncated=false bounds=53.3675,-2.4548,53.5912,-2.0354 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=18.3 json_ms=3.7 total_ms=22.0 -2026-05-05T20:29:50.701826Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=2.1 -2026-05-05T20:29:50.764513Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.7 -2026-05-05T20:29:50.794190Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b74a7ffff resolution=9 total_count=731 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=0.6 -2026-05-05T20:29:51.042292Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=3.7 json_ms=0.2 total_ms=3.9 -2026-05-05T20:29:52.915357Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=5 travel=1 total=20439 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=20.4 -2026-05-05T20:29:53.758173Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=493738 parallel=true cells_before_filter=1742 cells_after_filter=1631 truncated=false bounds=51.4720,-0.2215,51.5604,-0.0121 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=4.7 json_ms=1.0 total_ms=5.7 -2026-05-05T20:29:56.025021Z INFO property_map_server::routes::places: GET /api/places query="sett" results=1 postcodes=0 addresses=20 scanned=3474 mode="-" ms=1.0 -2026-05-05T20:29:56.778380Z INFO property_map_server::routes::places: GET /api/places query="settle" results=1 postcodes=0 addresses=20 scanned=3474 mode="-" ms=0.9 -2026-05-05T20:29:57.425951Z INFO property_map_server::routes::places: GET /api/places query="settlers" results=0 postcodes=0 addresses=20 scanned=3474 mode="-" ms=0.7 -2026-05-05T20:29:58.147998Z INFO property_map_server::routes::places: GET /api/places query="settlers cou" results=0 postcodes=0 addresses=0 scanned=3474 mode="-" ms=0.9 -2026-05-05T20:29:59.683805Z INFO property_map_server::routes::places: GET /api/places query="settlers co" results=0 postcodes=0 addresses=20 scanned=3474 mode="-" ms=0.8 -2026-05-05T20:30:02.175733Z INFO property_map_server::routes::places: GET /api/places query="settlers cou" results=0 postcodes=0 addresses=0 scanned=3474 mode="-" ms=0.7 -2026-05-05T20:30:05.896092Z INFO property_map_server::routes::places: GET /api/places query="settlers cour" results=0 postcodes=0 addresses=0 scanned=3474 mode="-" ms=0.7 -2026-05-05T20:30:06.711921Z INFO property_map_server::routes::places: GET /api/places query="settlers court" results=0 postcodes=0 addresses=20 scanned=3474 mode="-" ms=0.8 -2026-05-05T20:30:08.113285Z INFO property_map_server::routes::places: GET /api/places query="settlers cour" results=0 postcodes=0 addresses=0 scanned=3474 mode="-" ms=0.7 -2026-05-05T20:30:08.691821Z INFO property_map_server::routes::places: GET /api/places query="settlers cou" results=0 postcodes=0 addresses=0 scanned=3474 mode="-" ms=0.8 -2026-05-05T20:30:09.039485Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=2156 cells_after_filter=2155 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=7.2 json_ms=2.3 total_ms=9.5 -2026-05-05T20:30:09.452980Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=4.0 json_ms=0.2 total_ms=4.1 -2026-05-05T20:30:09.576464Z INFO property_map_server::routes::places: GET /api/places query="settlers co" results=0 postcodes=0 addresses=20 scanned=3474 mode="-" ms=0.8 -2026-05-05T20:30:14.534100Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=59 cells_after_filter=59 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=10.0 json_ms=0.1 total_ms=10.1 -2026-05-05T20:30:14.561271Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=5 travel=1 total=12434 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=22.1 -2026-05-05T20:30:45.251326Z INFO property_map_server::routes::places: GET /api/places query="settlers cour" results=0 postcodes=0 addresses=0 scanned=3474 mode="-" ms=0.8 -2026-05-05T20:30:45.475014Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=476377 parallel=true cells_before_filter=1670 cells_after_filter=1593 truncated=false bounds=51.4723,-0.2213,51.5602,-0.0129 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=6.5 json_ms=1.1 total_ms=7.6 -2026-05-05T20:30:45.811424Z INFO property_map_server::routes::places: GET /api/places query="settlers court" results=0 postcodes=0 addresses=20 scanned=3474 mode="-" ms=0.8 -2026-05-05T20:30:46.425597Z INFO property_map_server::routes::places: GET /api/places query="settlers court e" results=0 postcodes=0 addresses=20 scanned=3474 mode="-" ms=0.8 -2026-05-05T20:30:46.750193Z INFO property_map_server::routes::places: GET /api/places query="settlers court e1" results=0 postcodes=0 addresses=20 scanned=3474 mode="-" ms=0.7 -2026-05-05T20:30:47.414543Z INFO property_map_server::routes::places: GET /api/places query="settlers court e14" results=0 postcodes=0 addresses=20 scanned=3474 mode="-" ms=0.8 -2026-05-05T20:30:55.252806Z INFO property_map_server::routes::places: GET /api/places query="settlers court" results=0 postcodes=0 addresses=20 scanned=3474 mode="-" ms=0.7 -2026-05-05T20:30:57.446846Z INFO property_map_server::routes::places: GET /api/places query="eas" results=20 postcodes=0 addresses=0 scanned=3474 mode="-" ms=0.7 -2026-05-05T20:30:57.753680Z INFO property_map_server::routes::places: GET /api/places query="east" results=20 postcodes=0 addresses=20 scanned=3474 mode="-" ms=9.3 -2026-05-05T20:30:58.121557Z INFO property_map_server::routes::places: GET /api/places query="east in" results=0 postcodes=0 addresses=20 scanned=3474 mode="-" ms=8.8 -2026-05-05T20:30:58.616589Z INFO property_map_server::routes::places: GET /api/places query="east india" results=0 postcodes=0 addresses=20 scanned=3474 mode="-" ms=0.8 -2026-05-05T20:31:03.466117Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=182569 parallel=true cells_before_filter=632 cells_after_filter=631 truncated=false bounds=51.4976,-0.2014,51.5516,-0.0733 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=2.5 json_ms=0.5 total_ms=3.0 -2026-05-05T20:31:11.929770Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:31:11.934814Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:31:11.967543Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:31:11.968771Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:31:11.968846Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:31:11.969063Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:31:11.997813Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:31:11.998992Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:31:12.937844Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=182569 parallel=true cells_before_filter=632 cells_after_filter=632 truncated=false bounds=51.4974,-0.2019,51.5518,-0.0729 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.4 json_ms=0.4 total_ms=1.8 -2026-05-05T20:31:19.360259Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:31:19.362293Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:32:34.934479Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=83099 parallel=true cells_before_filter=312 cells_after_filter=300 truncated=false bounds=51.4958,-0.1756,51.5342,-0.0844 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.0 json_ms=0.2 total_ms=1.2 -2026-05-05T20:32:36.101977Z INFO property_map_server::routes::places: GET /api/places query="se" results=20 postcodes=0 addresses=0 scanned=3474 mode="-" ms=0.7 -2026-05-05T20:32:36.857469Z INFO property_map_server::routes::places: GET /api/places query="sett" results=1 postcodes=0 addresses=20 scanned=3474 mode="-" ms=0.9 -2026-05-05T20:32:37.713438Z INFO property_map_server::routes::places: GET /api/places query="settl" results=1 postcodes=0 addresses=1 scanned=3474 mode="-" ms=0.6 -2026-05-05T20:32:38.483241Z INFO property_map_server::routes::places: GET /api/places query="settler" results=0 postcodes=0 addresses=20 scanned=3474 mode="-" ms=0.6 -2026-05-05T20:32:39.339260Z INFO property_map_server::routes::places: GET /api/places query="settlert" results=0 postcodes=0 addresses=0 scanned=3474 mode="-" ms=0.8 -2026-05-05T20:32:40.233088Z INFO property_map_server::routes::places: GET /api/places query="settlers" results=0 postcodes=0 addresses=20 scanned=3474 mode="-" ms=0.6 -2026-05-05T20:32:40.798888Z INFO property_map_server::routes::places: GET /api/places query="settlers" results=0 postcodes=0 addresses=20 scanned=3474 mode="-" ms=0.6 -2026-05-05T20:32:41.168588Z INFO property_map_server::routes::places: GET /api/places query="settlers c" results=0 postcodes=0 addresses=20 scanned=3474 mode="-" ms=0.6 -2026-05-05T20:32:41.461557Z INFO property_map_server::routes::places: GET /api/places query="settlers co" results=0 postcodes=0 addresses=20 scanned=3474 mode="-" ms=0.6 -2026-05-05T20:32:41.761817Z INFO property_map_server::routes::places: GET /api/places query="settlers cou" results=0 postcodes=0 addresses=0 scanned=3474 mode="-" ms=0.6 -2026-05-05T20:32:43.482091Z INFO property_map_server::routes::places: GET /api/places query="settlers co" results=0 postcodes=0 addresses=20 scanned=3474 mode="-" ms=0.6 -2026-05-05T20:32:44.153862Z INFO property_map_server::routes::places: GET /api/places query="settlers cou" results=0 postcodes=0 addresses=0 scanned=3474 mode="-" ms=0.6 -2026-05-05T20:32:44.982231Z INFO property_map_server::routes::places: GET /api/places query="settlers co" results=0 postcodes=0 addresses=20 scanned=3474 mode="-" ms=0.6 -2026-05-05T20:32:46.026942Z INFO property_map_server::routes::places: GET /api/places query="settlers cou" results=0 postcodes=0 addresses=0 scanned=3474 mode="-" ms=0.6 -2026-05-05T20:32:46.652785Z INFO property_map_server::routes::places: GET /api/places query="settlers cour" results=0 postcodes=0 addresses=0 scanned=3474 mode="-" ms=0.8 -2026-05-05T20:32:50.496073Z INFO property_map_server::routes::places: GET /api/places query="settlers court" results=0 postcodes=0 addresses=20 scanned=3474 mode="-" ms=0.8 -2026-05-05T20:32:51.809751Z INFO property_map_server::routes::places: GET /api/places query="settlers cour" results=0 postcodes=0 addresses=0 scanned=3474 mode="-" ms=0.6 -2026-05-05T20:32:55.104537Z INFO property_map_server::routes::places: GET /api/places query="settlers cou" results=0 postcodes=0 addresses=0 scanned=3474 mode="-" ms=0.6 -2026-05-05T20:32:56.624656Z INFO property_map_server::routes::places: GET /api/places query="settlers co" results=0 postcodes=0 addresses=20 scanned=3474 mode="-" ms=0.7 -2026-05-05T20:33:03.238325Z INFO property_map_server::routes::places: GET /api/places query="settlers cou" results=0 postcodes=0 addresses=0 scanned=3474 mode="-" ms=0.7 -2026-05-05T20:33:04.759612Z INFO property_map_server::routes::places: GET /api/places query="settlers cour" results=0 postcodes=0 addresses=0 scanned=3474 mode="-" ms=0.8 -2026-05-05T20:33:06.335707Z INFO property_map_server::routes::places: GET /api/places query="settlers court" results=0 postcodes=0 addresses=20 scanned=3474 mode="-" ms=0.6 -2026-05-05T20:34:17.179914Z INFO property_map_server: Prometheus metrics initialized -2026-05-05T20:34:17.180073Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet -2026-05-05T20:34:17.180085Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet" -2026-05-05T20:34:17.251322Z INFO property_map_server::data::property: Postcode features loaded rows=1263786 -2026-05-05T20:34:17.251332Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet" -2026-05-05T20:34:19.720024Z INFO property_map_server::data::property: Properties joined with postcodes rows=15268176 -2026-05-05T20:34:19.720065Z INFO property_map_server::data::property: Feature columns from config numeric=63 enums=6 total=69 -2026-05-05T20:34:22.355183Z WARN property_map_server::data::property: Dropped properties with missing postcode coordinates rows=743076 -2026-05-05T20:34:22.355192Z INFO property_map_server::data::property: Combined data selected rows=14525100 -2026-05-05T20:34:22.476338Z INFO property_map_server::data::property: Extracting numeric feature columns -2026-05-05T20:34:22.817754Z INFO property_map_server::data::property: Computing histograms for numeric features -2026-05-05T20:34:24.032580Z INFO property_map_server::data::property: Extracting string columns -2026-05-05T20:34:25.363079Z INFO property_map_server::data::property: Building enum features -2026-05-05T20:34:26.575197Z INFO property_map_server::data::property: Extracting renovation history -2026-05-05T20:34:33.670183Z INFO property_map_server::data::property: Renovation history extracted properties_with_events=1741939 -2026-05-05T20:34:33.670193Z INFO property_map_server::data::property: Sorting rows by spatial locality -2026-05-05T20:34:34.482407Z INFO property_map_server::data::property: Building interned strings -2026-05-05T20:35:07.669753Z INFO property_map_server::data::property: Address search index built tokens=180031 prefixes=372145 pruned_tokens=0 postings=19555438 row_tokens=33733459 -2026-05-05T20:35:12.286474Z INFO property_map_server::data::property: Transposing to row-major layout (spatially sorted, quantized to u16) -2026-05-05T20:35:14.993522Z INFO property_map_server::data::property: Data loading complete -2026-05-05T20:35:16.487500Z INFO property_map_server: Allocator trim label="property data load" trimmed=true rss_before_mib=13785.1 rss_after_mib=3930.5 released_mib=9854.6 -2026-05-05T20:35:16.487511Z INFO property_map_server: Property data loaded rows=14525100 features=69 enums=6 -2026-05-05T20:35:16.487515Z INFO property_map_server: Building spatial grid index (0.01° cells) -2026-05-05T20:35:16.588116Z INFO property_map_server: Precomputing H3 cells at resolution 12 -2026-05-05T20:35:16.588127Z INFO property_map_server::data::property: Precomputing H3 cells at resolution 12 -2026-05-05T20:35:16.953533Z INFO property_map_server::data::property: H3 precomputation complete (14525100 cells) -2026-05-05T20:35:16.953558Z INFO property_map_server: Loading POI data from /app/data/filtered_uk_pois.parquet -2026-05-05T20:35:16.953565Z INFO property_map_server::data::poi: Loading POI data from "/app/data/filtered_uk_pois.parquet"... -2026-05-05T20:35:16.984876Z INFO property_map_server::data::poi: Loaded 567534 POIs -2026-05-05T20:35:17.129033Z INFO property_map_server::data::poi: POI string columns interned category_unique=94 group_unique=11 emoji_unique=71 -2026-05-05T20:35:17.130133Z INFO property_map_server::data::poi: POI data loading complete. -2026-05-05T20:35:17.176891Z INFO property_map_server: Allocator trim label="poi data load" trimmed=true rss_before_mib=4337.0 rss_after_mib=4148.1 released_mib=188.9 -2026-05-05T20:35:17.176902Z INFO property_map_server: POI data loaded pois=567534 -2026-05-05T20:35:17.176904Z INFO property_map_server: Building POI spatial grid index -2026-05-05T20:35:17.185311Z INFO property_map_server: Loading place data from /app/data/places.parquet -2026-05-05T20:35:17.185318Z INFO property_map_server::data::places: Loading place data from "/app/data/places.parquet"... -2026-05-05T20:35:17.186424Z INFO property_map_server::data::places: Loaded 3474 places -2026-05-05T20:35:17.189758Z INFO property_map_server::data::places: Place data loaded places=3474 types=2 with_population=71 with_city=3392 -2026-05-05T20:35:17.193582Z INFO property_map_server: Allocator trim label="place data load" trimmed=true rss_before_mib=4157.8 rss_after_mib=4153.3 released_mib=4.4 -2026-05-05T20:35:17.193589Z INFO property_map_server: Place data loaded places=3474 -2026-05-05T20:35:17.193597Z INFO property_map_server: Loading postcode boundaries from /app/data/postcode_boundaries -2026-05-05T20:35:17.193607Z INFO property_map_server::data::postcodes: Loading postcode boundaries from "/app/data/postcode_boundaries" -2026-05-05T20:35:17.198431Z INFO property_map_server::data::postcodes: Found GeoJSON files to process files=2361 -2026-05-05T20:35:24.415958Z INFO property_map_server::data::postcodes: Postcode boundary data ready postcodes=1490140 -2026-05-05T20:35:24.769093Z INFO property_map_server: Allocator trim label="postcode boundary load" trimmed=true rss_before_mib=11477.4 rss_after_mib=11287.8 released_mib=189.6 -2026-05-05T20:35:24.769103Z INFO property_map_server: Postcode boundaries loaded postcodes=1490140 -2026-05-05T20:35:24.909459Z INFO property_map_server::data::postcodes: Outcode data derived from postcodes outcodes=2361 -2026-05-05T20:35:24.909508Z INFO property_map_server: Loading PMTiles from /app/data/uk.pmtiles -2026-05-05T20:35:24.913175Z INFO property_map_server: PMTiles loaded successfully -2026-05-05T20:35:24.948138Z INFO property_map_server: No --dist provided; static serving disabled -2026-05-05T20:35:24.976106Z INFO property_map_server: Screenshot service configured: http://screenshot:8002 -2026-05-05T20:35:24.976256Z INFO property_map_server: Precomputed features response groups=8 -2026-05-05T20:35:24.976268Z INFO property_map_server: PocketBase configured: http://pocketbase:8090 -2026-05-05T20:35:25.038711Z INFO property_map_server::pocketbase: PocketBase users collection already has all required fields -2026-05-05T20:35:25.043787Z INFO property_map_server::pocketbase: PocketBase collection 'saved_searches' API rules updated -2026-05-05T20:35:25.048622Z INFO property_map_server::pocketbase: PocketBase collection 'saved_properties' API rules updated -2026-05-05T20:35:25.985329Z INFO property_map_server::pocketbase: PocketBase meta.appURL set to https://perfect-postcodes.co.uk/pb -2026-05-05T20:35:25.989793Z INFO property_map_server::pocketbase: PocketBase OAuth configured on users collection -2026-05-05T20:35:25.989817Z INFO property_map_server: Gemini configured (model: gemini-3-flash-preview) -2026-05-05T20:35:25.989830Z INFO property_map_server: Loading travel time data from /app/data/travel-times -2026-05-05T20:35:25.998879Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="bicycle" destinations=2753 -2026-05-05T20:35:26.006278Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="walking" destinations=2753 -2026-05-05T20:35:26.014938Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="car" destinations=2753 -2026-05-05T20:35:26.030626Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="transit" destinations=2752 -2026-05-05T20:35:26.030661Z INFO property_map_server: Travel time store loaded modes=4 -2026-05-05T20:35:26.030718Z INFO property_map_server: Precomputed AI filters system prompt -2026-05-05T20:35:31.723206Z INFO property_map_server: All memory pages locked (mlockall) -2026-05-05T20:35:31.723252Z INFO property_map_server: Server listening on 0.0.0.0:8001 -2026-05-05T20:35:38.750862Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:35:38.751350Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:35:56.339262Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:35:56.340511Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:35:56.678125Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=83099 parallel=true cells_before_filter=312 cells_after_filter=300 truncated=false bounds=51.4958,-0.1756,51.5342,-0.0844 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=4.9 json_ms=0.2 total_ms=5.1 -2026-05-05T20:36:08.122752Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:36:08.122991Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:38:02.576851Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=83099 parallel=true cells_before_filter=312 cells_after_filter=300 truncated=false bounds=51.4958,-0.1756,51.5342,-0.0844 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=4.1 json_ms=0.2 total_ms=4.3 -2026-05-05T20:38:03.452893Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89195da4d6fffff resolution=9 total_count=634 filters=0 filters_raw="-" ms=0.3 -2026-05-05T20:38:03.870993Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=64311 parallel=true cells_before_filter=249 cells_after_filter=229 truncated=false bounds=51.4958,-0.1632,51.5342,-0.0968 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=2.6 json_ms=0.1 total_ms=2.7 -2026-05-05T20:38:10.180029Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=64311 parallel=true cells_before_filter=249 cells_after_filter=229 truncated=false bounds=51.4958,-0.1632,51.5342,-0.0968 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=1.0 json_ms=0.2 total_ms=1.2 -2026-05-05T20:38:12.738595Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=64311 parallel=true cells_before_filter=249 cells_after_filter=229 truncated=false bounds=51.4958,-0.1632,51.5342,-0.0968 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=1.3 json_ms=0.2 total_ms=1.4 -2026-05-05T20:38:16.124746Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=277814 parallel=true cells_before_filter=912 cells_after_filter=875 truncated=false bounds=51.4781,-0.1989,51.5523,-0.0707 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=3.3 json_ms=0.9 total_ms=4.1 -2026-05-05T20:38:16.629901Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=88195da4d7fffff resolution=8 total_count=2176 filters=0 filters_raw="-" ms=1.6 -2026-05-05T20:38:16.794276Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87195da4dffffff resolution=7 total_count=10778 filters=0 filters_raw="-" ms=5.1 -2026-05-05T20:38:17.314986Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=7 rows=3922344 parallel=true cells_before_filter=2788 cells_after_filter=2788 truncated=false bounds=50.9780,-1.0814,51.9478,0.5921 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=30.1 json_ms=3.5 total_ms=33.7 -2026-05-05T20:38:18.303292Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=86195da4fffffff resolution=6 total_count=94429 filters=0 filters_raw="-" ms=39.1 -2026-05-05T20:38:18.646151Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=6 rows=6279992 parallel=true cells_before_filter=1202 cells_after_filter=1202 truncated=false bounds=50.3321,-2.0970,52.2454,1.1923 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.2 agg_ms=44.9 json_ms=1.0 total_ms=46.1 -2026-05-05T20:38:19.205547Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=6 rows=9740074 parallel=true cells_before_filter=2565 cells_after_filter=2565 truncated=false bounds=48.8638,-4.3558,52.9000,2.5271 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.3 agg_ms=61.3 json_ms=2.0 total_ms=63.7 -2026-05-05T20:38:21.688949Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=6 rows=13276027 parallel=true cells_before_filter=3313 cells_after_filter=3313 truncated=false bounds=49.9886,-4.1714,53.9307,2.7115 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.6 agg_ms=72.5 json_ms=2.5 total_ms=75.6 -2026-05-05T20:38:33.742878Z INFO property_map_server: Prometheus metrics initialized -2026-05-05T20:38:33.743020Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet -2026-05-05T20:38:33.743038Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet" -2026-05-05T20:38:33.834647Z INFO property_map_server::data::property: Postcode features loaded rows=1263786 -2026-05-05T20:38:33.834657Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet" -2026-05-05T20:38:36.736592Z INFO property_map_server::data::property: Properties joined with postcodes rows=15268176 -2026-05-05T20:38:36.736627Z INFO property_map_server::data::property: Feature columns from config numeric=63 enums=6 total=69 -2026-05-05T20:38:39.173482Z WARN property_map_server::data::property: Dropped properties with missing postcode coordinates rows=743076 -2026-05-05T20:38:39.173492Z INFO property_map_server::data::property: Combined data selected rows=14525100 -2026-05-05T20:38:39.296170Z INFO property_map_server::data::property: Extracting numeric feature columns -2026-05-05T20:38:39.709156Z INFO property_map_server::data::property: Computing histograms for numeric features -2026-05-05T20:38:43.517412Z INFO property_map_server: Prometheus metrics initialized -2026-05-05T20:38:43.517591Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet -2026-05-05T20:38:43.517607Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet" -2026-05-05T20:38:43.596362Z INFO property_map_server::data::property: Postcode features loaded rows=1263786 -2026-05-05T20:38:43.596374Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet" -2026-05-05T20:38:46.192783Z INFO property_map_server::data::property: Properties joined with postcodes rows=15268176 -2026-05-05T20:38:46.192835Z INFO property_map_server::data::property: Feature columns from config numeric=63 enums=6 total=69 -2026-05-05T20:38:49.740978Z WARN property_map_server::data::property: Dropped properties with missing postcode coordinates rows=743076 -2026-05-05T20:38:49.740988Z INFO property_map_server::data::property: Combined data selected rows=14525100 -2026-05-05T20:38:49.862079Z INFO property_map_server::data::property: Extracting numeric feature columns -2026-05-05T20:38:50.238201Z INFO property_map_server::data::property: Computing histograms for numeric features -2026-05-05T20:38:52.014168Z INFO property_map_server::data::property: Extracting string columns -2026-05-05T20:38:53.292719Z INFO property_map_server::data::property: Building enum features -2026-05-05T20:38:54.454321Z INFO property_map_server::data::property: Extracting renovation history -2026-05-05T20:38:56.567743Z INFO property_map_server::data::property: Renovation history extracted properties_with_events=1741939 -2026-05-05T20:38:56.567752Z INFO property_map_server::data::property: Sorting rows by spatial locality -2026-05-05T20:38:57.484521Z INFO property_map_server::data::property: Building interned strings -2026-05-05T20:39:09.476068Z INFO property_map_server::data::property: Address search index built tokens=180064 prefixes=372145 pruned_tokens=0 postings=19577075 row_tokens=49808533 -2026-05-05T20:39:14.061888Z INFO property_map_server::data::property: Transposing to row-major layout (spatially sorted, quantized to u16) -2026-05-05T20:39:16.761686Z INFO property_map_server::data::property: Data loading complete -2026-05-05T20:39:18.257274Z INFO property_map_server: Allocator trim label="property data load" trimmed=true rss_before_mib=12546.5 rss_after_mib=3898.8 released_mib=8647.7 -2026-05-05T20:39:18.257284Z INFO property_map_server: Property data loaded rows=14525100 features=69 enums=6 -2026-05-05T20:39:18.257287Z INFO property_map_server: Building spatial grid index (0.01° cells) -2026-05-05T20:39:18.358948Z INFO property_map_server: Precomputing H3 cells at resolution 12 -2026-05-05T20:39:18.358959Z INFO property_map_server::data::property: Precomputing H3 cells at resolution 12 -2026-05-05T20:39:18.711554Z INFO property_map_server::data::property: H3 precomputation complete (14525100 cells) -2026-05-05T20:39:18.711580Z INFO property_map_server: Loading POI data from /app/data/filtered_uk_pois.parquet -2026-05-05T20:39:18.711588Z INFO property_map_server::data::poi: Loading POI data from "/app/data/filtered_uk_pois.parquet"... -2026-05-05T20:39:18.737346Z INFO property_map_server::data::poi: Loaded 567534 POIs -2026-05-05T20:39:18.877948Z INFO property_map_server::data::poi: POI string columns interned category_unique=94 group_unique=11 emoji_unique=71 -2026-05-05T20:39:18.879042Z INFO property_map_server::data::poi: POI data loading complete. -2026-05-05T20:39:18.921270Z INFO property_map_server: Allocator trim label="poi data load" trimmed=true rss_before_mib=4303.1 rss_after_mib=4116.7 released_mib=186.4 -2026-05-05T20:39:18.921281Z INFO property_map_server: POI data loaded pois=567534 -2026-05-05T20:39:18.921283Z INFO property_map_server: Building POI spatial grid index -2026-05-05T20:39:18.928330Z INFO property_map_server: Loading place data from /app/data/places.parquet -2026-05-05T20:39:18.928338Z INFO property_map_server::data::places: Loading place data from "/app/data/places.parquet"... -2026-05-05T20:39:18.930736Z INFO property_map_server::data::places: Loaded 3474 places -2026-05-05T20:39:18.933976Z INFO property_map_server::data::places: Place data loaded places=3474 types=2 with_population=71 with_city=3392 -2026-05-05T20:39:18.937389Z INFO property_map_server: Allocator trim label="place data load" trimmed=true rss_before_mib=4126.4 rss_after_mib=4122.0 released_mib=4.4 -2026-05-05T20:39:18.937396Z INFO property_map_server: Place data loaded places=3474 -2026-05-05T20:39:18.937402Z INFO property_map_server: Loading postcode boundaries from /app/data/postcode_boundaries -2026-05-05T20:39:18.937408Z INFO property_map_server::data::postcodes: Loading postcode boundaries from "/app/data/postcode_boundaries" -2026-05-05T20:39:18.941770Z INFO property_map_server::data::postcodes: Found GeoJSON files to process files=2361 -2026-05-05T20:39:26.140975Z INFO property_map_server::data::postcodes: Postcode boundary data ready postcodes=1490140 -2026-05-05T20:39:26.473568Z INFO property_map_server: Allocator trim label="postcode boundary load" trimmed=true rss_before_mib=11447.6 rss_after_mib=11254.5 released_mib=193.1 -2026-05-05T20:39:26.473580Z INFO property_map_server: Postcode boundaries loaded postcodes=1490140 -2026-05-05T20:39:26.617605Z INFO property_map_server::data::postcodes: Outcode data derived from postcodes outcodes=2361 -2026-05-05T20:39:26.617660Z INFO property_map_server: Loading PMTiles from /app/data/uk.pmtiles -2026-05-05T20:39:26.617873Z INFO property_map_server: PMTiles loaded successfully -2026-05-05T20:39:26.653830Z INFO property_map_server: No --dist provided; static serving disabled -2026-05-05T20:39:26.686045Z INFO property_map_server: Screenshot service configured: http://screenshot:8002 -2026-05-05T20:39:26.686192Z INFO property_map_server: Precomputed features response groups=8 -2026-05-05T20:39:26.686204Z INFO property_map_server: PocketBase configured: http://pocketbase:8090 -2026-05-05T20:39:26.757278Z INFO property_map_server::pocketbase: PocketBase users collection already has all required fields -2026-05-05T20:39:26.761298Z INFO property_map_server::pocketbase: PocketBase collection 'saved_searches' API rules updated -2026-05-05T20:39:26.764562Z INFO property_map_server::pocketbase: PocketBase collection 'saved_properties' API rules updated -2026-05-05T20:39:27.748071Z INFO property_map_server::pocketbase: PocketBase meta.appURL set to https://perfect-postcodes.co.uk/pb -2026-05-05T20:39:27.751679Z INFO property_map_server::pocketbase: PocketBase OAuth configured on users collection -2026-05-05T20:39:27.751719Z INFO property_map_server: Gemini configured (model: gemini-3-flash-preview) -2026-05-05T20:39:27.751733Z INFO property_map_server: Loading travel time data from /app/data/travel-times -2026-05-05T20:39:27.772813Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="bicycle" destinations=2753 -2026-05-05T20:39:27.799320Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="walking" destinations=2753 -2026-05-05T20:39:27.832201Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="car" destinations=2753 -2026-05-05T20:39:27.867005Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="transit" destinations=2752 -2026-05-05T20:39:27.867037Z INFO property_map_server: Travel time store loaded modes=4 -2026-05-05T20:39:27.867087Z INFO property_map_server: Precomputed AI filters system prompt -2026-05-05T20:39:36.145596Z INFO property_map_server: All memory pages locked (mlockall) -2026-05-05T20:39:36.145637Z INFO property_map_server: Server listening on 0.0.0.0:8001 -2026-05-05T20:39:37.720439Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:39:40.441224Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:39:40.445545Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:39:46.211784Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:39:47.968849Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:39:47.973017Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:39:48.012625Z INFO property_map_server::routes::postcodes: GET /api/postcode/M44DH postcode=M4 4DH -2026-05-05T20:39:48.034683Z INFO property_map_server::routes::postcode_stats: GET /api/postcode-stats postcode=M4 4DH total_count=20 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=0.2 -2026-05-05T20:39:48.063899Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=2.0 -2026-05-05T20:39:48.082024Z INFO property_map_server::routes::postcodes: GET /api/postcode/M4 4DH postcode=M4 4DH -2026-05-05T20:39:48.201962Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=881951b74bfffff resolution=8 total_count=1174 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=0.6 -2026-05-05T20:39:48.410301Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b74a3ffff resolution=9 total_count=310 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=0.4 -2026-05-05T20:39:48.572984Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.4548,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=8.5 json_ms=0.1 total_ms=8.7 -2026-05-05T20:39:49.471243Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=5 travel=1 total=20439 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=17.4 -2026-05-05T20:39:53.342378Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:39:53.343920Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:39:53.759709Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=6 rows=13468814 parallel=true cells_before_filter=3467 cells_after_filter=3467 truncated=false bounds=49.9814,-5.4684,53.9373,4.0086 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.5 agg_ms=85.2 json_ms=4.2 total_ms=90.0 -2026-05-05T20:40:00.305377Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=2156 cells_after_filter=2155 truncated=false bounds=53.3675,-2.4548,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=7.1 json_ms=1.5 total_ms=8.6 -2026-05-05T20:40:01.330245Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.4548,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=3.5 json_ms=0.1 total_ms=3.7 -2026-05-05T20:40:03.257260Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=59 cells_after_filter=59 truncated=false bounds=53.3675,-2.4548,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=4.7 json_ms=0.1 total_ms=4.8 -2026-05-05T20:40:03.273665Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=5 travel=1 total=12434 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=22.1 -2026-05-05T20:41:33.464400Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:41:34.747954Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:41:34.749312Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:41:34.786207Z INFO property_map_server::routes::postcodes: GET /api/postcode/M44DH postcode=M4 4DH -2026-05-05T20:41:34.807144Z INFO property_map_server::routes::postcode_stats: GET /api/postcode-stats postcode=M4 4DH total_count=20 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=0.3 -2026-05-05T20:41:34.830409Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.8 -2026-05-05T20:41:34.857464Z INFO property_map_server::routes::postcodes: GET /api/postcode/M4 4DH postcode=M4 4DH -2026-05-05T20:41:34.935971Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=881951b74bfffff resolution=8 total_count=1174 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=0.8 -2026-05-05T20:41:34.966503Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b74a3ffff resolution=9 total_count=310 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=0.4 -2026-05-05T20:41:35.210245Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.4548,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=7.7 json_ms=0.2 total_ms=7.9 -2026-05-05T20:41:35.695737Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=5 travel=1 total=20439 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=19.1 -2026-05-05T20:41:44.868000Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=24870 parallel=false cells_before_filter=131 cells_after_filter=93 truncated=false bounds=51.5023,-0.1429,51.5277,-0.1171 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.8 json_ms=0.1 total_ms=0.9 -2026-05-05T20:41:47.198981Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=2156 cells_after_filter=2155 truncated=false bounds=53.3675,-2.4548,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=7.0 json_ms=1.4 total_ms=8.5 -2026-05-05T20:41:48.273559Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.4548,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=3.7 json_ms=0.1 total_ms=3.9 -2026-05-05T20:41:50.570241Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=59 cells_after_filter=59 truncated=false bounds=53.3675,-2.4548,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=3.8 json_ms=0.1 total_ms=3.9 -2026-05-05T20:41:51.134505Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=5 travel=1 total=12434 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=24.6 -2026-05-05T20:43:34.114927Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:43:35.462078Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:43:35.462541Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:43:35.496579Z INFO property_map_server::routes::postcodes: GET /api/postcode/M44DH postcode=M4 4DH -2026-05-05T20:43:35.517244Z INFO property_map_server::routes::postcode_stats: GET /api/postcode-stats postcode=M4 4DH total_count=20 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=0.3 -2026-05-05T20:43:35.538119Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.7 -2026-05-05T20:43:35.633174Z INFO property_map_server::routes::postcodes: GET /api/postcode/M4 4DH postcode=M4 4DH -2026-05-05T20:43:35.853896Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=881951b74bfffff resolution=8 total_count=1174 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=0.7 -2026-05-05T20:43:36.217205Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b74a3ffff resolution=9 total_count=310 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=0.3 -2026-05-05T20:43:36.531910Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.4548,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=4.0 json_ms=0.1 total_ms=4.1 -2026-05-05T20:43:36.782049Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=5 travel=1 total=20439 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=17.8 -2026-05-05T20:43:49.198806Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=2156 cells_after_filter=2155 truncated=false bounds=53.3675,-2.4548,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=7.1 json_ms=1.7 total_ms=8.8 -2026-05-05T20:43:50.001311Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.4548,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=4.6 json_ms=0.1 total_ms=4.7 -2026-05-05T20:43:52.235941Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=59 cells_after_filter=59 truncated=false bounds=53.3675,-2.4548,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=3.6 json_ms=0.1 total_ms=3.6 -2026-05-05T20:43:52.257013Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=5 travel=1 total=12434 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=22.1 -2026-05-05T20:44:56.732497Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:44:58.104479Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:44:58.106284Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:44:58.140156Z INFO property_map_server::routes::postcodes: GET /api/postcode/M44DH postcode=M4 4DH -2026-05-05T20:44:58.185565Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.6 -2026-05-05T20:44:58.486391Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=5.7 json_ms=0.1 total_ms=5.9 -2026-05-05T20:44:58.768317Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=556230 filters=5 travel=1 total=20439 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=20.5 -2026-05-05T20:45:10.161552Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=2446 cells_after_filter=2433 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=5.2 json_ms=1.8 total_ms=7.0 -2026-05-05T20:45:10.742652Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=3.4 json_ms=0.2 total_ms=3.6 -2026-05-05T20:45:12.042594Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=59 cells_after_filter=59 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=4.4 json_ms=0.1 total_ms=4.5 -2026-05-05T20:45:12.360920Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=556230 filters=5 travel=1 total=12434 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=22.7 -2026-05-05T20:45:20.513490Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:45:20.514592Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:45:38.164870Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:45:38.165108Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:45:48.850361Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:45:48.850364Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:45:50.615785Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:45:50.617519Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:46:08.870191Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:46:08.870382Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:46:16.379064Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:46:16.391549Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:46:19.273006Z INFO property_map_server::routes::postcodes: GET /api/postcode/M44DH postcode=M4 4DH -2026-05-05T20:46:19.277992Z INFO property_map_server::routes::postcodes: GET /api/postcode/M44FZ postcode=M4 4FZ -2026-05-05T20:46:19.283474Z INFO property_map_server::routes::postcodes: GET /api/postcode/M12WD postcode=M1 2WD -2026-05-05T20:46:19.293985Z INFO property_map_server::routes::postcodes: GET /api/postcode/M11AD postcode=M1 1AD -2026-05-05T20:46:19.299419Z INFO property_map_server::routes::postcodes: GET /api/postcode/M11BE postcode=M1 1BE -2026-05-05T20:46:19.305773Z INFO property_map_server::routes::postcodes: GET /api/postcode/M15AN postcode=M1 5AN -2026-05-05T20:46:33.155489Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:46:33.157032Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:46:33.699067Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=24870 parallel=false cells_before_filter=131 cells_after_filter=93 truncated=false bounds=51.5023,-0.1429,51.5277,-0.1171 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.4 json_ms=0.1 total_ms=0.5 -2026-05-05T20:47:01.745796Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=24870 parallel=false cells_before_filter=131 cells_after_filter=93 truncated=false bounds=51.5023,-0.1429,51.5277,-0.1171 filters=1 filters_raw="Last known price:50000:inf" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.0 json_ms=0.1 total_ms=1.1 -2026-05-05T20:47:01.991956Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=24870 filters=1 travel=0 total=24870 filters_raw="Last known price:50000:inf" ms=0.5 -2026-05-05T20:47:03.441256Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=24870 parallel=false cells_before_filter=131 cells_after_filter=93 truncated=false bounds=51.5023,-0.1429,51.5277,-0.1171 filters=1 filters_raw="Last known price:50000:inf" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=1.1 json_ms=0.1 total_ms=1.2 -2026-05-05T20:47:05.321446Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=32331 parallel=false cells_before_filter=163 cells_after_filter=135 truncated=false bounds=51.4982,-0.1461,51.5316,-0.1121 filters=1 filters_raw="Last known price:50000:inf" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=1.4 json_ms=0.1 total_ms=1.5 -2026-05-05T20:47:05.919540Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=48449 parallel=false cells_before_filter=208 cells_after_filter=140 truncated=false bounds=51.4950,-0.1464,51.5284,-0.1124 filters=1 filters_raw="Last known price:50000:inf" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=2.1 json_ms=0.1 total_ms=2.3 -2026-05-05T20:47:06.162508Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=48449 filters=1 travel=0 total=48449 filters_raw="Last known price:50000:inf" ms=1.0 -2026-05-05T20:47:09.021261Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=3532003 filters=1 travel=0 total=3532003 filters_raw="Last known price:50000:inf" ms=75.3 -2026-05-05T20:47:10.062217Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=24870 parallel=false cells_before_filter=131 cells_after_filter=93 truncated=false bounds=51.5023,-0.1429,51.5277,-0.1171 filters=1 filters_raw="Last known price:50000:inf" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=1.1 json_ms=0.1 total_ms=1.2 -2026-05-05T20:47:10.214522Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:47:10.214545Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:47:10.265155Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:47:10.266659Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:47:10.269656Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:47:10.273309Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:47:10.292973Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:47:10.294323Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:47:10.296209Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:47:10.301769Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:47:10.956290Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=3505423 filters=1 travel=0 total=3505423 filters_raw="Last known price:50000:inf" ms=76.4 -2026-05-05T20:47:11.758366Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=24870 parallel=false cells_before_filter=131 cells_after_filter=93 truncated=false bounds=51.5023,-0.1429,51.5277,-0.1171 filters=1 filters_raw="Last known price:50000:inf" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.4 json_ms=0.1 total_ms=1.5 -2026-05-05T20:47:12.007086Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=24870 filters=1 travel=0 total=24870 filters_raw="Last known price:50000:inf" ms=0.8 -2026-05-05T20:47:14.431180Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=1111087 filters=1 travel=0 total=1111087 filters_raw="Last known price:50000:inf" ms=22.1 -2026-05-05T20:47:15.260825Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=24870 parallel=false cells_before_filter=131 cells_after_filter=93 truncated=false bounds=51.5023,-0.1429,51.5277,-0.1171 filters=1 filters_raw="Last known price:50000:inf" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.0 json_ms=0.1 total_ms=1.0 -2026-05-05T20:47:15.503046Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=24870 filters=1 travel=0 total=24870 filters_raw="Last known price:50000:inf" ms=0.5 -2026-05-05T20:47:17.182404Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=1556813 filters=1 travel=0 total=1556813 filters_raw="Last known price:50000:inf" ms=34.0 -2026-05-05T20:47:17.952563Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=24870 parallel=false cells_before_filter=131 cells_after_filter=93 truncated=false bounds=51.5023,-0.1429,51.5277,-0.1171 filters=1 filters_raw="Last known price:50000:inf" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.1 json_ms=0.1 total_ms=1.1 -2026-05-05T20:47:18.196782Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=24870 filters=1 travel=0 total=24870 filters_raw="Last known price:50000:inf" ms=0.6 -2026-05-05T20:47:21.182961Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=2659834 filters=1 travel=0 total=2659834 filters_raw="Last known price:50000:inf" ms=55.2 -2026-05-05T20:47:21.714485Z INFO property_map_server::routes::postcode_stats: GET /api/postcode-stats postcode=M4 4DH total_count=20 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=0.2 -2026-05-05T20:47:21.889936Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=24870 parallel=false cells_before_filter=131 cells_after_filter=93 truncated=false bounds=51.5023,-0.1429,51.5277,-0.1171 filters=1 filters_raw="Last known price:50000:inf" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.0 json_ms=0.1 total_ms=1.0 -2026-05-05T20:47:22.134581Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=24870 filters=1 travel=0 total=24870 filters_raw="Last known price:50000:inf" ms=0.5 -2026-05-05T20:47:39.070257Z INFO property_map_server::routes::postcode_stats: GET /api/postcode-stats postcode=M4 4DH total_count=20 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=0.2 -2026-05-05T20:47:39.095437Z INFO property_map_server::routes::postcode_stats: GET /api/postcode-stats postcode=M4 4FZ total_count=106 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=0.3 -2026-05-05T20:47:39.120901Z INFO property_map_server::routes::postcode_stats: GET /api/postcode-stats postcode=M1 2WD total_count=0 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=0.2 -2026-05-05T20:47:39.143918Z INFO property_map_server::routes::postcode_stats: GET /api/postcode-stats postcode=M1 1AD total_count=0 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=0.3 -2026-05-05T20:47:39.166365Z INFO property_map_server::routes::postcode_stats: GET /api/postcode-stats postcode=M1 1BE total_count=0 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=0.2 -2026-05-05T20:47:39.189238Z INFO property_map_server::routes::postcode_stats: GET /api/postcode-stats postcode=M1 5AN total_count=0 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=0.2 -2026-05-05T20:48:01.809204Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:48:03.358254Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:48:03.358256Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:48:03.393689Z INFO property_map_server::routes::postcodes: GET /api/postcode/M44FZ postcode=M4 4FZ -2026-05-05T20:48:03.435494Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.4 -2026-05-05T20:48:03.708372Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=4.3 json_ms=0.1 total_ms=4.5 -2026-05-05T20:48:03.957244Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=556230 filters=5 travel=1 total=20439 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=19.3 -2026-05-05T20:48:22.767298Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=2446 cells_after_filter=2433 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=7.3 json_ms=1.9 total_ms=9.3 -2026-05-05T20:48:25.288249Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=4.3 json_ms=0.1 total_ms=4.4 -2026-05-05T20:48:25.579976Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=59 cells_after_filter=59 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=3.7 json_ms=0.1 total_ms=3.8 -2026-05-05T20:48:26.338381Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=556230 filters=5 travel=1 total=12434 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=28.2 -2026-05-05T20:48:32.506261Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=24870 parallel=false cells_before_filter=131 cells_after_filter=93 truncated=false bounds=51.5023,-0.1429,51.5277,-0.1171 filters=1 filters_raw="Last known price:50000:inf" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.1 json_ms=0.1 total_ms=1.2 -2026-05-05T20:48:32.683790Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=24870 filters=1 travel=0 total=24870 filters_raw="Last known price:50000:inf" ms=0.7 -2026-05-05T20:49:57.174556Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:49:58.444599Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:49:58.445755Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:49:58.477614Z INFO property_map_server::routes::postcodes: GET /api/postcode/M44FZ postcode=M4 4FZ -2026-05-05T20:49:58.503185Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.4 -2026-05-05T20:49:58.503335Z INFO property_map_server::routes::postcode_stats: GET /api/postcode-stats postcode=M4 4FZ total_count=144 filters=0 filters_raw="-" ms=0.3 -2026-05-05T20:49:58.519716Z INFO property_map_server::routes::postcodes: GET /api/postcode/M4 4FZ postcode=M4 4FZ -2026-05-05T20:49:58.609568Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=881951b74bfffff resolution=8 total_count=2958 filters=0 filters_raw="-" ms=1.5 -2026-05-05T20:49:58.799574Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b74a3ffff resolution=9 total_count=1241 filters=0 filters_raw="-" ms=0.6 -2026-05-05T20:49:58.990774Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=163 cells_after_filter=163 truncated=false bounds=53.3675,-2.4548,53.5912,-2.0354 filters=0 filters_raw="-" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=2.6 json_ms=0.1 total_ms=2.7 -2026-05-05T20:49:59.616535Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=1 travel=1 total=41544 filters_raw="-" ms=11.8 -2026-05-05T20:50:07.510186Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.7 -2026-05-05T20:50:07.534949Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b74a3ffff resolution=9 total_count=310 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=0.4 -2026-05-05T20:50:07.536000Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.5 -2026-05-05T20:50:07.805472Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.4548,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=4.9 json_ms=0.2 total_ms=5.1 -2026-05-05T20:50:08.102791Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=2.9 json_ms=0.1 total_ms=3.1 -2026-05-05T20:50:08.303474Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=5 travel=1 total=20439 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=24.8 -2026-05-05T20:50:12.620618Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=2156 cells_after_filter=2155 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=7.3 json_ms=2.2 total_ms=9.5 -2026-05-05T20:50:14.256694Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=3.2 json_ms=0.1 total_ms=3.3 -2026-05-05T20:50:14.926171Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=59 cells_after_filter=59 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=3.5 json_ms=0.1 total_ms=3.6 -2026-05-05T20:50:15.465345Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=5 travel=1 total=12434 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=23.9 -2026-05-05T20:51:56.715512Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:51:56.718014Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:51:56.741872Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:51:56.741892Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:51:56.754797Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:51:56.755822Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:51:56.773866Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:51:56.774340Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:51:56.801397Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:51:56.801401Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T20:51:57.419234Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=3505423 filters=1 travel=0 total=3505423 filters_raw="Last known price:50000:inf" ms=72.8 -2026-05-05T20:52:49.670382Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=24870 parallel=false cells_before_filter=131 cells_after_filter=93 truncated=false bounds=51.5023,-0.1429,51.5277,-0.1171 filters=1 filters_raw="Last known price:50000:inf" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.0 json_ms=0.1 total_ms=1.1 -2026-05-05T20:52:49.957141Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=24870 filters=1 travel=0 total=24870 filters_raw="Last known price:50000:inf" ms=0.5 -2026-05-05T20:59:53.444348Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T20:59:53.446477Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T21:00:34.150386Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T21:00:34.150401Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T21:01:04.924830Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T21:01:04.926092Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T21:02:56.023555Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T21:02:56.023597Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T21:07:04.060822Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T21:07:04.068482Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T21:08:01.247230Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T21:08:01.248481Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T21:10:55.306607Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T21:10:55.308692Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T21:11:14.893184Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T21:11:14.894432Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T21:11:22.046936Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T21:11:22.048448Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T21:12:44.554900Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T21:12:44.555250Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T21:12:50.081172Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T21:12:50.086239Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T21:12:55.688136Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T21:12:55.688336Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T21:13:00.263721Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T21:13:00.265488Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T21:13:14.350161Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T21:13:14.350162Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T21:14:38.161598Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T21:14:38.170474Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T21:17:44.133125Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T21:17:44.134291Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T21:18:45.734735Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T21:18:45.736753Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T21:25:16.862913Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T21:25:16.863277Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T21:25:53.105489Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=11318 parallel=false cells_before_filter=380 cells_after_filter=363 truncated=false bounds=50.9954,-1.3207,51.0982,-1.0405 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.3 json_ms=0.2 total_ms=0.5 -2026-05-05T21:26:06.464998Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T21:26:06.465961Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T21:26:06.773040Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=11318 parallel=false cells_before_filter=380 cells_after_filter=363 truncated=false bounds=50.9954,-1.3207,51.0982,-1.0405 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.3 json_ms=0.3 total_ms=0.6 -2026-05-05T21:26:08.686005Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=8 rows=291392 parallel=true cells_before_filter=2485 cells_after_filter=2481 truncated=false bounds=50.8884,-1.6525,51.2556,-0.6513 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=3.8 json_ms=1.6 total_ms=5.3 -2026-05-05T21:35:19.535962Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T21:35:19.536004Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T21:35:20.928669Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T21:35:20.943703Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T21:35:21.260328Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T21:35:21.263080Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T21:35:22.518336Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T21:35:22.519413Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T21:35:22.552338Z INFO property_map_server::routes::postcodes: GET /api/postcode/M44FZ postcode=M4 4FZ -2026-05-05T21:35:22.579079Z INFO property_map_server::routes::postcode_stats: GET /api/postcode-stats postcode=M4 4FZ total_count=144 filters=0 filters_raw="-" ms=0.4 -2026-05-05T21:35:22.579978Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.6 -2026-05-05T21:35:22.595218Z INFO property_map_server::routes::postcodes: GET /api/postcode/M4 4FZ postcode=M4 4FZ -2026-05-05T21:35:22.684822Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=881951b74bfffff resolution=8 total_count=2958 filters=0 filters_raw="-" ms=1.1 -2026-05-05T21:35:23.324836Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b74a3ffff resolution=9 total_count=1241 filters=0 filters_raw="-" ms=0.6 -2026-05-05T21:35:23.507421Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=163 cells_after_filter=163 truncated=false bounds=53.3675,-2.4548,53.5912,-2.0354 filters=0 filters_raw="-" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=2.9 json_ms=0.1 total_ms=3.1 -2026-05-05T21:35:23.866219Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=1 travel=1 total=41544 filters_raw="-" ms=11.3 -2026-05-05T21:35:32.108784Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.7 -2026-05-05T21:35:32.135015Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b74a3ffff resolution=9 total_count=310 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=0.3 -2026-05-05T21:35:32.136509Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.7 -2026-05-05T21:35:33.790810Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=4.0 json_ms=0.2 total_ms=4.1 -2026-05-05T21:35:33.818308Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=5 travel=1 total=20439 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=20.4 -2026-05-05T21:35:37.753394Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=2156 cells_after_filter=2155 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=7.4 json_ms=2.0 total_ms=9.4 -2026-05-05T21:35:39.940308Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=3.9 json_ms=0.1 total_ms=4.0 -2026-05-05T21:35:40.981422Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=59 cells_after_filter=59 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=4.6 json_ms=0.1 total_ms=4.7 -2026-05-05T21:35:41.681395Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=5 travel=1 total=12434 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=23.1 -2026-05-05T21:36:50.130617Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T21:36:50.137912Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T21:37:36.248757Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T21:37:36.255038Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T21:37:36.856875Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T21:37:36.856933Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T21:37:36.873429Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T21:37:36.880771Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T21:40:03.751467Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T21:40:09.196030Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T21:40:10.589453Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T21:40:10.589833Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T21:40:10.622151Z INFO property_map_server::routes::postcodes: GET /api/postcode/M44FZ postcode=M4 4FZ -2026-05-05T21:40:10.650954Z INFO property_map_server::routes::postcode_stats: GET /api/postcode-stats postcode=M4 4FZ total_count=144 filters=0 filters_raw="-" ms=0.3 -2026-05-05T21:40:10.651985Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.6 -2026-05-05T21:40:10.699279Z INFO property_map_server::routes::postcodes: GET /api/postcode/M4 4FZ postcode=M4 4FZ -2026-05-05T21:40:10.712262Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=881951b74bfffff resolution=8 total_count=2958 filters=0 filters_raw="-" ms=1.1 -2026-05-05T21:40:10.882037Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b74a3ffff resolution=9 total_count=1241 filters=0 filters_raw="-" ms=0.6 -2026-05-05T21:40:11.183074Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=163 cells_after_filter=163 truncated=false bounds=53.3675,-2.4548,53.5912,-2.0354 filters=0 filters_raw="-" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=3.5 json_ms=0.1 total_ms=3.6 -2026-05-05T21:40:11.556734Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=1 travel=1 total=41544 filters_raw="-" ms=12.9 -2026-05-05T21:40:20.767960Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.5 -2026-05-05T21:40:20.796799Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b74a3ffff resolution=9 total_count=310 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=0.4 -2026-05-05T21:40:20.798737Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=2.5 -2026-05-05T21:40:21.381833Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=7.7 json_ms=0.2 total_ms=7.9 -2026-05-05T21:40:21.399664Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=5 travel=1 total=20439 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=20.6 -2026-05-05T21:40:24.897526Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=2156 cells_after_filter=2155 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=10.6 json_ms=1.9 total_ms=12.5 -2026-05-05T21:40:25.086271Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=4.0 json_ms=0.1 total_ms=4.1 -2026-05-05T21:40:27.093792Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=59 cells_after_filter=59 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=2.6 json_ms=0.1 total_ms=2.7 -2026-05-05T21:40:27.109216Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=5 travel=1 total=12434 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=17.8 -2026-05-05T21:41:49.677712Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T21:41:51.102585Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T21:41:51.103971Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T21:41:51.136237Z INFO property_map_server::routes::postcodes: GET /api/postcode/M44FZ postcode=M4 4FZ -2026-05-05T21:41:51.164096Z INFO property_map_server::routes::postcode_stats: GET /api/postcode-stats postcode=M4 4FZ total_count=144 filters=0 filters_raw="-" ms=0.3 -2026-05-05T21:41:51.165332Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.8 -2026-05-05T21:41:51.181286Z INFO property_map_server::routes::postcodes: GET /api/postcode/M4 4FZ postcode=M4 4FZ -2026-05-05T21:41:51.269962Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=881951b74bfffff resolution=8 total_count=2958 filters=0 filters_raw="-" ms=1.1 -2026-05-05T21:41:51.920774Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b74a3ffff resolution=9 total_count=1241 filters=0 filters_raw="-" ms=0.5 -2026-05-05T21:41:52.111652Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=163 cells_after_filter=163 truncated=false bounds=53.3675,-2.4548,53.5912,-2.0354 filters=0 filters_raw="-" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=3.5 json_ms=0.1 total_ms=3.6 -2026-05-05T21:41:52.396733Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=1 travel=1 total=41544 filters_raw="-" ms=12.1 -2026-05-05T21:42:01.835682Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.9 -2026-05-05T21:42:01.856925Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b74a3ffff resolution=9 total_count=310 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=0.4 -2026-05-05T21:42:01.861410Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=4.9 -2026-05-05T21:42:02.025694Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.4548,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=11.1 json_ms=0.1 total_ms=11.3 -2026-05-05T21:42:03.370679Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=3.5 json_ms=0.2 total_ms=3.7 -2026-05-05T21:42:03.390285Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=5 travel=1 total=20439 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=23.1 -2026-05-05T21:42:07.747532Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=2156 cells_after_filter=2155 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=7.0 json_ms=2.2 total_ms=9.3 -2026-05-05T21:42:07.971145Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=4.8 json_ms=0.1 total_ms=4.9 -2026-05-05T21:42:10.063960Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=59 cells_after_filter=59 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=4.0 json_ms=0.1 total_ms=4.1 -2026-05-05T21:42:13.030016Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=5 travel=1 total=12434 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=22.1 -2026-05-05T21:43:23.988313Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T21:43:23.989906Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T21:43:38.937614Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T21:43:40.739899Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T21:43:40.741294Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T21:43:40.836366Z INFO property_map_server::routes::postcodes: GET /api/postcode/M44FZ postcode=M4 4FZ -2026-05-05T21:43:40.871628Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.7 -2026-05-05T21:43:40.871677Z INFO property_map_server::routes::postcode_stats: GET /api/postcode-stats postcode=M4 4FZ total_count=144 filters=0 filters_raw="-" ms=0.3 -2026-05-05T21:43:40.963658Z INFO property_map_server::routes::postcodes: GET /api/postcode/M4 4FZ postcode=M4 4FZ -2026-05-05T21:43:40.972553Z INFO property_map_server::routes::postcodes: GET /api/postcode/M4 4FZ postcode=M4 4FZ -2026-05-05T21:43:41.228623Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=163 cells_after_filter=163 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=0 filters_raw="-" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=2.8 json_ms=0.2 total_ms=3.0 -2026-05-05T21:43:41.589568Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b74a3ffff resolution=9 total_count=1241 filters=0 filters_raw="-" ms=0.9 -2026-05-05T21:43:41.611940Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=556230 filters=1 travel=1 total=41544 filters_raw="-" ms=15.0 -2026-05-05T21:43:42.106439Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=163 cells_after_filter=163 truncated=false bounds=53.3675,-2.4548,53.5912,-2.0354 filters=0 filters_raw="-" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=4.9 json_ms=0.2 total_ms=5.1 -2026-05-05T21:43:42.148975Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=1 travel=1 total=41544 filters_raw="-" ms=12.9 -2026-05-05T21:43:50.925280Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.7 -2026-05-05T21:43:50.950197Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b74a3ffff resolution=9 total_count=310 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=0.4 -2026-05-05T21:43:50.952039Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=2.3 -2026-05-05T21:43:51.901986Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=2.9 json_ms=0.1 total_ms=3.1 -2026-05-05T21:43:51.952950Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=5 travel=1 total=20439 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=23.4 -2026-05-05T21:43:56.136201Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=2156 cells_after_filter=2155 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=6.7 json_ms=1.6 total_ms=8.3 -2026-05-05T21:43:56.549574Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=4.0 json_ms=0.2 total_ms=4.1 -2026-05-05T21:43:58.005257Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=59 cells_after_filter=59 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=3.6 json_ms=0.1 total_ms=3.7 -2026-05-05T21:43:58.316362Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=5 travel=1 total=12434 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=21.2 -2026-05-05T21:43:59.526091Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T21:43:59.526363Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T21:44:05.897144Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T21:44:05.899027Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T21:44:23.329571Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=223412 parallel=true cells_before_filter=740 cells_after_filter=698 truncated=false bounds=51.4896,-0.2000,51.5404,-0.0600 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.6 json_ms=0.4 total_ms=2.0 -2026-05-05T21:45:36.770349Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T21:45:36.770355Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T21:46:55.780524Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T21:46:57.151058Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T21:46:57.152528Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T21:46:57.183975Z INFO property_map_server::routes::postcodes: GET /api/postcode/M44FZ postcode=M4 4FZ -2026-05-05T21:46:57.210662Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.4 -2026-05-05T21:46:57.210978Z INFO property_map_server::routes::postcode_stats: GET /api/postcode-stats postcode=M4 4FZ total_count=144 filters=0 filters_raw="-" ms=0.3 -2026-05-05T21:46:57.229878Z INFO property_map_server::routes::postcodes: GET /api/postcode/M4 4FZ postcode=M4 4FZ -2026-05-05T21:46:57.313945Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=881951b74bfffff resolution=8 total_count=2958 filters=0 filters_raw="-" ms=1.1 -2026-05-05T21:46:57.497295Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b74a3ffff resolution=9 total_count=1241 filters=0 filters_raw="-" ms=0.8 -2026-05-05T21:46:57.674945Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=163 cells_after_filter=163 truncated=false bounds=53.3675,-2.4548,53.5912,-2.0354 filters=0 filters_raw="-" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=2.9 json_ms=0.1 total_ms=3.0 -2026-05-05T21:46:58.291511Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=1 travel=1 total=41544 filters_raw="-" ms=12.0 -2026-05-05T21:47:08.638543Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T21:47:08.640080Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T21:47:08.693213Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T21:47:08.696020Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T21:47:08.698555Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T21:47:08.698706Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T21:47:08.708540Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T21:47:08.712376Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T21:47:08.881143Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.7 -2026-05-05T21:47:08.922170Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.5 -2026-05-05T21:47:08.922265Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b74a3ffff resolution=9 total_count=310 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=0.4 -2026-05-05T21:47:09.053354Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.4548,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=2.7 json_ms=0.1 total_ms=2.8 -2026-05-05T21:47:09.585970Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=2.7 json_ms=0.1 total_ms=2.8 -2026-05-05T21:47:09.606306Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=5 travel=1 total=20439 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=23.2 -2026-05-05T21:47:14.368249Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=2156 cells_after_filter=2155 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=9.1 json_ms=2.6 total_ms=11.7 -2026-05-05T21:47:15.268987Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=4.2 json_ms=0.1 total_ms=4.4 -2026-05-05T21:47:16.742521Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T21:47:16.742526Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T21:47:19.144031Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=59 cells_after_filter=59 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=4.8 json_ms=0.1 total_ms=4.9 -2026-05-05T21:47:21.329311Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=5 travel=1 total=12434 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=18.9 -2026-05-05T21:48:19.552426Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T21:48:20.910287Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T21:48:20.911597Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T21:48:20.944503Z INFO property_map_server::routes::postcodes: GET /api/postcode/M44FZ postcode=M4 4FZ -2026-05-05T21:48:20.970972Z INFO property_map_server::routes::postcode_stats: GET /api/postcode-stats postcode=M4 4FZ total_count=144 filters=0 filters_raw="-" ms=0.3 -2026-05-05T21:48:20.971485Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.4 -2026-05-05T21:48:20.988965Z INFO property_map_server::routes::postcodes: GET /api/postcode/M4 4FZ postcode=M4 4FZ -2026-05-05T21:48:21.070355Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=881951b74bfffff resolution=8 total_count=2958 filters=0 filters_raw="-" ms=1.3 -2026-05-05T21:48:21.194673Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b74a3ffff resolution=9 total_count=1241 filters=0 filters_raw="-" ms=0.7 -2026-05-05T21:48:21.406038Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=163 cells_after_filter=163 truncated=false bounds=53.3675,-2.4548,53.5912,-2.0354 filters=0 filters_raw="-" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=5.1 json_ms=0.2 total_ms=5.3 -2026-05-05T21:48:22.149166Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=1 travel=1 total=41544 filters_raw="-" ms=11.6 -2026-05-05T21:48:26.000886Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T21:48:26.000890Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T21:48:27.742269Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T21:48:27.743395Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T21:48:27.877066Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T21:48:27.877153Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T21:48:27.877463Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T21:48:27.882051Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T21:48:27.891902Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T21:48:27.892061Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T21:48:31.303985Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=2.2 -2026-05-05T21:48:31.324969Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b74a3ffff resolution=9 total_count=310 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=0.3 -2026-05-05T21:48:31.326996Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=2.4 -2026-05-05T21:48:31.688134Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=4.8 json_ms=0.1 total_ms=5.0 -2026-05-05T21:48:32.516497Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=5 travel=1 total=20439 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=18.0 -2026-05-05T21:48:38.027758Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=2156 cells_after_filter=2155 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=6.0 json_ms=1.7 total_ms=7.7 -2026-05-05T21:48:38.546001Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=3.2 json_ms=0.1 total_ms=3.3 -2026-05-05T21:48:40.622421Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=59 cells_after_filter=59 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=4.1 json_ms=0.1 total_ms=4.2 -2026-05-05T21:48:42.032479Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=5 travel=1 total=12434 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=22.6 -2026-05-05T21:49:10.338613Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T21:49:10.339888Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T21:50:46.231350Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T21:50:46.232494Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T21:50:46.232853Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T21:50:46.234575Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T21:50:46.261419Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T21:50:46.261843Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T21:50:46.286185Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T21:50:46.287577Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T21:50:47.072067Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T21:50:47.072362Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T21:50:47.073288Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T21:50:47.076801Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T21:50:47.117663Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T21:50:47.117695Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T21:50:47.118146Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T21:50:47.125177Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T21:50:52.820159Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T21:50:52.826259Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T21:50:52.826495Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T21:50:52.836857Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T21:50:52.858218Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T21:50:52.858230Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T21:50:52.894119Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T21:50:52.895473Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T21:52:16.280628Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T21:52:17.757767Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T21:52:17.759242Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T21:52:17.784497Z INFO property_map_server::routes::postcodes: GET /api/postcode/M44FZ postcode=M4 4FZ -2026-05-05T21:52:17.795311Z INFO property_map_server::routes::postcode_stats: GET /api/postcode-stats postcode=M4 4FZ total_count=144 filters=0 filters_raw="-" ms=0.4 -2026-05-05T21:52:17.821652Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.4 -2026-05-05T21:52:17.830328Z INFO property_map_server::routes::postcodes: GET /api/postcode/M4 4FZ postcode=M4 4FZ -2026-05-05T21:52:17.906952Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=881951b74bfffff resolution=8 total_count=2958 filters=0 filters_raw="-" ms=1.4 -2026-05-05T21:52:18.280692Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b74a3ffff resolution=9 total_count=1241 filters=0 filters_raw="-" ms=0.6 -2026-05-05T21:52:18.442852Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=163 cells_after_filter=163 truncated=false bounds=53.3675,-2.4548,53.5912,-2.0354 filters=0 filters_raw="-" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=2.3 json_ms=0.1 total_ms=2.4 -2026-05-05T21:52:18.775913Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=1 travel=1 total=41544 filters_raw="-" ms=12.3 -2026-05-05T21:52:29.653339Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T21:52:29.661372Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T21:52:29.947627Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=2.0 -2026-05-05T21:52:29.968963Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b74a3ffff resolution=9 total_count=310 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=0.3 -2026-05-05T21:52:29.970311Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.8 -2026-05-05T21:52:30.307589Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=3.7 json_ms=0.1 total_ms=3.8 -2026-05-05T21:52:30.524199Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T21:52:30.524204Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T21:52:30.624729Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=5 travel=1 total=20439 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=26.4 -2026-05-05T21:52:35.559305Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=2156 cells_after_filter=2155 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=9.0 json_ms=2.1 total_ms=11.1 -2026-05-05T21:52:35.822961Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=2.7 json_ms=0.1 total_ms=2.9 -2026-05-05T21:52:37.260802Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=59 cells_after_filter=59 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=3.5 json_ms=0.1 total_ms=3.5 -2026-05-05T21:52:37.768202Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=5 travel=1 total=12434 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=21.9 -2026-05-05T21:53:03.831217Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T21:53:03.831449Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T21:53:03.848657Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T21:53:03.848697Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T21:53:03.880252Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T21:53:03.880653Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T21:53:03.890238Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T21:53:03.891728Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T21:53:03.901154Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T21:53:03.902246Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T21:53:18.725683Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T21:53:18.725685Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T21:54:05.076079Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T21:54:05.076294Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T21:56:34.822373Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T21:56:36.141237Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T21:56:36.142948Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T21:56:36.207992Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.8 -2026-05-05T21:56:36.504745Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=163 cells_after_filter=163 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=0 filters_raw="-" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=3.2 json_ms=0.2 total_ms=3.3 -2026-05-05T21:56:36.733128Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=556230 filters=1 travel=1 total=41544 filters_raw="-" ms=13.1 -2026-05-05T21:56:40.571881Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.3 -2026-05-05T21:56:40.583234Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.5 -2026-05-05T21:56:40.892631Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=4.5 json_ms=0.2 total_ms=4.6 -2026-05-05T21:56:41.062742Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=556230 filters=5 travel=1 total=20439 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=24.6 -2026-05-05T21:56:43.955287Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=2446 cells_after_filter=2433 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=7.9 json_ms=2.5 total_ms=10.4 -2026-05-05T21:56:44.345169Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=9.5 json_ms=0.1 total_ms=9.7 -2026-05-05T21:56:46.004109Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=59 cells_after_filter=59 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=5.2 json_ms=0.1 total_ms=5.2 -2026-05-05T21:56:46.078279Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=556230 filters=5 travel=1 total=12434 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=24.5 -2026-05-05T21:56:51.868367Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=268290 parallel=true cells_before_filter=59 cells_after_filter=59 truncated=false bounds=53.4198,-2.4014,53.5395,-2.1022 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=2.3 json_ms=0.1 total_ms=2.4 -2026-05-05T21:56:51.879357Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=268290 filters=5 travel=1 total=12434 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=13.3 -2026-05-05T21:56:52.896449Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=173011 parallel=true cells_before_filter=59 cells_after_filter=59 truncated=false bounds=53.4360,-2.3633,53.5235,-2.1444 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.8 json_ms=0.1 total_ms=1.8 -2026-05-05T21:56:52.901548Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=173011 filters=5 travel=1 total=12434 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=6.9 -2026-05-05T21:57:14.298418Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b7467ffff resolution=9 total_count=149 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=0.3 -2026-05-05T21:57:14.913263Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T21:57:15.416546Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=141822 parallel=true cells_before_filter=59 cells_after_filter=59 truncated=false bounds=53.4360,-2.3359,53.5235,-2.1718 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=1.8 json_ms=0.1 total_ms=1.9 -2026-05-05T21:57:15.455008Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=141822 filters=5 travel=1 total=12434 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=8.2 -2026-05-05T21:57:18.611959Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T21:57:18.611965Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T21:57:18.724225Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=2.3 -2026-05-05T21:57:19.334648Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=163 cells_after_filter=163 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=0 filters_raw="-" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=8.3 json_ms=0.2 total_ms=8.5 -2026-05-05T21:57:20.412105Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=556230 filters=1 travel=1 total=41544 filters_raw="-" ms=26.8 -2026-05-05T21:57:23.399746Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=2.1 -2026-05-05T21:57:23.425315Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=2.1 -2026-05-05T21:57:23.643747Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=7.9 json_ms=0.1 total_ms=8.0 -2026-05-05T21:57:25.019448Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=556230 filters=5 travel=1 total=20439 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=27.7 -2026-05-05T21:57:27.456478Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=2446 cells_after_filter=2433 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=21.8 json_ms=2.6 total_ms=24.5 -2026-05-05T21:57:27.801520Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=7.9 json_ms=0.2 total_ms=8.0 -2026-05-05T21:57:29.430108Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=59 cells_after_filter=59 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=5.0 json_ms=0.1 total_ms=5.1 -2026-05-05T21:57:29.984292Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=556230 filters=5 travel=1 total=12434 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=27.1 -2026-05-05T21:57:37.788237Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=268290 parallel=true cells_before_filter=59 cells_after_filter=59 truncated=false bounds=53.4198,-2.4014,53.5395,-2.1022 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=4.6 json_ms=0.1 total_ms=4.7 -2026-05-05T21:57:38.031795Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=173011 parallel=true cells_before_filter=59 cells_after_filter=59 truncated=false bounds=53.4360,-2.3633,53.5235,-2.1444 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=4.3 json_ms=0.1 total_ms=4.4 -2026-05-05T21:57:39.262206Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=173011 filters=5 travel=1 total=12434 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=9.9 -2026-05-05T21:57:58.793587Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b7467ffff resolution=9 total_count=149 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=0.2 -2026-05-05T21:57:59.886649Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=141822 parallel=true cells_before_filter=59 cells_after_filter=59 truncated=false bounds=53.4360,-2.3359,53.5235,-2.1718 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=2.2 json_ms=0.1 total_ms=2.3 -2026-05-05T21:57:59.945458Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=141822 filters=5 travel=1 total=12434 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=6.3 -2026-05-05T21:58:10.755620Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T21:58:10.757205Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T21:58:26.903364Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T21:58:26.904448Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T22:01:32.049909Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T22:01:34.012407Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T22:01:34.014056Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T22:01:34.073888Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.9 -2026-05-05T22:01:34.604384Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=163 cells_after_filter=163 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=0 filters_raw="-" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=3.2 json_ms=0.2 total_ms=3.3 -2026-05-05T22:01:35.318029Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=556230 filters=1 travel=1 total=41544 filters_raw="-" ms=14.1 -2026-05-05T22:01:38.545948Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=2.1 -2026-05-05T22:01:38.559798Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.9 -2026-05-05T22:01:39.087439Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=3.9 json_ms=0.1 total_ms=4.1 -2026-05-05T22:01:39.111716Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=556230 filters=5 travel=1 total=20439 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=21.4 -2026-05-05T22:01:42.572213Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=2446 cells_after_filter=2433 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=9.2 json_ms=2.5 total_ms=11.7 -2026-05-05T22:01:42.812709Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=3.5 json_ms=0.1 total_ms=3.6 -2026-05-05T22:01:44.895449Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=59 cells_after_filter=59 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=4.4 json_ms=0.1 total_ms=4.5 -2026-05-05T22:01:44.915751Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=556230 filters=5 travel=1 total=12434 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=21.0 -2026-05-05T22:02:00.539658Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b70abffff resolution=9 total_count=1487 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=0.6 -2026-05-05T22:02:01.209769Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=59 cells_after_filter=59 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=4.1 json_ms=0.1 total_ms=4.2 -2026-05-05T22:02:01.410662Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=5 travel=1 total=12434 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=21.9 -2026-05-05T22:02:30.280215Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T22:02:30.280220Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T22:02:30.494339Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T22:02:30.494338Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T22:03:04.445153Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T22:03:05.814766Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T22:03:05.816218Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T22:03:05.877835Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.5 -2026-05-05T22:03:06.171149Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=163 cells_after_filter=163 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=0 filters_raw="-" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=3.1 json_ms=0.2 total_ms=3.3 -2026-05-05T22:03:06.416637Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=556230 filters=1 travel=1 total=41544 filters_raw="-" ms=13.0 -2026-05-05T22:03:10.243319Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.4 -2026-05-05T22:03:10.254863Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.3 -2026-05-05T22:03:11.600208Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=4.8 json_ms=0.1 total_ms=4.9 -2026-05-05T22:03:11.620435Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=556230 filters=5 travel=1 total=20439 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=24.2 -2026-05-05T22:03:14.007173Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=2446 cells_after_filter=2433 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=6.0 json_ms=1.9 total_ms=7.9 -2026-05-05T22:03:17.458780Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=3.2 json_ms=0.2 total_ms=3.5 -2026-05-05T22:03:18.845895Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=59 cells_after_filter=59 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=4.8 json_ms=0.1 total_ms=4.9 -2026-05-05T22:03:18.864525Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=556230 filters=5 travel=1 total=12434 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=22.8 -2026-05-05T22:03:35.601665Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b70abffff resolution=9 total_count=1487 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=0.6 -2026-05-05T22:03:36.222150Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=59 cells_after_filter=59 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=3.7 json_ms=0.1 total_ms=3.8 -2026-05-05T22:03:36.513454Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=5 travel=1 total=12434 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=23.9 -2026-05-05T22:04:11.176851Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T22:04:12.558667Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T22:04:12.559951Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T22:04:12.628604Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.5 -2026-05-05T22:04:12.929976Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=163 cells_after_filter=163 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=0 filters_raw="-" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=3.4 json_ms=0.2 total_ms=3.6 -2026-05-05T22:04:13.173110Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=556230 filters=1 travel=1 total=41544 filters_raw="-" ms=13.1 -2026-05-05T22:04:16.988146Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.6 -2026-05-05T22:04:17.000016Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.4 -2026-05-05T22:04:17.925005Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=5.9 json_ms=0.1 total_ms=6.0 -2026-05-05T22:04:17.940327Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=556230 filters=5 travel=1 total=20439 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=21.2 -2026-05-05T22:04:20.338637Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=2446 cells_after_filter=2433 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=6.4 json_ms=1.9 total_ms=8.3 -2026-05-05T22:04:20.819388Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=3.2 json_ms=0.2 total_ms=3.4 -2026-05-05T22:04:23.030591Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=59 cells_after_filter=59 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=4.9 json_ms=0.1 total_ms=4.9 -2026-05-05T22:04:23.052922Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=556230 filters=5 travel=1 total=12434 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=27.3 -2026-05-05T22:04:40.188074Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b70abffff resolution=9 total_count=1487 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=1.0 -2026-05-05T22:04:40.729235Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=59 cells_after_filter=59 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=3.9 json_ms=0.1 total_ms=4.0 -2026-05-05T22:04:40.995511Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=5 travel=1 total=12434 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=25.3 -2026-05-05T22:05:34.435389Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T22:05:35.713246Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T22:05:35.713807Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T22:05:35.775163Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.8 -2026-05-05T22:05:36.061950Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=163 cells_after_filter=163 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=0 filters_raw="-" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=3.9 json_ms=0.1 total_ms=4.1 -2026-05-05T22:05:36.320303Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=556230 filters=1 travel=1 total=41544 filters_raw="-" ms=12.8 -2026-05-05T22:05:40.134229Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=2.3 -2026-05-05T22:05:40.151547Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.6 -2026-05-05T22:05:41.222363Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=4.0 json_ms=0.1 total_ms=4.1 -2026-05-05T22:05:41.245295Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=556230 filters=5 travel=1 total=20439 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=27.0 -2026-05-05T22:05:44.655480Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=2446 cells_after_filter=2433 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=8.1 json_ms=2.4 total_ms=10.5 -2026-05-05T22:05:45.759197Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=3.4 json_ms=0.1 total_ms=3.5 -2026-05-05T22:05:46.783618Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=59 cells_after_filter=59 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=3.7 json_ms=0.1 total_ms=3.7 -2026-05-05T22:05:47.179663Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=556230 filters=5 travel=1 total=12434 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=26.6 -2026-05-05T22:05:52.156396Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b70abffff resolution=9 total_count=1487 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=1.1 -2026-05-05T22:05:56.697343Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=59 cells_after_filter=59 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=3.4 json_ms=0.1 total_ms=3.5 -2026-05-05T22:06:00.750033Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=5 travel=1 total=12434 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=29.0 -2026-05-05T22:07:46.408950Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T22:07:47.806303Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T22:07:47.807699Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T22:07:47.869410Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.5 -2026-05-05T22:07:48.207181Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=163 cells_after_filter=163 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=0 filters_raw="-" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=4.6 json_ms=0.1 total_ms=4.8 -2026-05-05T22:07:48.419634Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=556230 filters=1 travel=1 total=41544 filters_raw="-" ms=14.1 -2026-05-05T22:07:52.350175Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=2.0 -2026-05-05T22:07:52.364217Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=2.0 -2026-05-05T22:07:52.637745Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=3.7 json_ms=0.2 total_ms=3.9 -2026-05-05T22:07:53.569400Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=556230 filters=5 travel=1 total=20439 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=23.5 -2026-05-05T22:07:58.242591Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=2446 cells_after_filter=2433 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=8.5 json_ms=1.7 total_ms=10.2 -2026-05-05T22:07:59.705019Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=3.7 json_ms=0.2 total_ms=3.9 -2026-05-05T22:08:01.282032Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=59 cells_after_filter=59 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=4.0 json_ms=0.1 total_ms=4.1 -2026-05-05T22:08:01.302333Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=556230 filters=5 travel=1 total=12434 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=24.3 -2026-05-05T22:08:07.868528Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b70abffff resolution=9 total_count=1487 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=1.1 -2026-05-05T22:08:11.985786Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=59 cells_after_filter=59 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=5.5 json_ms=0.1 total_ms=5.6 -2026-05-05T22:08:14.126304Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=5 travel=1 total=12434 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=22.2 -2026-05-05T22:09:36.351097Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T22:09:37.648717Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T22:09:37.650429Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T22:09:37.718577Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.4 -2026-05-05T22:09:38.022594Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=163 cells_after_filter=163 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=0 filters_raw="-" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=3.2 json_ms=0.2 total_ms=3.4 -2026-05-05T22:09:38.479616Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=556230 filters=1 travel=1 total=41544 filters_raw="-" ms=15.1 -2026-05-05T22:09:42.116891Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.3 -2026-05-05T22:09:42.129082Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.7 -2026-05-05T22:09:43.385938Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=4.5 json_ms=0.1 total_ms=4.6 -2026-05-05T22:09:43.405845Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=556230 filters=5 travel=1 total=20439 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=24.7 -2026-05-05T22:09:45.802330Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=2446 cells_after_filter=2433 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=6.0 json_ms=1.7 total_ms=7.7 -2026-05-05T22:09:46.150374Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=3.9 json_ms=0.1 total_ms=4.0 -2026-05-05T22:09:47.635412Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=59 cells_after_filter=59 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=4.4 json_ms=0.1 total_ms=4.5 -2026-05-05T22:09:51.024342Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=556230 filters=5 travel=1 total=12434 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=26.9 -2026-05-05T22:09:57.125364Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b70abffff resolution=9 total_count=1487 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=1.0 -2026-05-05T22:10:01.670253Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=59 cells_after_filter=59 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=3.0 json_ms=0.1 total_ms=3.1 -2026-05-05T22:10:03.962206Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=5 travel=1 total=12434 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=21.3 -2026-05-05T22:11:29.323311Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T22:11:29.324866Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T22:11:29.326169Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T22:11:29.327416Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T22:11:29.341892Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T22:11:29.342825Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T22:11:29.358511Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T22:11:29.361667Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T22:11:31.233803Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T22:11:31.233808Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T22:11:31.244858Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T22:11:31.244881Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T22:11:31.244950Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T22:11:31.246951Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T22:11:31.285478Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T22:11:31.286881Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T22:22:58.183462Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=83099 parallel=true cells_before_filter=312 cells_after_filter=300 truncated=false bounds=51.4958,-0.1756,51.5342,-0.0844 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.0 json_ms=0.2 total_ms=1.1 -2026-05-05T22:22:59.659662Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89195da49c3ffff resolution=9 total_count=238 filters=0 filters_raw="-" ms=0.3 -2026-05-05T22:23:00.015894Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=64311 parallel=true cells_before_filter=249 cells_after_filter=229 truncated=false bounds=51.4958,-0.1632,51.5342,-0.0968 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.8 json_ms=0.1 total_ms=0.9 -2026-05-05T22:23:11.413301Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=64311 parallel=true cells_before_filter=249 cells_after_filter=229 truncated=false bounds=51.4958,-0.1632,51.5342,-0.0968 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=0.9 json_ms=0.2 total_ms=1.0 -2026-05-05T22:23:18.040570Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=64311 parallel=true cells_before_filter=249 cells_after_filter=229 truncated=false bounds=51.4958,-0.1632,51.5342,-0.0968 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=0.9 json_ms=0.2 total_ms=1.2 -2026-05-05T22:43:15.610059Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=83099 parallel=true cells_before_filter=312 cells_after_filter=300 truncated=false bounds=51.4958,-0.1756,51.5342,-0.0844 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.8 json_ms=0.2 total_ms=1.0 -2026-05-05T22:43:16.903828Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=32331 parallel=false cells_before_filter=163 cells_after_filter=149 truncated=false bounds=51.4958,-0.1497,51.5342,-0.1103 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.6 json_ms=0.1 total_ms=0.7 -2026-05-05T22:43:20.549697Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=19171 parallel=false cells_before_filter=105 cells_after_filter=94 truncated=false bounds=51.4978,-0.1407,51.5322,-0.1193 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.4 json_ms=0.1 total_ms=0.4 -2026-05-05T22:43:21.976727Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=19171 parallel=false cells_before_filter=105 cells_after_filter=100 truncated=false bounds=51.4978,-0.1424,51.5322,-0.1176 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.5 json_ms=0.1 total_ms=0.6 -2026-05-05T22:43:22.293571Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=40248 parallel=false cells_before_filter=186 cells_after_filter=175 truncated=false bounds=51.4978,-0.1547,51.5322,-0.1053 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.7 json_ms=0.1 total_ms=0.8 -2026-05-05T22:43:22.845608Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=32331 parallel=false cells_before_filter=163 cells_after_filter=146 truncated=false bounds=51.4978,-0.1490,51.5322,-0.1110 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.6 json_ms=0.1 total_ms=0.6 -2026-05-05T22:43:23.303420Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89195da4d23ffff resolution=9 total_count=4 filters=0 filters_raw="-" ms=0.1 -2026-05-05T22:43:42.565671Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T22:43:44.001279Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T22:43:44.001506Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T22:43:44.076119Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.4 -2026-05-05T22:43:44.654476Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=163 cells_after_filter=163 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=0 filters_raw="-" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=2.5 json_ms=0.1 total_ms=2.6 -2026-05-05T22:43:44.894850Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=556230 filters=1 travel=1 total=41544 filters_raw="-" ms=11.6 -2026-05-05T22:43:48.729626Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.4 -2026-05-05T22:43:48.741364Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.6 -2026-05-05T22:43:48.926131Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=4.1 json_ms=0.2 total_ms=4.3 -2026-05-05T22:43:49.231122Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=556230 filters=5 travel=1 total=20439 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=28.6 -2026-05-05T22:43:51.908240Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=2446 cells_after_filter=2433 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=8.9 json_ms=2.3 total_ms=11.2 -2026-05-05T22:43:53.360428Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=4.1 json_ms=0.2 total_ms=4.2 -2026-05-05T22:43:57.147224Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=59 cells_after_filter=59 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=4.1 json_ms=0.1 total_ms=4.2 -2026-05-05T22:43:57.169568Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=556230 filters=5 travel=1 total=12434 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=26.6 -2026-05-05T22:44:07.124405Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b70abffff resolution=9 total_count=1487 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=1.0 -2026-05-05T22:44:11.794994Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=59 cells_after_filter=59 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=3.1 json_ms=0.1 total_ms=3.2 -2026-05-05T22:44:15.007697Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=5 travel=1 total=12434 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=26.1 -2026-05-05T22:44:33.883430Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T22:44:33.883631Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T22:44:33.956903Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T22:44:33.957097Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T22:44:34.066338Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T22:44:34.066345Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T22:44:34.151042Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T22:44:34.151631Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T22:44:34.917734Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=32331 parallel=false cells_before_filter=163 cells_after_filter=146 truncated=false bounds=51.4978,-0.1490,51.5322,-0.1110 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.6 json_ms=0.1 total_ms=0.7 -2026-05-05T22:45:56.400232Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=32331 parallel=false cells_before_filter=163 cells_after_filter=146 truncated=false bounds=51.4978,-0.1490,51.5322,-0.1110 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.6 json_ms=0.1 total_ms=0.7 -2026-05-05T22:46:00.243885Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=32331 parallel=false cells_before_filter=163 cells_after_filter=146 truncated=false bounds=51.4978,-0.1490,51.5322,-0.1110 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=1.6 json_ms=0.1 total_ms=1.7 -2026-05-05T22:46:02.123616Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=32331 parallel=false cells_before_filter=163 cells_after_filter=151 truncated=false bounds=51.4957,-0.1512,51.5334,-0.1097 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=1.5 json_ms=0.1 total_ms=1.6 -2026-05-05T22:46:03.665847Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=90632 parallel=true cells_before_filter=347 cells_after_filter=312 truncated=false bounds=51.4868,-0.1624,51.5414,-0.1022 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=1.8 json_ms=0.3 total_ms=2.1 -2026-05-05T22:46:04.264588Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=414377 parallel=true cells_before_filter=1471 cells_after_filter=1371 truncated=false bounds=51.4530,-0.2043,51.5713,-0.0741 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=3.6 json_ms=1.1 total_ms=4.7 -2026-05-05T22:46:06.547788Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=32331 parallel=false cells_before_filter=163 cells_after_filter=146 truncated=false bounds=51.4978,-0.1490,51.5322,-0.1110 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=1.5 json_ms=0.1 total_ms=1.7 -2026-05-05T22:46:16.636099Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=32331 parallel=false cells_before_filter=163 cells_after_filter=146 truncated=false bounds=51.4978,-0.1490,51.5322,-0.1110 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=1.5 json_ms=0.1 total_ms=1.6 -2026-05-05T22:46:23.394449Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=32331 parallel=false cells_before_filter=163 cells_after_filter=146 truncated=false bounds=51.4978,-0.1490,51.5322,-0.1110 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=1.6 json_ms=0.1 total_ms=1.7 -2026-05-05T22:46:24.308069Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=32331 parallel=false cells_before_filter=162 cells_after_filter=145 truncated=false bounds=51.4978,-0.1490,51.5322,-0.1110 filters=1 filters_raw="Price per sqm:12:30077.969" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=1.5 json_ms=0.1 total_ms=1.6 -2026-05-05T22:46:24.553931Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=32331 filters=1 travel=0 total=26612 filters_raw="Price per sqm:12:30077.969" ms=0.8 -2026-05-05T22:46:26.959319Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=32787 parallel=false cells_before_filter=151 cells_after_filter=134 truncated=false bounds=51.4952,-0.1532,51.5297,-0.1152 filters=1 filters_raw="Price per sqm:12:30077.969" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=1.6 json_ms=0.1 total_ms=1.7 -2026-05-05T22:46:27.318926Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=58963 parallel=true cells_before_filter=238 cells_after_filter=206 truncated=false bounds=51.4900,-0.1588,51.5326,-0.1119 filters=1 filters_raw="Price per sqm:12:30077.969" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=1.2 json_ms=0.2 total_ms=1.4 -2026-05-05T22:46:27.749837Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=108235 parallel=true cells_before_filter=389 cells_after_filter=374 truncated=false bounds=51.4786,-0.1710,51.5391,-0.1044 filters=1 filters_raw="Price per sqm:12:30077.969" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=1.6 json_ms=0.4 total_ms=2.0 -2026-05-05T22:46:28.171700Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=339930 parallel=true cells_before_filter=1157 cells_after_filter=1088 truncated=false bounds=51.4504,-0.2014,51.5554,-0.0858 filters=1 filters_raw="Price per sqm:12:30077.969" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=3.0 json_ms=1.0 total_ms=4.0 -2026-05-05T22:46:28.601824Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=749457 parallel=true cells_before_filter=3198 cells_after_filter=3059 truncated=false bounds=51.3997,-0.2558,51.5845,-0.0524 filters=1 filters_raw="Price per sqm:12:30077.969" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=6.0 json_ms=2.1 total_ms=8.1 -2026-05-05T22:46:29.055179Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=8 rows=1560750 parallel=true cells_before_filter=1545 cells_after_filter=1535 truncated=false bounds=51.3051,-0.3572,51.6387,0.0098 filters=1 filters_raw="Price per sqm:12:30077.969" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=11.5 json_ms=1.0 total_ms=12.5 -2026-05-05T22:46:29.321372Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=1560750 filters=1 travel=0 total=1299177 filters_raw="Price per sqm:12:30077.969" ms=34.9 -2026-05-05T22:46:33.087766Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=7 rows=2261657 parallel=true cells_before_filter=616 cells_after_filter=616 truncated=false bounds=51.1810,-0.4615,51.7329,0.1455 filters=1 filters_raw="Price per sqm:12:30077.969" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=12.7 json_ms=0.4 total_ms=13.1 -2026-05-05T22:46:33.494231Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=7 rows=2918823 parallel=true cells_before_filter=1362 cells_after_filter=1362 truncated=false bounds=51.0169,-0.6036,51.8540,0.3166 filters=1 filters_raw="Price per sqm:12:30077.969" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=12.6 json_ms=1.0 total_ms=13.7 -2026-05-05T22:46:33.752516Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=2918823 filters=1 travel=0 total=2383011 filters_raw="Price per sqm:12:30077.969" ms=62.9 -2026-05-05T22:46:41.495897Z INFO property_map_server::routes::pois: GET /api/pois results=30 candidates=110817 categories=1 categories_raw="Ferry" ms=1.1 -2026-05-05T22:46:54.343178Z INFO property_map_server::routes::pois: GET /api/pois results=546 candidates=110817 categories=2 categories_raw="Ferry,Rail station" ms=1.4 -2026-05-05T22:46:55.441445Z INFO property_map_server::routes::pois: GET /api/pois results=548 candidates=110817 categories=3 categories_raw="Ferry,Rail station,Airport" ms=1.5 -2026-05-05T22:46:55.794750Z INFO property_map_server::routes::pois: GET /api/pois results=549 candidates=110817 categories=4 categories_raw="Ferry,Rail station,Airport,Bus station" ms=1.5 -2026-05-05T22:46:56.155646Z INFO property_map_server::routes::pois: GET /api/pois results=10000 candidates=110817 categories=5 categories_raw="Ferry,Rail station,Airport,Bus station,Bus stop" ms=6.7 -2026-05-05T22:48:05.525357Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87195db43ffffff resolution=7 total_count=91 filters=1 filters_raw="Price per sqm:12:30077.969" ms=0.1 -2026-05-05T22:50:01.895537Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87195db43ffffff resolution=7 total_count=127 filters=0 filters_raw="-" ms=0.1 -2026-05-05T22:50:02.051971Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=7 rows=2918823 parallel=true cells_before_filter=1363 cells_after_filter=1363 truncated=false bounds=51.0169,-0.6036,51.8540,0.3166 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=6.3 json_ms=0.6 total_ms=7.0 -2026-05-05T22:50:31.118058Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=7 rows=2918823 parallel=true cells_before_filter=1363 cells_after_filter=1363 truncated=false bounds=51.0169,-0.6036,51.8540,0.3166 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=7.1 json_ms=0.6 total_ms=7.8 -2026-05-05T22:50:31.118295Z INFO property_map_server::routes::pois: GET /api/pois results=10000 candidates=110817 categories=5 categories_raw="Ferry,Rail station,Airport,Bus station,Bus stop" ms=8.0 -2026-05-05T22:51:30.713271Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=7 rows=2918823 parallel=true cells_before_filter=1363 cells_after_filter=1363 truncated=false bounds=51.0169,-0.6036,51.8540,0.3166 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=7.2 json_ms=0.7 total_ms=7.9 -2026-05-05T22:51:30.714292Z INFO property_map_server::routes::pois: GET /api/pois results=10000 candidates=110817 categories=5 categories_raw="Ferry,Rail station,Airport,Bus station,Bus stop" ms=8.8 -2026-05-05T22:53:32.469648Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T22:53:32.472277Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T22:53:49.086905Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=32331 parallel=false cells_before_filter=163 cells_after_filter=146 truncated=false bounds=51.4978,-0.1490,51.5322,-0.1110 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.6 json_ms=0.1 total_ms=0.7 -2026-05-05T22:54:09.482457Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=32331 parallel=false cells_before_filter=163 cells_after_filter=146 truncated=false bounds=51.4978,-0.1490,51.5322,-0.1110 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.6 json_ms=0.1 total_ms=0.7 -2026-05-05T22:54:21.493756Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T22:54:21.496988Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T22:54:26.683522Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T22:54:26.689059Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T22:55:49.934502Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T22:55:51.273763Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T22:55:51.274240Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T22:55:51.342597Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.4 -2026-05-05T22:55:51.625779Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=163 cells_after_filter=163 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=0 filters_raw="-" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=2.6 json_ms=0.1 total_ms=2.7 -2026-05-05T22:55:51.883818Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=556230 filters=1 travel=1 total=41544 filters_raw="-" ms=13.2 -2026-05-05T22:56:00.674036Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=2.0 -2026-05-05T22:56:00.688452Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.6 -2026-05-05T22:56:01.660467Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=3.3 json_ms=0.2 total_ms=3.5 -2026-05-05T22:56:01.686325Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=556230 filters=5 travel=1 total=20439 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=29.2 -2026-05-05T22:56:08.892303Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=2446 cells_after_filter=2433 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=10.0 json_ms=2.4 total_ms=12.4 -2026-05-05T22:56:09.044778Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=4.5 json_ms=0.2 total_ms=4.6 -2026-05-05T22:56:27.273066Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=59 cells_after_filter=59 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=3.5 json_ms=0.1 total_ms=3.5 -2026-05-05T22:56:27.290297Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=556230 filters=5 travel=1 total=12434 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=20.8 -2026-05-05T22:56:41.380242Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b70abffff resolution=9 total_count=1487 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=1.1 -2026-05-05T22:56:48.559932Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=59 cells_after_filter=59 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=5.9 json_ms=0.1 total_ms=6.0 -2026-05-05T22:56:48.598808Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=5 travel=1 total=12434 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=25.7 -2026-05-05T22:59:17.850275Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T22:59:19.683668Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T22:59:19.685209Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T22:59:19.868856Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.4 -2026-05-05T22:59:20.700955Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=163 cells_after_filter=163 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=0 filters_raw="-" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=2.9 json_ms=0.2 total_ms=3.1 -2026-05-05T22:59:21.388973Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=556230 filters=1 travel=1 total=41544 filters_raw="-" ms=18.5 -2026-05-05T22:59:30.197488Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=2.0 -2026-05-05T22:59:30.209877Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.8 -2026-05-05T22:59:31.524992Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=4.1 json_ms=0.1 total_ms=4.2 -2026-05-05T22:59:31.552172Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=556230 filters=5 travel=1 total=20439 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=31.5 -2026-05-05T22:59:39.058584Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=2446 cells_after_filter=2433 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=8.2 json_ms=2.4 total_ms=10.5 -2026-05-05T22:59:40.888781Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=4.3 json_ms=0.2 total_ms=4.4 -2026-05-05T22:59:49.369015Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=59 cells_after_filter=59 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=2.9 json_ms=0.1 total_ms=3.0 -2026-05-05T22:59:53.656223Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=556230 filters=5 travel=1 total=12434 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=24.4 -2026-05-05T23:00:06.632909Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b70abffff resolution=9 total_count=1487 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=1.1 -2026-05-05T23:00:14.326078Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=59 cells_after_filter=59 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=4.6 json_ms=0.1 total_ms=4.7 -2026-05-05T23:00:14.345041Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=5 travel=1 total=12434 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=24.1 -2026-05-05T23:02:44.138033Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T23:02:45.527629Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T23:02:45.528980Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T23:02:45.591980Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.7 -2026-05-05T23:02:45.870217Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=163 cells_after_filter=163 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=0 filters_raw="-" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=2.3 json_ms=0.2 total_ms=2.5 -2026-05-05T23:02:46.138216Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=556230 filters=1 travel=1 total=41544 filters_raw="-" ms=13.9 -2026-05-05T23:02:55.255284Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=2.3 -2026-05-05T23:02:55.284710Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=2.3 -2026-05-05T23:02:56.543228Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=5.1 json_ms=0.2 total_ms=5.2 -2026-05-05T23:02:56.565466Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=556230 filters=5 travel=1 total=20439 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=27.6 -2026-05-05T23:03:04.737677Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=2446 cells_after_filter=2433 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=8.4 json_ms=2.3 total_ms=10.7 -2026-05-05T23:03:06.524250Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=4.0 json_ms=0.2 total_ms=4.1 -2026-05-05T23:03:21.842452Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=59 cells_after_filter=59 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=4.6 json_ms=0.1 total_ms=4.7 -2026-05-05T23:03:21.864802Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=556230 filters=5 travel=1 total=12434 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=27.0 -2026-05-05T23:03:42.145302Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b70abffff resolution=9 total_count=1487 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=1.1 -2026-05-05T23:03:46.908451Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=499440 parallel=true cells_before_filter=59 cells_after_filter=59 truncated=false bounds=53.3675,-2.4549,53.5912,-2.0354 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=2.5 json_ms=0.1 total_ms=2.6 -2026-05-05T23:03:47.229906Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=499440 filters=5 travel=1 total=12434 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=24.5 -2026-05-05T23:05:31.402218Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T23:05:31.414308Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T23:05:31.415566Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T23:05:31.415719Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T23:05:31.436317Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T23:05:31.436387Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T23:05:31.451985Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T23:05:31.452263Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T23:05:31.961090Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=32331 parallel=false cells_before_filter=163 cells_after_filter=146 truncated=false bounds=51.4978,-0.1490,51.5322,-0.1110 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.7 json_ms=0.1 total_ms=0.8 -2026-05-05T23:06:57.415147Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T23:06:58.764931Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T23:06:58.766642Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T23:06:58.836054Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.5 -2026-05-05T23:06:59.176972Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=163 cells_after_filter=163 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=0 filters_raw="-" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=2.3 json_ms=0.1 total_ms=2.5 -2026-05-05T23:06:59.430262Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=556230 filters=1 travel=1 total=41544 filters_raw="-" ms=12.3 -2026-05-05T23:07:08.481220Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.9 -2026-05-05T23:07:08.494481Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.8 -2026-05-05T23:07:09.211888Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=3.7 json_ms=0.1 total_ms=3.9 -2026-05-05T23:07:09.235165Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=556230 filters=5 travel=1 total=20439 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=27.3 -2026-05-05T23:07:16.474238Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=2446 cells_after_filter=2433 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=7.3 json_ms=2.7 total_ms=9.9 -2026-05-05T23:07:21.423747Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=4.3 json_ms=0.2 total_ms=4.4 -2026-05-05T23:07:28.025215Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=59 cells_after_filter=59 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=3.0 json_ms=0.1 total_ms=3.1 -2026-05-05T23:07:30.260151Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=556230 filters=5 travel=1 total=12434 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=21.9 -2026-05-05T23:07:40.399802Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=470423 parallel=true cells_before_filter=59 cells_after_filter=59 truncated=false bounds=53.3848,-2.4911,53.5741,-2.0174 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=3.0 json_ms=0.1 total_ms=3.1 -2026-05-05T23:07:42.310630Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=328746 parallel=true cells_before_filter=59 cells_after_filter=59 truncated=false bounds=53.4065,-2.4487,53.5527,-2.0829 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=3.3 json_ms=0.1 total_ms=3.4 -2026-05-05T23:07:42.807273Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=328746 parallel=true cells_before_filter=59 cells_after_filter=59 truncated=false bounds=53.4065,-2.4487,53.5527,-2.0829 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=2.1 json_ms=0.1 total_ms=2.2 -2026-05-05T23:07:42.872719Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=328746 filters=5 travel=1 total=12434 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=17.6 -2026-05-05T23:07:44.921638Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b70abffff resolution=9 total_count=1487 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=1.1 -2026-05-05T23:07:46.846641Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=283073 parallel=true cells_before_filter=59 cells_after_filter=59 truncated=false bounds=53.4065,-2.4029,53.5527,-2.1286 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=3.1 json_ms=0.1 total_ms=3.2 -2026-05-05T23:07:47.055307Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=283073 filters=5 travel=1 total=12434 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=11.3 -2026-05-05T23:09:24.286826Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T23:09:24.288081Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T23:09:24.310068Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T23:09:24.310452Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T23:09:24.328925Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T23:09:24.330142Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T23:09:24.376513Z INFO property_map_server::routes::features: GET /api/features -2026-05-05T23:09:24.386911Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-05T23:09:24.866051Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=32331 parallel=false cells_before_filter=163 cells_after_filter=146 truncated=false bounds=51.4978,-0.1490,51.5322,-0.1110 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.8 json_ms=0.1 total_ms=0.9 diff --git a/server-rs/logs/server.log.2026-05-06 b/server-rs/logs/server.log.2026-05-06 deleted file mode 100644 index 4fc0e8a..0000000 --- a/server-rs/logs/server.log.2026-05-06 +++ /dev/null @@ -1,78 +0,0 @@ -2026-05-06T06:24:15.704164Z INFO property_map_server::routes::features: GET /api/features -2026-05-06T06:24:15.851886Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-06T07:12:47.756563Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=32331 parallel=false cells_before_filter=163 cells_after_filter=149 truncated=false bounds=51.4958,-0.1497,51.5342,-0.1103 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.6 json_ms=0.1 total_ms=0.7 -2026-05-06T07:12:51.057411Z INFO property_map_server::routes::pois: GET /api/pois results=8114 candidates=8143 categories=94 categories_raw="Airport,Bus station,Bus stop,Ferry,Rail station,Taxi rank,Tube station,Aldi,Asda,Bakery,Booths,Budgens,Butcher & Fishmonger,COOK,Co-op,Convenience Store,Costco,Deli & Specialty,Farmfoods,Greengrocer,Heron Foods,Iceland,Lidl,M&S,Makro,Morrisons,Off-Licence,Planet Organic,Sainsbury's,Spar,Supermarket,Tesco,Waitrose,Whole Foods Market,Bar,Café,Cinema,Entertainment,Fast Food,Live Music & Events,Nightclub,Park,Playground,Pub,Restaurant,Sports Centre,Theatre,School,Care Home,Counselling & Therapy,Dentist,GP Surgery,Hospital & Clinic,Medical & Mobility,Optician,Pharmacy,Physiotherapy,Ambulance Station,Fire Station,Police,Community Centre,EV Charging,Fuel Station,Hotel,Local Business,Offices,Arts Centre,Gallery,Library,Museum,Place of Worship,Tourist Attraction,Zoo,Bank,Car Services,Dry Cleaner & Laundry,Gym & Fitness,Hairdresser & Beauty,Other,Post Office,Travel Agent,Vet & Pet Care,Bookshop,Charity Shop,DIY & Hardware,Department Store,Electronics,Fashion & Clothing,Gift & Hobby,Home & Garden,Newsagent,Pet Shop,Specialist Shop,Sports & Outdoor" ms=2.9 -2026-05-06T07:12:53.465923Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=109329 parallel=true cells_before_filter=400 cells_after_filter=367 truncated=false bounds=51.4830,-0.1594,51.5444,-0.0964 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.1 json_ms=0.2 total_ms=1.3 -2026-05-06T07:12:53.470208Z INFO property_map_server::routes::pois: GET /api/pois results=10000 candidates=13896 categories=94 categories_raw="Airport,Bus station,Bus stop,Ferry,Rail station,Taxi rank,Tube station,Aldi,Asda,Bakery,Booths,Budgens,Butcher & Fishmonger,COOK,Co-op,Convenience Store,Costco,Deli & Specialty,Farmfoods,Greengrocer,Heron Foods,Iceland,Lidl,M&S,Makro,Morrisons,Off-Licence,Planet Organic,Sainsbury's,Spar,Supermarket,Tesco,Waitrose,Whole Foods Market,Bar,Café,Cinema,Entertainment,Fast Food,Live Music & Events,Nightclub,Park,Playground,Pub,Restaurant,Sports Centre,Theatre,School,Care Home,Counselling & Therapy,Dentist,GP Surgery,Hospital & Clinic,Medical & Mobility,Optician,Pharmacy,Physiotherapy,Ambulance Station,Fire Station,Police,Community Centre,EV Charging,Fuel Station,Hotel,Local Business,Offices,Arts Centre,Gallery,Library,Museum,Place of Worship,Tourist Attraction,Zoo,Bank,Car Services,Dry Cleaner & Laundry,Gym & Fitness,Hairdresser & Beauty,Other,Post Office,Travel Agent,Vet & Pet Care,Bookshop,Charity Shop,DIY & Hardware,Department Store,Electronics,Fashion & Clothing,Gift & Hobby,Home & Garden,Newsagent,Pet Shop,Specialist Shop,Sports & Outdoor" ms=4.4 -2026-05-06T07:12:54.729810Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=163973 parallel=true cells_before_filter=583 cells_after_filter=552 truncated=false bounds=51.4759,-0.1656,51.5526,-0.0869 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.3 json_ms=0.3 total_ms=1.5 -2026-05-06T07:12:54.734619Z INFO property_map_server::routes::pois: GET /api/pois results=10000 candidates=17509 categories=94 categories_raw="Airport,Bus station,Bus stop,Ferry,Rail station,Taxi rank,Tube station,Aldi,Asda,Bakery,Booths,Budgens,Butcher & Fishmonger,COOK,Co-op,Convenience Store,Costco,Deli & Specialty,Farmfoods,Greengrocer,Heron Foods,Iceland,Lidl,M&S,Makro,Morrisons,Off-Licence,Planet Organic,Sainsbury's,Spar,Supermarket,Tesco,Waitrose,Whole Foods Market,Bar,Café,Cinema,Entertainment,Fast Food,Live Music & Events,Nightclub,Park,Playground,Pub,Restaurant,Sports Centre,Theatre,School,Care Home,Counselling & Therapy,Dentist,GP Surgery,Hospital & Clinic,Medical & Mobility,Optician,Pharmacy,Physiotherapy,Ambulance Station,Fire Station,Police,Community Centre,EV Charging,Fuel Station,Hotel,Local Business,Offices,Arts Centre,Gallery,Library,Museum,Place of Worship,Tourist Attraction,Zoo,Bank,Car Services,Dry Cleaner & Laundry,Gym & Fitness,Hairdresser & Beauty,Other,Post Office,Travel Agent,Vet & Pet Care,Bookshop,Charity Shop,DIY & Hardware,Department Store,Electronics,Fashion & Clothing,Gift & Hobby,Home & Garden,Newsagent,Pet Shop,Specialist Shop,Sports & Outdoor" ms=4.8 -2026-05-06T07:13:00.198267Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=360388 parallel=true cells_before_filter=1242 cells_after_filter=1226 truncated=false bounds=51.4759,-0.2171,51.5526,-0.0354 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=2.3 json_ms=0.6 total_ms=2.8 -2026-05-06T07:13:00.201735Z INFO property_map_server::routes::pois: GET /api/pois results=10000 candidates=28781 categories=94 categories_raw="Airport,Bus station,Bus stop,Ferry,Rail station,Taxi rank,Tube station,Aldi,Asda,Bakery,Booths,Budgens,Butcher & Fishmonger,COOK,Co-op,Convenience Store,Costco,Deli & Specialty,Farmfoods,Greengrocer,Heron Foods,Iceland,Lidl,M&S,Makro,Morrisons,Off-Licence,Planet Organic,Sainsbury's,Spar,Supermarket,Tesco,Waitrose,Whole Foods Market,Bar,Café,Cinema,Entertainment,Fast Food,Live Music & Events,Nightclub,Park,Playground,Pub,Restaurant,Sports Centre,Theatre,School,Care Home,Counselling & Therapy,Dentist,GP Surgery,Hospital & Clinic,Medical & Mobility,Optician,Pharmacy,Physiotherapy,Ambulance Station,Fire Station,Police,Community Centre,EV Charging,Fuel Station,Hotel,Local Business,Offices,Arts Centre,Gallery,Library,Museum,Place of Worship,Tourist Attraction,Zoo,Bank,Car Services,Dry Cleaner & Laundry,Gym & Fitness,Hairdresser & Beauty,Other,Post Office,Travel Agent,Vet & Pet Care,Bookshop,Charity Shop,DIY & Hardware,Department Store,Electronics,Fashion & Clothing,Gift & Hobby,Home & Garden,Newsagent,Pet Shop,Specialist Shop,Sports & Outdoor" ms=6.3 -2026-05-06T07:13:05.333847Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=360388 parallel=true cells_before_filter=1242 cells_after_filter=1226 truncated=false bounds=51.4759,-0.2171,51.5526,-0.0354 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=3.3 json_ms=0.9 total_ms=4.2 -2026-05-06T07:13:08.713423Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=360388 parallel=true cells_before_filter=1242 cells_after_filter=1226 truncated=false bounds=51.4759,-0.2171,51.5526,-0.0354 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=3.2 json_ms=0.9 total_ms=4.1 -2026-05-06T07:13:13.136900Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=360388 parallel=true cells_before_filter=1242 cells_after_filter=1226 truncated=false bounds=51.4759,-0.2171,51.5526,-0.0354 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=3.1 json_ms=0.9 total_ms=4.0 -2026-05-06T07:14:05.699501Z INFO property_map_server::routes::features: GET /api/features -2026-05-06T07:14:07.875074Z INFO property_map_server::routes::features: GET /api/features -2026-05-06T07:14:07.877346Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-06T07:14:08.019024Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.4 -2026-05-06T07:14:08.941722Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=163 cells_after_filter=163 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=0 filters_raw="-" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=2.9 json_ms=0.1 total_ms=3.1 -2026-05-06T07:14:09.179080Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=556230 filters=1 travel=1 total=41544 filters_raw="-" ms=12.0 -2026-05-06T07:14:18.221435Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=2.1 -2026-05-06T07:14:18.236889Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=2.3 -2026-05-06T07:14:19.840645Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=4.5 json_ms=0.1 total_ms=4.7 -2026-05-06T07:14:19.866316Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=556230 filters=5 travel=1 total=20439 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=24.0 -2026-05-06T07:14:26.999239Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=2446 cells_after_filter=2433 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=8.4 json_ms=2.5 total_ms=10.9 -2026-05-06T07:14:31.542557Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=5.3 json_ms=0.2 total_ms=5.5 -2026-05-06T07:14:37.389719Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=418717 parallel=true cells_before_filter=1460 cells_after_filter=1344 truncated=false bounds=51.4738,-0.2209,51.5536,-0.0316 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=5.7 json_ms=1.1 total_ms=6.8 -2026-05-06T07:14:37.391144Z INFO property_map_server::routes::pois: GET /api/pois results=10000 candidates=29908 categories=94 categories_raw="Airport,Bus station,Bus stop,Ferry,Rail station,Taxi rank,Tube station,Aldi,Asda,Bakery,Booths,Budgens,Butcher & Fishmonger,COOK,Co-op,Convenience Store,Costco,Deli & Specialty,Farmfoods,Greengrocer,Heron Foods,Iceland,Lidl,M&S,Makro,Morrisons,Off-Licence,Planet Organic,Sainsbury's,Spar,Supermarket,Tesco,Waitrose,Whole Foods Market,Bar,Café,Cinema,Entertainment,Fast Food,Live Music & Events,Nightclub,Park,Playground,Pub,Restaurant,Sports Centre,Theatre,School,Care Home,Counselling & Therapy,Dentist,GP Surgery,Hospital & Clinic,Medical & Mobility,Optician,Pharmacy,Physiotherapy,Ambulance Station,Fire Station,Police,Community Centre,EV Charging,Fuel Station,Hotel,Local Business,Offices,Arts Centre,Gallery,Library,Museum,Place of Worship,Tourist Attraction,Zoo,Bank,Car Services,Dry Cleaner & Laundry,Gym & Fitness,Hairdresser & Beauty,Other,Post Office,Travel Agent,Vet & Pet Care,Bookshop,Charity Shop,DIY & Hardware,Department Store,Electronics,Fashion & Clothing,Gift & Hobby,Home & Garden,Newsagent,Pet Shop,Specialist Shop,Sports & Outdoor" ms=7.8 -2026-05-06T07:14:38.216101Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=234725 parallel=true cells_before_filter=806 cells_after_filter=680 truncated=false bounds=51.4911,-0.1905,51.5453,-0.0620 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=3.7 json_ms=0.8 total_ms=4.5 -2026-05-06T07:14:38.222170Z INFO property_map_server::routes::pois: GET /api/pois results=10000 candidates=19659 categories=94 categories_raw="Airport,Bus station,Bus stop,Ferry,Rail station,Taxi rank,Tube station,Aldi,Asda,Bakery,Booths,Budgens,Butcher & Fishmonger,COOK,Co-op,Convenience Store,Costco,Deli & Specialty,Farmfoods,Greengrocer,Heron Foods,Iceland,Lidl,M&S,Makro,Morrisons,Off-Licence,Planet Organic,Sainsbury's,Spar,Supermarket,Tesco,Waitrose,Whole Foods Market,Bar,Café,Cinema,Entertainment,Fast Food,Live Music & Events,Nightclub,Park,Playground,Pub,Restaurant,Sports Centre,Theatre,School,Care Home,Counselling & Therapy,Dentist,GP Surgery,Hospital & Clinic,Medical & Mobility,Optician,Pharmacy,Physiotherapy,Ambulance Station,Fire Station,Police,Community Centre,EV Charging,Fuel Station,Hotel,Local Business,Offices,Arts Centre,Gallery,Library,Museum,Place of Worship,Tourist Attraction,Zoo,Bank,Car Services,Dry Cleaner & Laundry,Gym & Fitness,Hairdresser & Beauty,Other,Post Office,Travel Agent,Vet & Pet Care,Bookshop,Charity Shop,DIY & Hardware,Department Store,Electronics,Fashion & Clothing,Gift & Hobby,Home & Garden,Newsagent,Pet Shop,Specialist Shop,Sports & Outdoor" ms=8.5 -2026-05-06T07:14:44.419446Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=105806 parallel=true cells_before_filter=404 cells_after_filter=317 truncated=false bounds=51.4911,-0.1541,51.5453,-0.0984 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=2.2 json_ms=0.4 total_ms=2.5 -2026-05-06T07:14:44.423580Z INFO property_map_server::routes::pois: GET /api/pois results=10000 candidates=11596 categories=94 categories_raw="Airport,Bus station,Bus stop,Ferry,Rail station,Taxi rank,Tube station,Aldi,Asda,Bakery,Booths,Budgens,Butcher & Fishmonger,COOK,Co-op,Convenience Store,Costco,Deli & Specialty,Farmfoods,Greengrocer,Heron Foods,Iceland,Lidl,M&S,Makro,Morrisons,Off-Licence,Planet Organic,Sainsbury's,Spar,Supermarket,Tesco,Waitrose,Whole Foods Market,Bar,Café,Cinema,Entertainment,Fast Food,Live Music & Events,Nightclub,Park,Playground,Pub,Restaurant,Sports Centre,Theatre,School,Care Home,Counselling & Therapy,Dentist,GP Surgery,Hospital & Clinic,Medical & Mobility,Optician,Pharmacy,Physiotherapy,Ambulance Station,Fire Station,Police,Community Centre,EV Charging,Fuel Station,Hotel,Local Business,Offices,Arts Centre,Gallery,Library,Museum,Place of Worship,Tourist Attraction,Zoo,Bank,Car Services,Dry Cleaner & Laundry,Gym & Fitness,Hairdresser & Beauty,Other,Post Office,Travel Agent,Vet & Pet Care,Bookshop,Charity Shop,DIY & Hardware,Department Store,Electronics,Fashion & Clothing,Gift & Hobby,Home & Garden,Newsagent,Pet Shop,Specialist Shop,Sports & Outdoor" ms=6.6 -2026-05-06T07:14:44.661886Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=59 cells_after_filter=59 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=4.3 json_ms=0.1 total_ms=4.4 -2026-05-06T07:14:44.686961Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=556230 filters=5 travel=1 total=12434 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=29.1 -2026-05-06T07:14:46.392737Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=32331 parallel=false cells_before_filter=163 cells_after_filter=146 truncated=false bounds=51.4978,-0.1490,51.5322,-0.1110 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=1.9 json_ms=0.1 total_ms=2.1 -2026-05-06T07:14:46.394380Z INFO property_map_server::routes::pois: GET /api/pois results=6986 candidates=7010 categories=94 categories_raw="Airport,Bus station,Bus stop,Ferry,Rail station,Taxi rank,Tube station,Aldi,Asda,Bakery,Booths,Budgens,Butcher & Fishmonger,COOK,Co-op,Convenience Store,Costco,Deli & Specialty,Farmfoods,Greengrocer,Heron Foods,Iceland,Lidl,M&S,Makro,Morrisons,Off-Licence,Planet Organic,Sainsbury's,Spar,Supermarket,Tesco,Waitrose,Whole Foods Market,Bar,Café,Cinema,Entertainment,Fast Food,Live Music & Events,Nightclub,Park,Playground,Pub,Restaurant,Sports Centre,Theatre,School,Care Home,Counselling & Therapy,Dentist,GP Surgery,Hospital & Clinic,Medical & Mobility,Optician,Pharmacy,Physiotherapy,Ambulance Station,Fire Station,Police,Community Centre,EV Charging,Fuel Station,Hotel,Local Business,Offices,Arts Centre,Gallery,Library,Museum,Place of Worship,Tourist Attraction,Zoo,Bank,Car Services,Dry Cleaner & Laundry,Gym & Fitness,Hairdresser & Beauty,Other,Post Office,Travel Agent,Vet & Pet Care,Bookshop,Charity Shop,DIY & Hardware,Department Store,Electronics,Fashion & Clothing,Gift & Hobby,Home & Garden,Newsagent,Pet Shop,Specialist Shop,Sports & Outdoor" ms=3.7 -2026-05-06T07:14:55.383153Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89195da4d2bffff resolution=9 total_count=166 filters=0 filters_raw="-" ms=0.3 -2026-05-06T07:14:55.521238Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=470423 parallel=true cells_before_filter=59 cells_after_filter=59 truncated=false bounds=53.3851,-2.4904,53.5738,-2.0185 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=2.6 json_ms=0.1 total_ms=2.7 -2026-05-06T07:14:57.292200Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=387398 parallel=true cells_before_filter=59 cells_after_filter=59 truncated=false bounds=53.3999,-2.4614,53.5591,-2.0632 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=3.2 json_ms=0.1 total_ms=3.3 -2026-05-06T07:14:57.327444Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=387398 filters=5 travel=1 total=12434 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=16.0 -2026-05-06T07:14:58.285866Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=328746 parallel=true cells_before_filter=59 cells_after_filter=59 truncated=false bounds=53.4065,-2.4487,53.5527,-2.0829 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=2.5 json_ms=0.1 total_ms=2.6 -2026-05-06T07:14:58.350203Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=328746 filters=5 travel=1 total=12434 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=16.5 -2026-05-06T07:14:58.617181Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89195da4d63ffff resolution=9 total_count=382 filters=0 filters_raw="-" ms=0.3 -2026-05-06T07:15:00.740312Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b70abffff resolution=9 total_count=1487 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=1.2 -2026-05-06T07:15:02.197947Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=283073 parallel=true cells_before_filter=59 cells_after_filter=59 truncated=false bounds=53.4065,-2.4029,53.5527,-2.1286 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=2.1 json_ms=0.1 total_ms=2.2 -2026-05-06T07:15:02.491433Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=283073 filters=5 travel=1 total=12434 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=12.8 -2026-05-06T07:15:13.901971Z INFO property_map_server::routes::features: GET /api/features -2026-05-06T07:15:15.283795Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-06T07:15:15.284213Z INFO property_map_server::routes::features: GET /api/features -2026-05-06T07:15:15.347797Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=1.6 -2026-05-06T07:15:15.636170Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=163 cells_after_filter=163 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=0 filters_raw="-" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=4.9 json_ms=0.1 total_ms=5.1 -2026-05-06T07:15:15.900377Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=556230 filters=1 travel=1 total=41544 filters_raw="-" ms=13.9 -2026-05-06T07:15:24.985267Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=2.1 -2026-05-06T07:15:25.003392Z INFO property_map_server::routes::travel_destinations: GET /api/travel-destinations mode="transit" results=2752 ms=2.1 -2026-05-06T07:15:25.539775Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=3.0 json_ms=0.2 total_ms=3.2 -2026-05-06T07:15:25.556452Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=556230 filters=5 travel=1 total=20439 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=19.8 -2026-05-06T07:15:27.290918Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=64311 parallel=true cells_before_filter=249 cells_after_filter=229 truncated=false bounds=51.4958,-0.1632,51.5342,-0.0968 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=2.3 json_ms=0.3 total_ms=2.6 -2026-05-06T07:15:27.294614Z INFO property_map_server::routes::pois: GET /api/pois results=10000 candidates=11740 categories=94 categories_raw="Airport,Bus station,Bus stop,Ferry,Rail station,Taxi rank,Tube station,Aldi,Asda,Bakery,Booths,Budgens,Butcher & Fishmonger,COOK,Co-op,Convenience Store,Costco,Deli & Specialty,Farmfoods,Greengrocer,Heron Foods,Iceland,Lidl,M&S,Makro,Morrisons,Off-Licence,Planet Organic,Sainsbury's,Spar,Supermarket,Tesco,Waitrose,Whole Foods Market,Bar,Café,Cinema,Entertainment,Fast Food,Live Music & Events,Nightclub,Park,Playground,Pub,Restaurant,Sports Centre,Theatre,School,Care Home,Counselling & Therapy,Dentist,GP Surgery,Hospital & Clinic,Medical & Mobility,Optician,Pharmacy,Physiotherapy,Ambulance Station,Fire Station,Police,Community Centre,EV Charging,Fuel Station,Hotel,Local Business,Offices,Arts Centre,Gallery,Library,Museum,Place of Worship,Tourist Attraction,Zoo,Bank,Car Services,Dry Cleaner & Laundry,Gym & Fitness,Hairdresser & Beauty,Other,Post Office,Travel Agent,Vet & Pet Care,Bookshop,Charity Shop,DIY & Hardware,Department Store,Electronics,Fashion & Clothing,Gift & Hobby,Home & Garden,Newsagent,Pet Shop,Specialist Shop,Sports & Outdoor" ms=6.3 -2026-05-06T07:15:33.072972Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=2446 cells_after_filter=2433 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=7.3 json_ms=2.6 total_ms=9.9 -2026-05-06T07:15:33.220203Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=134 cells_after_filter=134 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=3.7 json_ms=0.1 total_ms=3.9 -2026-05-06T07:15:47.139336Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=556230 parallel=true cells_before_filter=59 cells_after_filter=59 truncated=false bounds=53.3675,-2.5248,53.5912,-1.9654 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=4.1 json_ms=0.1 total_ms=4.2 -2026-05-06T07:15:47.158892Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=556230 filters=5 travel=1 total=12434 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=23.7 -2026-05-06T07:16:01.664304Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=387398 parallel=true cells_before_filter=59 cells_after_filter=59 truncated=false bounds=53.3999,-2.4614,53.5591,-2.0632 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=3.3 json_ms=0.1 total_ms=3.4 -2026-05-06T07:16:02.312074Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=338007 parallel=true cells_before_filter=59 cells_after_filter=59 truncated=false bounds=53.4063,-2.4490,53.5529,-2.0824 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=2.8 json_ms=0.1 total_ms=2.9 -2026-05-06T07:16:03.862614Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=328746 parallel=true cells_before_filter=59 cells_after_filter=59 truncated=false bounds=53.4065,-2.4487,53.5527,-2.0829 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=2.5 json_ms=0.1 total_ms=2.6 -2026-05-06T07:16:03.875136Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=328746 filters=5 travel=1 total=12434 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=15.0 -2026-05-06T07:16:06.187821Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=891951b70abffff resolution=9 total_count=1487 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=1.1 -2026-05-06T07:16:07.771759Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=283073 parallel=true cells_before_filter=59 cells_after_filter=59 truncated=false bounds=53.4065,-2.4029,53.5527,-2.1286 filters=4 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" fields=0 travel_entries=1 grid_ms=0.0 agg_ms=2.4 json_ms=0.1 total_ms=2.4 -2026-05-06T07:16:07.828161Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=283073 filters=5 travel=1 total=12434 filters_raw="Property type:Flats/Maisonettes|Terraced;;Estimated current price:175000:450000;;Serious crime per 1k residents (avg/yr):0:55;;Noise (dB):50:68" ms=14.7 -2026-05-06T07:16:41.428217Z INFO property_map_server::routes::features: GET /api/features -2026-05-06T07:16:41.429461Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-06T07:16:41.458276Z INFO property_map_server::routes::features: GET /api/features -2026-05-06T07:16:41.464802Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-06T07:16:41.466920Z INFO property_map_server::routes::features: GET /api/features -2026-05-06T07:16:41.468098Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-06T07:16:41.474421Z INFO property_map_server::routes::features: GET /api/features -2026-05-06T07:16:41.475516Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11 -2026-05-06T18:23:02.915468Z INFO property_map_server::routes::features: GET /api/features -2026-05-06T18:23:02.922130Z INFO property_map_server::routes::pois: GET /api/poi-categories count=94 groups=11