perfect-postcode/server-rs/logs/server.log.2026-05-04
2026-05-04 16:19:09 +01:00

1315 lines
216 KiB
Text

2026-05-04T12:51:54.299296Z INFO property_map_server: Prometheus metrics initialized
2026-05-04T12:51:54.299470Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet
2026-05-04T12:51:54.299479Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet"
2026-05-04T12:51:54.399081Z INFO property_map_server::data::property: Postcode features loaded rows=1263786
2026-05-04T12:51:54.399094Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet"
2026-05-04T12:51:56.991776Z INFO property_map_server::data::property: Properties joined with postcodes rows=15268176
2026-05-04T12:51:56.991808Z INFO property_map_server::data::property: Feature columns from config numeric=59 enums=6 total=65
2026-05-04T12:51:58.691248Z INFO property_map_server::data::property: Combined data selected rows=15268176
2026-05-04T12:51:58.880744Z INFO property_map_server::data::property: Extracting numeric feature columns
2026-05-04T12:51:59.306116Z INFO property_map_server::data::property: Computing histograms for numeric features
2026-05-04T12:52:00.487273Z INFO property_map_server::data::property: Extracting string columns
2026-05-04T12:52:01.932732Z INFO property_map_server::data::property: Building enum features
2026-05-04T12:52:03.150703Z INFO property_map_server::data::property: Extracting renovation history
2026-05-04T12:52:06.054483Z INFO property_map_server::data::property: Renovation history extracted properties_with_events=1833881
2026-05-04T12:52:06.054492Z INFO property_map_server::data::property: Sorting rows by spatial locality
2026-05-04T12:52:06.955063Z INFO property_map_server::data::property: Building interned strings
2026-05-04T12:52:17.563487Z INFO property_map_server: Prometheus metrics initialized
2026-05-04T12:52:17.563649Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet
2026-05-04T12:52:17.563658Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet"
2026-05-04T12:52:17.627898Z INFO property_map_server::data::property: Postcode features loaded rows=1263786
2026-05-04T12:52:17.627907Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet"
2026-05-04T12:52:19.921551Z INFO property_map_server::data::property: Properties joined with postcodes rows=15268176
2026-05-04T12:52:19.921584Z INFO property_map_server::data::property: Feature columns from config numeric=59 enums=6 total=65
2026-05-04T12:52:20.891880Z INFO property_map_server::data::property: Combined data selected rows=15268176
2026-05-04T12:52:21.055515Z INFO property_map_server::data::property: Extracting numeric feature columns
2026-05-04T12:52:21.442079Z INFO property_map_server::data::property: Computing histograms for numeric features
2026-05-04T12:52:22.672016Z INFO property_map_server::data::property: Extracting string columns
2026-05-04T12:52:24.017673Z INFO property_map_server::data::property: Building enum features
2026-05-04T12:52:25.233745Z INFO property_map_server::data::property: Extracting renovation history
2026-05-04T12:52:28.250017Z INFO property_map_server::data::property: Renovation history extracted properties_with_events=1833881
2026-05-04T12:52:28.250026Z INFO property_map_server::data::property: Sorting rows by spatial locality
2026-05-04T12:52:29.092973Z INFO property_map_server::data::property: Building interned strings
2026-05-04T12:52:34.404228Z INFO property_map_server::data::property: Transposing to row-major layout (spatially sorted, quantized to u16)
2026-05-04T12:52:37.077568Z INFO property_map_server::data::property: Data loading complete
2026-05-04T12:52:38.149745Z INFO property_map_server: Property data loaded rows=15268176 features=65 enums=6
2026-05-04T12:52:38.149754Z INFO property_map_server: Building spatial grid index (0.01° cells)
2026-05-04T12:52:38.244960Z INFO property_map_server: Precomputing H3 cells at resolution 12
2026-05-04T12:52:38.244968Z INFO property_map_server::data::property: Precomputing H3 cells at resolution 12
2026-05-04T12:52:38.611843Z INFO property_map_server::data::property: H3 precomputation complete (15268176 cells)
2026-05-04T12:52:38.611904Z INFO property_map_server: Loading POI data from /app/data/filtered_uk_pois.parquet
2026-05-04T12:52:38.611916Z INFO property_map_server::data::poi: Loading POI data from "/app/data/filtered_uk_pois.parquet"...
2026-05-04T12:52:38.644304Z INFO property_map_server::data::poi: Loaded 552015 POIs
2026-05-04T12:52:38.732308Z INFO property_map_server::data::poi: POI string columns interned category_unique=74 group_unique=11 emoji_unique=71
2026-05-04T12:52:38.732779Z INFO property_map_server::data::poi: POI data loading complete.
2026-05-04T12:52:38.762111Z INFO property_map_server: POI data loaded pois=552015
2026-05-04T12:52:38.762119Z INFO property_map_server: Building POI spatial grid index
2026-05-04T12:52:38.766741Z INFO property_map_server: Loading place data from /app/data/places.parquet
2026-05-04T12:52:38.766756Z INFO property_map_server::data::places: Loading place data from "/app/data/places.parquet"...
2026-05-04T12:52:38.776708Z INFO property_map_server::data::places: Loaded 3474 places
2026-05-04T12:52:38.777464Z INFO property_map_server::data::places: Place data loaded places=3474 types=2 with_population=71 with_city=3392
2026-05-04T12:52:38.777525Z INFO property_map_server: Place data loaded places=3474
2026-05-04T12:52:38.777546Z INFO property_map_server: Loading postcode boundaries from /app/data/postcode_boundaries
2026-05-04T12:52:38.777551Z INFO property_map_server::data::postcodes: Loading postcode boundaries from "/app/data/postcode_boundaries"
2026-05-04T12:52:38.785369Z INFO property_map_server::data::postcodes: Found GeoJSON files to process files=2361
2026-05-04T12:52:45.693685Z INFO property_map_server::data::postcodes: Postcode boundary data ready postcodes=1490140
2026-05-04T12:52:45.926784Z INFO property_map_server: Postcode boundaries loaded postcodes=1490140
2026-05-04T12:52:46.062735Z INFO property_map_server::data::postcodes: Outcode data derived from postcodes outcodes=2361
2026-05-04T12:52:46.062790Z INFO property_map_server: Loading PMTiles from /app/data/uk.pmtiles
2026-05-04T12:52:46.063005Z INFO property_map_server: PMTiles loaded successfully
2026-05-04T12:52:46.098049Z INFO property_map_server: No --dist provided; static serving and OG injection disabled
2026-05-04T12:52:46.123884Z INFO property_map_server: Screenshot service configured: http://screenshot:8002
2026-05-04T12:52:46.124028Z INFO property_map_server: Precomputed features response groups=8
2026-05-04T12:52:46.124046Z INFO property_map_server: PocketBase configured: http://pocketbase:8090
2026-05-04T12:52:46.284801Z INFO property_map_server::pocketbase: PocketBase users collection already has all required fields
2026-05-04T12:52:46.300423Z INFO property_map_server::pocketbase: PocketBase collection 'saved_searches' API rules updated
2026-05-04T12:52:46.333934Z INFO property_map_server::pocketbase: PocketBase collection 'saved_properties' API rules updated
2026-05-04T12:52:48.292798Z INFO property_map_server::pocketbase: PocketBase meta.appURL set to https://perfect-postcodes.co.uk/pb
2026-05-04T12:52:48.307894Z INFO property_map_server::pocketbase: PocketBase OAuth configured on users collection
2026-05-04T12:52:48.307946Z INFO property_map_server: Gemini configured (model: gemini-3-flash-preview)
2026-05-04T12:52:48.307965Z INFO property_map_server: Loading travel time data from /app/data/travel-times
2026-05-04T12:52:48.342530Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="bicycle" destinations=2753
2026-05-04T12:52:48.364756Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="walking" destinations=2753
2026-05-04T12:52:48.384592Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="car" destinations=2753
2026-05-04T12:52:48.438429Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="transit" destinations=2752
2026-05-04T12:52:48.450094Z INFO property_map_server: Travel time store loaded modes=4
2026-05-04T12:52:48.450146Z INFO property_map_server: Precomputed AI filters system prompt
2026-05-04T12:52:53.687355Z INFO property_map_server: All memory pages locked (mlockall)
2026-05-04T12:52:53.687401Z INFO property_map_server: Server listening on 0.0.0.0:8001
2026-05-04T12:57:19.816376Z INFO property_map_server: Prometheus metrics initialized
2026-05-04T12:57:19.816536Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet
2026-05-04T12:57:19.816546Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet"
2026-05-04T12:57:19.880067Z INFO property_map_server::data::property: Postcode features loaded rows=1263786
2026-05-04T12:57:19.880079Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet"
2026-05-04T12:57:22.177645Z INFO property_map_server::data::property: Properties joined with postcodes rows=15268176
2026-05-04T12:57:22.177683Z INFO property_map_server::data::property: Feature columns from config numeric=59 enums=6 total=65
2026-05-04T12:57:23.211707Z INFO property_map_server::data::property: Combined data selected rows=15268176
2026-05-04T12:57:23.383759Z INFO property_map_server::data::property: Extracting numeric feature columns
2026-05-04T12:57:23.757383Z INFO property_map_server::data::property: Computing histograms for numeric features
2026-05-04T12:57:24.952119Z INFO property_map_server::data::property: Extracting string columns
2026-05-04T12:57:26.300478Z INFO property_map_server::data::property: Building enum features
2026-05-04T12:57:27.509253Z INFO property_map_server::data::property: Extracting renovation history
2026-05-04T12:57:30.316335Z INFO property_map_server::data::property: Renovation history extracted properties_with_events=1833881
2026-05-04T12:57:30.316344Z INFO property_map_server::data::property: Sorting rows by spatial locality
2026-05-04T12:57:31.178507Z INFO property_map_server::data::property: Building interned strings
2026-05-04T12:57:36.575081Z INFO property_map_server::data::property: Transposing to row-major layout (spatially sorted, quantized to u16)
2026-05-04T12:57:39.220220Z INFO property_map_server::data::property: Data loading complete
2026-05-04T12:57:40.328129Z INFO property_map_server: Property data loaded rows=15268176 features=65 enums=6
2026-05-04T12:57:40.328139Z INFO property_map_server: Building spatial grid index (0.01° cells)
2026-05-04T12:57:40.422304Z INFO property_map_server: Precomputing H3 cells at resolution 12
2026-05-04T12:57:40.422311Z INFO property_map_server::data::property: Precomputing H3 cells at resolution 12
2026-05-04T12:57:40.805392Z INFO property_map_server::data::property: H3 precomputation complete (15268176 cells)
2026-05-04T12:57:40.805427Z INFO property_map_server: Loading POI data from /app/data/filtered_uk_pois.parquet
2026-05-04T12:57:40.805439Z INFO property_map_server::data::poi: Loading POI data from "/app/data/filtered_uk_pois.parquet"...
2026-05-04T12:57:40.823723Z INFO property_map_server::data::poi: Loaded 552015 POIs
2026-05-04T12:57:40.917268Z INFO property_map_server::data::poi: POI string columns interned category_unique=74 group_unique=11 emoji_unique=71
2026-05-04T12:57:40.917715Z INFO property_map_server::data::poi: POI data loading complete.
2026-05-04T12:57:40.952279Z INFO property_map_server: POI data loaded pois=552015
2026-05-04T12:57:40.952287Z INFO property_map_server: Building POI spatial grid index
2026-05-04T12:57:40.957145Z INFO property_map_server: Loading place data from /app/data/places.parquet
2026-05-04T12:57:40.957160Z INFO property_map_server::data::places: Loading place data from "/app/data/places.parquet"...
2026-05-04T12:57:40.957595Z INFO property_map_server::data::places: Loaded 3474 places
2026-05-04T12:57:40.958354Z INFO property_map_server::data::places: Place data loaded places=3474 types=2 with_population=71 with_city=3392
2026-05-04T12:57:40.958419Z INFO property_map_server: Place data loaded places=3474
2026-05-04T12:57:40.958428Z INFO property_map_server: Loading postcode boundaries from /app/data/postcode_boundaries
2026-05-04T12:57:40.958432Z INFO property_map_server::data::postcodes: Loading postcode boundaries from "/app/data/postcode_boundaries"
2026-05-04T12:57:40.959290Z INFO property_map_server::data::postcodes: Found GeoJSON files to process files=2361
2026-05-04T12:57:47.597879Z INFO property_map_server::data::postcodes: Postcode boundary data ready postcodes=1490140
2026-05-04T12:57:47.813811Z INFO property_map_server: Postcode boundaries loaded postcodes=1490140
2026-05-04T12:57:47.950679Z INFO property_map_server::data::postcodes: Outcode data derived from postcodes outcodes=2361
2026-05-04T12:57:47.950734Z INFO property_map_server: Loading PMTiles from /app/data/uk.pmtiles
2026-05-04T12:57:47.950985Z INFO property_map_server: PMTiles loaded successfully
2026-05-04T12:57:47.985584Z INFO property_map_server: No --dist provided; static serving and OG injection disabled
2026-05-04T12:57:48.010443Z INFO property_map_server: Screenshot service configured: http://screenshot:8002
2026-05-04T12:57:48.010592Z INFO property_map_server: Precomputed features response groups=8
2026-05-04T12:57:48.010604Z INFO property_map_server: PocketBase configured: http://pocketbase:8090
2026-05-04T12:57:48.060891Z INFO property_map_server::pocketbase: PocketBase users collection already has all required fields
2026-05-04T12:57:48.064222Z INFO property_map_server::pocketbase: PocketBase collection 'saved_searches' API rules updated
2026-05-04T12:57:48.067247Z INFO property_map_server::pocketbase: PocketBase collection 'saved_properties' API rules updated
2026-05-04T12:57:48.143703Z INFO property_map_server::pocketbase: PocketBase meta.appURL set to https://perfect-postcodes.co.uk/pb
2026-05-04T12:57:48.147295Z INFO property_map_server::pocketbase: PocketBase OAuth configured on users collection
2026-05-04T12:57:48.147320Z INFO property_map_server: Gemini configured (model: gemini-3-flash-preview)
2026-05-04T12:57:48.147337Z INFO property_map_server: Loading travel time data from /app/data/travel-times
2026-05-04T12:57:48.148793Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="bicycle" destinations=2753
2026-05-04T12:57:48.149997Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="walking" destinations=2753
2026-05-04T12:57:48.151273Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="car" destinations=2753
2026-05-04T12:57:48.152376Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="transit" destinations=2752
2026-05-04T12:57:48.152390Z INFO property_map_server: Travel time store loaded modes=4
2026-05-04T12:57:48.152427Z INFO property_map_server: Precomputed AI filters system prompt
2026-05-04T12:57:49.549557Z INFO property_map_server: All memory pages locked (mlockall)
2026-05-04T12:57:49.549595Z INFO property_map_server: Server listening on 0.0.0.0:8001
2026-05-04T12:58:49.973793Z INFO property_map_server: Prometheus metrics initialized
2026-05-04T12:58:49.973949Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet
2026-05-04T12:58:49.973962Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet"
2026-05-04T12:58:50.039388Z INFO property_map_server::data::property: Postcode features loaded rows=1263786
2026-05-04T12:58:50.039399Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet"
2026-05-04T12:58:52.337564Z INFO property_map_server::data::property: Properties joined with postcodes rows=15268176
2026-05-04T12:58:52.337596Z INFO property_map_server::data::property: Feature columns from config numeric=59 enums=6 total=65
2026-05-04T12:58:53.362969Z INFO property_map_server::data::property: Combined data selected rows=15268176
2026-05-04T12:58:53.538150Z INFO property_map_server::data::property: Extracting numeric feature columns
2026-05-04T12:58:53.918606Z INFO property_map_server::data::property: Computing histograms for numeric features
2026-05-04T12:58:55.144004Z INFO property_map_server::data::property: Extracting string columns
2026-05-04T12:58:56.529429Z INFO property_map_server::data::property: Building enum features
2026-05-04T12:58:57.738180Z INFO property_map_server::data::property: Extracting renovation history
2026-05-04T12:59:00.591500Z INFO property_map_server::data::property: Renovation history extracted properties_with_events=1833881
2026-05-04T12:59:00.591509Z INFO property_map_server::data::property: Sorting rows by spatial locality
2026-05-04T12:59:03.939893Z INFO property_map_server::data::property: Building interned strings
2026-05-04T12:59:30.967286Z INFO property_map_server::data::property: Transposing to row-major layout (spatially sorted, quantized to u16)
2026-05-04T13:00:11.386277Z INFO property_map_server::data::property: Data loading complete
2026-05-04T13:00:12.601271Z INFO property_map_server: Property data loaded rows=15268176 features=65 enums=6
2026-05-04T13:00:12.601280Z INFO property_map_server: Building spatial grid index (0.01° cells)
2026-05-04T13:00:12.710986Z INFO property_map_server: Precomputing H3 cells at resolution 12
2026-05-04T13:00:12.710997Z INFO property_map_server::data::property: Precomputing H3 cells at resolution 12
2026-05-04T13:00:13.132610Z INFO property_map_server::data::property: H3 precomputation complete (15268176 cells)
2026-05-04T13:00:13.132655Z INFO property_map_server: Loading POI data from /app/data/filtered_uk_pois.parquet
2026-05-04T13:00:13.132670Z INFO property_map_server::data::poi: Loading POI data from "/app/data/filtered_uk_pois.parquet"...
2026-05-04T13:00:13.152977Z INFO property_map_server::data::poi: Loaded 552015 POIs
2026-05-04T13:00:13.245086Z INFO property_map_server::data::poi: POI string columns interned category_unique=74 group_unique=11 emoji_unique=71
2026-05-04T13:00:13.245674Z INFO property_map_server::data::poi: POI data loading complete.
2026-05-04T13:00:13.279310Z INFO property_map_server: POI data loaded pois=552015
2026-05-04T13:00:13.279321Z INFO property_map_server: Building POI spatial grid index
2026-05-04T13:00:13.284977Z INFO property_map_server: Loading place data from /app/data/places.parquet
2026-05-04T13:00:13.284986Z INFO property_map_server::data::places: Loading place data from "/app/data/places.parquet"...
2026-05-04T13:00:13.285521Z INFO property_map_server::data::places: Loaded 3474 places
2026-05-04T13:00:13.286462Z INFO property_map_server::data::places: Place data loaded places=3474 types=2 with_population=71 with_city=3392
2026-05-04T13:00:13.286526Z INFO property_map_server: Place data loaded places=3474
2026-05-04T13:00:13.286539Z INFO property_map_server: Loading postcode boundaries from /app/data/postcode_boundaries
2026-05-04T13:00:13.286552Z INFO property_map_server::data::postcodes: Loading postcode boundaries from "/app/data/postcode_boundaries"
2026-05-04T13:00:13.287401Z INFO property_map_server::data::postcodes: Found GeoJSON files to process files=2361
2026-05-04T13:00:20.403636Z INFO property_map_server::data::postcodes: Postcode boundary data ready postcodes=1490140
2026-05-04T13:00:20.625816Z INFO property_map_server: Postcode boundaries loaded postcodes=1490140
2026-05-04T13:00:20.763245Z INFO property_map_server::data::postcodes: Outcode data derived from postcodes outcodes=2361
2026-05-04T13:00:20.763311Z INFO property_map_server: Loading PMTiles from /app/data/uk.pmtiles
2026-05-04T13:00:20.763609Z INFO property_map_server: PMTiles loaded successfully
2026-05-04T13:00:20.798105Z INFO property_map_server: No --dist provided; static serving and OG injection disabled
2026-05-04T13:00:20.822916Z INFO property_map_server: Screenshot service configured: http://screenshot:8002
2026-05-04T13:00:20.823064Z INFO property_map_server: Precomputed features response groups=8
2026-05-04T13:00:20.823077Z INFO property_map_server: PocketBase configured: http://pocketbase:8090
2026-05-04T13:00:20.870827Z INFO property_map_server::pocketbase: PocketBase users collection already has all required fields
2026-05-04T13:00:20.873223Z INFO property_map_server::pocketbase: PocketBase collection 'saved_searches' API rules updated
2026-05-04T13:00:20.877129Z INFO property_map_server::pocketbase: PocketBase collection 'saved_properties' API rules updated
2026-05-04T13:00:20.960856Z INFO property_map_server::pocketbase: PocketBase meta.appURL set to https://perfect-postcodes.co.uk/pb
2026-05-04T13:00:20.967763Z INFO property_map_server::pocketbase: PocketBase OAuth configured on users collection
2026-05-04T13:00:20.967783Z INFO property_map_server: Gemini configured (model: gemini-3-flash-preview)
2026-05-04T13:00:20.967797Z INFO property_map_server: Loading travel time data from /app/data/travel-times
2026-05-04T13:00:20.977614Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="bicycle" destinations=2753
2026-05-04T13:00:20.996128Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="walking" destinations=2753
2026-05-04T13:00:21.005922Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="car" destinations=2753
2026-05-04T13:00:21.026987Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="transit" destinations=2752
2026-05-04T13:00:21.027020Z INFO property_map_server: Travel time store loaded modes=4
2026-05-04T13:00:21.027073Z INFO property_map_server: Precomputed AI filters system prompt
2026-05-04T13:00:22.476387Z INFO property_map_server: All memory pages locked (mlockall)
2026-05-04T13:00:22.476426Z INFO property_map_server: Server listening on 0.0.0.0:8001
2026-05-04T13:01:14.389067Z INFO property_map_server: Prometheus metrics initialized
2026-05-04T13:01:14.389217Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet
2026-05-04T13:01:14.389227Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet"
2026-05-04T13:01:14.457100Z INFO property_map_server::data::property: Postcode features loaded rows=1263786
2026-05-04T13:01:14.457110Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet"
2026-05-04T13:01:16.821701Z INFO property_map_server::data::property: Properties joined with postcodes rows=15268176
2026-05-04T13:01:16.821734Z INFO property_map_server::data::property: Feature columns from config numeric=59 enums=6 total=65
2026-05-04T13:01:17.872493Z INFO property_map_server::data::property: Combined data selected rows=15268176
2026-05-04T13:01:18.032071Z INFO property_map_server::data::property: Extracting numeric feature columns
2026-05-04T13:01:18.435137Z INFO property_map_server::data::property: Computing histograms for numeric features
2026-05-04T13:01:19.617346Z INFO property_map_server::data::property: Extracting string columns
2026-05-04T13:01:20.974878Z INFO property_map_server::data::property: Building enum features
2026-05-04T13:01:22.196822Z INFO property_map_server::data::property: Extracting renovation history
2026-05-04T13:01:24.899604Z INFO property_map_server::data::property: Renovation history extracted properties_with_events=1833881
2026-05-04T13:01:24.899612Z INFO property_map_server::data::property: Sorting rows by spatial locality
2026-05-04T13:01:25.745555Z INFO property_map_server::data::property: Building interned strings
2026-05-04T13:01:31.018488Z INFO property_map_server::data::property: Transposing to row-major layout (spatially sorted, quantized to u16)
2026-05-04T13:01:33.565804Z INFO property_map_server::data::property: Data loading complete
2026-05-04T13:01:34.682628Z INFO property_map_server: Property data loaded rows=15268176 features=65 enums=6
2026-05-04T13:01:34.682637Z INFO property_map_server: Building spatial grid index (0.01° cells)
2026-05-04T13:01:34.775608Z INFO property_map_server: Precomputing H3 cells at resolution 12
2026-05-04T13:01:34.775617Z INFO property_map_server::data::property: Precomputing H3 cells at resolution 12
2026-05-04T13:01:35.156061Z INFO property_map_server::data::property: H3 precomputation complete (15268176 cells)
2026-05-04T13:01:35.156088Z INFO property_map_server: Loading POI data from /app/data/filtered_uk_pois.parquet
2026-05-04T13:01:35.156094Z INFO property_map_server::data::poi: Loading POI data from "/app/data/filtered_uk_pois.parquet"...
2026-05-04T13:01:35.178565Z INFO property_map_server::data::poi: Loaded 552015 POIs
2026-05-04T13:01:35.267553Z INFO property_map_server::data::poi: POI string columns interned category_unique=74 group_unique=11 emoji_unique=71
2026-05-04T13:01:35.268020Z INFO property_map_server::data::poi: POI data loading complete.
2026-05-04T13:01:35.300867Z INFO property_map_server: POI data loaded pois=552015
2026-05-04T13:01:35.300875Z INFO property_map_server: Building POI spatial grid index
2026-05-04T13:01:35.305730Z INFO property_map_server: Loading place data from /app/data/places.parquet
2026-05-04T13:01:35.305745Z INFO property_map_server::data::places: Loading place data from "/app/data/places.parquet"...
2026-05-04T13:01:35.306229Z INFO property_map_server::data::places: Loaded 3474 places
2026-05-04T13:01:35.307093Z INFO property_map_server::data::places: Place data loaded places=3474 types=2 with_population=71 with_city=3392
2026-05-04T13:01:35.307151Z INFO property_map_server: Place data loaded places=3474
2026-05-04T13:01:35.307162Z INFO property_map_server: Loading postcode boundaries from /app/data/postcode_boundaries
2026-05-04T13:01:35.307173Z INFO property_map_server::data::postcodes: Loading postcode boundaries from "/app/data/postcode_boundaries"
2026-05-04T13:01:35.308228Z INFO property_map_server::data::postcodes: Found GeoJSON files to process files=2361
2026-05-04T13:01:41.949607Z INFO property_map_server::data::postcodes: Postcode boundary data ready postcodes=1490140
2026-05-04T13:01:42.174459Z INFO property_map_server: Postcode boundaries loaded postcodes=1490140
2026-05-04T13:01:42.313171Z INFO property_map_server::data::postcodes: Outcode data derived from postcodes outcodes=2361
2026-05-04T13:01:42.313227Z INFO property_map_server: Loading PMTiles from /app/data/uk.pmtiles
2026-05-04T13:01:42.313457Z INFO property_map_server: PMTiles loaded successfully
2026-05-04T13:01:42.349807Z INFO property_map_server: No --dist provided; static serving and OG injection disabled
2026-05-04T13:01:42.375184Z INFO property_map_server: Screenshot service configured: http://screenshot:8002
2026-05-04T13:01:42.375324Z INFO property_map_server: Precomputed features response groups=8
2026-05-04T13:01:42.375336Z INFO property_map_server: PocketBase configured: http://pocketbase:8090
2026-05-04T13:01:42.421986Z INFO property_map_server::pocketbase: PocketBase users collection already has all required fields
2026-05-04T13:01:42.424365Z INFO property_map_server::pocketbase: PocketBase collection 'saved_searches' API rules updated
2026-05-04T13:01:42.428391Z INFO property_map_server::pocketbase: PocketBase collection 'saved_properties' API rules updated
2026-05-04T13:01:42.495005Z INFO property_map_server::pocketbase: PocketBase meta.appURL set to https://perfect-postcodes.co.uk/pb
2026-05-04T13:01:42.498898Z INFO property_map_server::pocketbase: PocketBase OAuth configured on users collection
2026-05-04T13:01:42.498918Z INFO property_map_server: Gemini configured (model: gemini-3-flash-preview)
2026-05-04T13:01:42.498930Z INFO property_map_server: Loading travel time data from /app/data/travel-times
2026-05-04T13:01:42.500404Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="bicycle" destinations=2753
2026-05-04T13:01:42.501646Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="walking" destinations=2753
2026-05-04T13:01:42.503085Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="car" destinations=2753
2026-05-04T13:01:42.504250Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="transit" destinations=2752
2026-05-04T13:01:42.504268Z INFO property_map_server: Travel time store loaded modes=4
2026-05-04T13:01:42.504309Z INFO property_map_server: Precomputed AI filters system prompt
2026-05-04T13:01:43.910431Z INFO property_map_server: All memory pages locked (mlockall)
2026-05-04T13:01:43.910470Z INFO property_map_server: Server listening on 0.0.0.0:8001
2026-05-04T13:02:14.973154Z INFO property_map_server: Prometheus metrics initialized
2026-05-04T13:02:14.973328Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet
2026-05-04T13:02:14.973342Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet"
2026-05-04T13:02:15.040480Z INFO property_map_server::data::property: Postcode features loaded rows=1263786
2026-05-04T13:02:15.040490Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet"
2026-05-04T13:02:17.364303Z INFO property_map_server::data::property: Properties joined with postcodes rows=15268176
2026-05-04T13:02:17.364333Z INFO property_map_server::data::property: Feature columns from config numeric=59 enums=6 total=65
2026-05-04T13:02:18.386739Z INFO property_map_server::data::property: Combined data selected rows=15268176
2026-05-04T13:02:18.554113Z INFO property_map_server::data::property: Extracting numeric feature columns
2026-05-04T13:02:18.936093Z INFO property_map_server::data::property: Computing histograms for numeric features
2026-05-04T13:02:20.130714Z INFO property_map_server::data::property: Extracting string columns
2026-05-04T13:02:21.467247Z INFO property_map_server::data::property: Building enum features
2026-05-04T13:02:22.691007Z INFO property_map_server::data::property: Extracting renovation history
2026-05-04T13:02:25.522672Z INFO property_map_server::data::property: Renovation history extracted properties_with_events=1833881
2026-05-04T13:02:25.522679Z INFO property_map_server::data::property: Sorting rows by spatial locality
2026-05-04T13:02:26.395689Z INFO property_map_server::data::property: Building interned strings
2026-05-04T13:02:32.134352Z INFO property_map_server::data::property: Transposing to row-major layout (spatially sorted, quantized to u16)
2026-05-04T13:02:34.707433Z INFO property_map_server::data::property: Data loading complete
2026-05-04T13:02:35.788590Z INFO property_map_server: Property data loaded rows=15268176 features=65 enums=6
2026-05-04T13:02:35.788599Z INFO property_map_server: Building spatial grid index (0.01° cells)
2026-05-04T13:02:35.885076Z INFO property_map_server: Precomputing H3 cells at resolution 12
2026-05-04T13:02:35.885084Z INFO property_map_server::data::property: Precomputing H3 cells at resolution 12
2026-05-04T13:02:36.272028Z INFO property_map_server::data::property: H3 precomputation complete (15268176 cells)
2026-05-04T13:02:36.272053Z INFO property_map_server: Loading POI data from /app/data/filtered_uk_pois.parquet
2026-05-04T13:02:36.272060Z INFO property_map_server::data::poi: Loading POI data from "/app/data/filtered_uk_pois.parquet"...
2026-05-04T13:02:36.289853Z INFO property_map_server::data::poi: Loaded 552015 POIs
2026-05-04T13:02:36.379352Z INFO property_map_server::data::poi: POI string columns interned category_unique=74 group_unique=11 emoji_unique=71
2026-05-04T13:02:36.379819Z INFO property_map_server::data::poi: POI data loading complete.
2026-05-04T13:02:36.410997Z INFO property_map_server: POI data loaded pois=552015
2026-05-04T13:02:36.411003Z INFO property_map_server: Building POI spatial grid index
2026-05-04T13:02:36.415679Z INFO property_map_server: Loading place data from /app/data/places.parquet
2026-05-04T13:02:36.415686Z INFO property_map_server::data::places: Loading place data from "/app/data/places.parquet"...
2026-05-04T13:02:36.416161Z INFO property_map_server::data::places: Loaded 3474 places
2026-05-04T13:02:36.416893Z INFO property_map_server::data::places: Place data loaded places=3474 types=2 with_population=71 with_city=3392
2026-05-04T13:02:36.416947Z INFO property_map_server: Place data loaded places=3474
2026-05-04T13:02:36.416957Z INFO property_map_server: Loading postcode boundaries from /app/data/postcode_boundaries
2026-05-04T13:02:36.416960Z INFO property_map_server::data::postcodes: Loading postcode boundaries from "/app/data/postcode_boundaries"
2026-05-04T13:02:36.417749Z INFO property_map_server::data::postcodes: Found GeoJSON files to process files=2361
2026-05-04T13:02:42.887641Z INFO property_map_server::data::postcodes: Postcode boundary data ready postcodes=1490140
2026-05-04T13:02:43.118870Z INFO property_map_server: Postcode boundaries loaded postcodes=1490140
2026-05-04T13:02:43.258789Z INFO property_map_server::data::postcodes: Outcode data derived from postcodes outcodes=2361
2026-05-04T13:02:43.258842Z INFO property_map_server: Loading PMTiles from /app/data/uk.pmtiles
2026-05-04T13:02:43.259031Z INFO property_map_server: PMTiles loaded successfully
2026-05-04T13:02:43.294179Z INFO property_map_server: No --dist provided; static serving and OG injection disabled
2026-05-04T13:02:43.319055Z INFO property_map_server: Screenshot service configured: http://screenshot:8002
2026-05-04T13:02:43.319207Z INFO property_map_server: Precomputed features response groups=8
2026-05-04T13:02:43.319218Z INFO property_map_server: PocketBase configured: http://pocketbase:8090
2026-05-04T13:02:43.365975Z INFO property_map_server::pocketbase: PocketBase users collection already has all required fields
2026-05-04T13:02:43.369699Z INFO property_map_server::pocketbase: PocketBase collection 'saved_searches' API rules updated
2026-05-04T13:02:43.372755Z INFO property_map_server::pocketbase: PocketBase collection 'saved_properties' API rules updated
2026-05-04T13:02:43.437831Z INFO property_map_server::pocketbase: PocketBase meta.appURL set to https://perfect-postcodes.co.uk/pb
2026-05-04T13:02:43.441613Z INFO property_map_server::pocketbase: PocketBase OAuth configured on users collection
2026-05-04T13:02:43.441643Z INFO property_map_server: Gemini configured (model: gemini-3-flash-preview)
2026-05-04T13:02:43.441660Z INFO property_map_server: Loading travel time data from /app/data/travel-times
2026-05-04T13:02:43.442974Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="bicycle" destinations=2753
2026-05-04T13:02:43.444237Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="walking" destinations=2753
2026-05-04T13:02:43.445668Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="car" destinations=2753
2026-05-04T13:02:43.446789Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="transit" destinations=2752
2026-05-04T13:02:43.446810Z INFO property_map_server: Travel time store loaded modes=4
2026-05-04T13:02:43.446857Z INFO property_map_server: Precomputed AI filters system prompt
2026-05-04T13:02:44.885081Z INFO property_map_server: All memory pages locked (mlockall)
2026-05-04T13:02:44.885122Z INFO property_map_server: Server listening on 0.0.0.0:8001
2026-05-04T13:31:57.100493Z INFO property_map_server::routes::pois: GET /api/poi-categories count=74 groups=11
2026-05-04T13:31:57.100828Z INFO property_map_server::routes::features: GET /api/features
2026-05-04T13:31:59.023461Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=112745 parallel=true cells_before_filter=400 cells_after_filter=353 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=6.8 json_ms=0.2 total_ms=7.1
2026-05-04T13:32:20.059848Z INFO property_map_server::routes::features: GET /api/features
2026-05-04T13:32:20.059865Z INFO property_map_server::routes::pois: GET /api/poi-categories count=74 groups=11
2026-05-04T13:32:56.666128Z INFO property_map_server::routes::invites: Created invite code=9ih0z6ogb99k invite_type="referral" user_id=pyja9yzzek267px
2026-05-04T13:33:00.645401Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=112745 parallel=true cells_before_filter=400 cells_after_filter=353 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=3.4 json_ms=0.2 total_ms=3.6
2026-05-04T13:33:20.947504Z INFO property_map_server::routes::pois: GET /api/pois results=55 candidates=14100 categories=1 categories_raw="Tube station" ms=0.4
2026-05-04T13:33:21.677477Z INFO property_map_server::routes::pois: GET /api/pois results=195 candidates=44919 categories=1 categories_raw="Tube station" ms=1.4
2026-05-04T13:33:21.684537Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=781975 parallel=true cells_before_filter=3323 cells_after_filter=3192 truncated=false bounds=51.4529,-0.3082,51.5814,-0.0037 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=6.9 json_ms=2.5 total_ms=9.5
2026-05-04T13:33:22.737902Z INFO property_map_server::routes::pois: GET /api/pois results=186 candidates=43941 categories=1 categories_raw="Tube station" ms=1.3
2026-05-04T13:33:22.744579Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=806492 parallel=true cells_before_filter=3367 cells_after_filter=3166 truncated=false bounds=51.4225,-0.2849,51.5510,0.0196 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=7.1 json_ms=2.6 total_ms=9.7
2026-05-04T13:33:24.238071Z INFO property_map_server::routes::pois: GET /api/pois results=39 candidates=9775 categories=1 categories_raw="Tube station" ms=0.5
2026-05-04T13:33:24.239194Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=69481 parallel=true cells_before_filter=258 cells_after_filter=214 truncated=false bounds=51.4846,-0.1532,51.5125,-0.0870 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.6 json_ms=0.1 total_ms=1.7
2026-05-04T13:33:25.453709Z INFO property_map_server::routes::pois: GET /api/pois results=51 candidates=13216 categories=1 categories_raw="Tube station" ms=0.5
2026-05-04T13:33:25.454560Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=123645 parallel=true cells_before_filter=449 cells_after_filter=379 truncated=false bounds=51.4784,-0.1630,51.5189,-0.0671 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.1 json_ms=0.2 total_ms=1.4
2026-05-04T13:33:26.256653Z INFO property_map_server::routes::pois: GET /api/pois results=31 candidates=8863 categories=1 categories_raw="Tube station" ms=0.3
2026-05-04T13:33:26.257597Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=110838 parallel=true cells_before_filter=408 cells_after_filter=376 truncated=false bounds=51.4613,-0.1627,51.5017,-0.0668 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-04T13:33:26.822962Z INFO property_map_server::routes::pois: GET /api/pois results=207 candidates=46873 categories=1 categories_raw="Tube station" ms=1.2
2026-05-04T13:33:26.831403Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=989280 parallel=true cells_before_filter=4956 cells_after_filter=4907 truncated=false bounds=51.3626,-0.3250,51.5274,0.0650 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=6.6 json_ms=3.0 total_ms=9.6
2026-05-04T13:33:27.729697Z INFO property_map_server::routes::pois: GET /api/pois results=100 candidates=28949 categories=1 categories_raw="Tube station" ms=0.6
2026-05-04T13:33:27.738332Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=889036 parallel=true cells_before_filter=4950 cells_after_filter=4753 truncated=false bounds=51.3356,-0.3152,51.5005,0.0747 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=6.9 json_ms=3.0 total_ms=9.9
2026-05-04T13:33:29.270200Z INFO property_map_server::routes::pois: GET /api/pois results=64 candidates=21033 categories=1 categories_raw="Tube station" ms=0.6
2026-05-04T13:33:29.277507Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=667630 parallel=true cells_before_filter=4479 cells_after_filter=4457 truncated=false bounds=51.3127,-0.3184,51.4777,0.0716 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=5.3 json_ms=2.6 total_ms=7.9
2026-05-04T13:33:30.024877Z INFO property_map_server::routes::pois: GET /api/pois results=358 candidates=107186 categories=1 categories_raw="Tube station" ms=2.3
2026-05-04T13:33:30.033631Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=7 rows=2915619 parallel=true cells_before_filter=1275 cells_after_filter=1275 truncated=false bounds=51.0969,-0.7016,51.6494,0.6039 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=10.5 json_ms=0.6 total_ms=11.1
2026-05-04T13:33:31.642663Z INFO property_map_server::routes::pois: GET /api/pois results=358 candidates=107463 categories=1 categories_raw="Tube station" ms=2.4
2026-05-04T13:33:31.652754Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=7 rows=2936405 parallel=true cells_before_filter=1281 cells_after_filter=1281 truncated=false bounds=51.0969,-0.7262,51.6494,0.5794 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=11.8 json_ms=0.6 total_ms=12.5
2026-05-04T13:33:33.487141Z INFO property_map_server::routes::pois: GET /api/pois results=64 candidates=19203 categories=1 categories_raw="Tube station" ms=0.4
2026-05-04T13:33:33.491396Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=588430 parallel=true cells_before_filter=3592 cells_after_filter=3486 truncated=false bounds=51.3313,-0.3022,51.4726,0.0319 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=4.4 json_ms=2.5 total_ms=6.9
2026-05-04T13:33:34.526891Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=189132 parallel=true cells_before_filter=1092 cells_after_filter=1007 truncated=false bounds=51.3771,-0.2593,51.4478,-0.0919 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.8 json_ms=0.8 total_ms=2.6
2026-05-04T13:33:34.527896Z INFO property_map_server::routes::pois: GET /api/pois results=28 candidates=5013 categories=1 categories_raw="Tube station" ms=0.1
2026-05-04T13:33:35.231529Z INFO property_map_server::routes::pois: GET /api/pois results=19 candidates=3448 categories=1 categories_raw="Tube station" ms=0.1
2026-05-04T13:33:35.231862Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=142421 parallel=true cells_before_filter=793 cells_after_filter=677 truncated=false bounds=51.3860,-0.2451,51.4420,-0.1126 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.5 json_ms=0.6 total_ms=2.0
2026-05-04T13:33:47.381036Z INFO property_map_server::routes::pois: GET /api/pois results=19 candidates=3448 categories=1 categories_raw="Tube station" ms=0.1
2026-05-04T13:33:48.487044Z INFO property_map_server::routes::pois: GET /api/pois results=14 candidates=2073 categories=1 categories_raw="Tube station" ms=0.1
2026-05-04T13:33:48.487895Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=64849 parallel=true cells_before_filter=359 cells_after_filter=328 truncated=false bounds=51.3976,-0.2209,51.4344,-0.1338 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-04T13:33:53.103234Z INFO property_map_server::routes::pois: GET /api/pois results=78 candidates=19629 categories=1 categories_raw="Tube station" ms=0.6
2026-05-04T13:33:53.107969Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=572882 parallel=true cells_before_filter=2836 cells_after_filter=2667 truncated=false bounds=51.3746,-0.3342,51.4938,-0.0521 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=3.7 json_ms=1.7 total_ms=5.4
2026-05-04T13:33:54.179347Z INFO property_map_server::routes::pois: GET /api/pois results=18 candidates=4852 categories=1 categories_raw="Tube station" ms=0.2
2026-05-04T13:33:54.181576Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=197863 parallel=true cells_before_filter=974 cells_after_filter=892 truncated=false bounds=51.3948,-0.2606,51.4606,-0.1051 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=2.0 json_ms=0.5 total_ms=2.4
2026-05-04T13:34:44.265941Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89194ada8cbffff resolution=9 total_count=540 filters=0 filters_raw="-" ms=0.3
2026-05-04T13:34:44.642142Z INFO property_map_server::routes::pois: GET /api/pois results=18 candidates=3932 categories=1 categories_raw="Tube station" ms=0.2
2026-05-04T13:34:44.643806Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=162297 parallel=true cells_before_filter=751 cells_after_filter=688 truncated=false bounds=51.3948,-0.2395,51.4606,-0.1262 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-04T13:34:48.258461Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89194ada87bffff resolution=9 total_count=229 filters=0 filters_raw="-" ms=0.2
2026-05-04T13:34:49.020563Z INFO property_map_server::routes::pois: GET /api/pois results=286 candidates=70330 categories=1 categories_raw="Tube station" ms=1.9
2026-05-04T13:34:49.025229Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=8 rows=1763707 parallel=true cells_before_filter=2161 cells_after_filter=2149 truncated=false bounds=51.2559,-0.3872,51.5802,0.1718 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=5.6 json_ms=1.0 total_ms=6.6
2026-05-04T13:34:49.575667Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=88194ad111fffff resolution=8 total_count=2002 filters=0 filters_raw="-" ms=0.8
2026-05-04T13:34:50.242133Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=88194ad187fffff resolution=8 total_count=569 filters=0 filters_raw="-" ms=0.4
2026-05-04T13:34:54.017928Z INFO property_map_server::routes::pois: GET /api/pois results=300 candidates=72466 categories=1 categories_raw="Tube station" ms=1.6
2026-05-04T13:34:54.020899Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=8 rows=1794663 parallel=true cells_before_filter=2118 cells_after_filter=2115 truncated=false bounds=51.3074,-0.2905,51.6314,0.2686 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=6.1 json_ms=1.0 total_ms=7.2
2026-05-04T13:34:54.333516Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=88194e69a3fffff resolution=8 total_count=1711 filters=0 filters_raw="-" ms=0.7
2026-05-04T13:34:55.089268Z INFO property_map_server::routes::pois: GET /api/pois results=266 candidates=63697 categories=1 categories_raw="Tube station" ms=1.6
2026-05-04T13:34:55.092662Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=8 rows=1457596 parallel=true cells_before_filter=1343 cells_after_filter=1342 truncated=false bounds=51.3604,-0.2378,51.6117,0.1960 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=4.3 json_ms=0.7 total_ms=5.0
2026-05-04T13:34:56.107033Z INFO property_map_server::routes::pois: GET /api/pois results=188 candidates=41187 categories=1 categories_raw="Tube station" ms=1.1
2026-05-04T13:34:56.112661Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=705465 parallel=true cells_before_filter=3119 cells_after_filter=2980 truncated=false bounds=51.4887,-0.2116,51.6142,0.0860 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=4.7 json_ms=2.0 total_ms=6.7
2026-05-04T13:34:56.698120Z INFO property_map_server::routes::pois: GET /api/pois results=360 candidates=109676 categories=1 categories_raw="Tube station" ms=1.9
2026-05-04T13:34:56.703955Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=7 rows=3083264 parallel=true cells_before_filter=1271 cells_after_filter=1271 truncated=false bounds=51.2423,-0.7308,51.7904,0.5684 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=7.0 json_ms=0.6 total_ms=7.7
2026-05-04T13:34:57.830284Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87194e6b2ffffff resolution=7 total_count=2731 filters=0 filters_raw="-" ms=1.0
2026-05-04T13:34:58.217874Z INFO property_map_server::routes::pois: GET /api/pois results=357 candidates=98274 categories=1 categories_raw="Tube station" ms=1.8
2026-05-04T13:34:58.222832Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=7 rows=2686836 parallel=true cells_before_filter=947 cells_after_filter=947 truncated=false bounds=51.2423,-0.5547,51.7904,0.3922 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=6.1 json_ms=0.6 total_ms=6.7
2026-05-04T13:35:02.847078Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87194ad2dffffff resolution=7 total_count=3860 filters=0 filters_raw="-" ms=1.4
2026-05-04T13:35:04.267736Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87194ad5dffffff resolution=7 total_count=61 filters=0 filters_raw="-" ms=0.1
2026-05-04T13:35:04.372806Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=7 rows=1796967 parallel=true cells_before_filter=952 cells_after_filter=952 truncated=false bounds=50.9769,-0.5547,51.5282,0.3922 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=8.1 json_ms=0.5 total_ms=8.6
2026-05-04T13:35:05.286093Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87194ac0cffffff resolution=7 total_count=5360 filters=0 filters_raw="-" ms=2.4
2026-05-04T13:35:05.938510Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87194ace4ffffff resolution=7 total_count=1840 filters=0 filters_raw="-" ms=0.7
2026-05-04T13:35:07.024847Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87194acd0ffffff resolution=7 total_count=27 filters=0 filters_raw="-" ms=0.1
2026-05-04T13:35:07.127864Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=7 rows=1406489 parallel=true cells_before_filter=931 cells_after_filter=931 truncated=false bounds=50.9372,-0.7810,51.4889,0.1659 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=4.2 json_ms=0.5 total_ms=4.7
2026-05-04T13:35:07.636723Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87194ace2ffffff resolution=7 total_count=4128 filters=0 filters_raw="-" ms=1.9
2026-05-04T13:35:08.866720Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87194ace0ffffff resolution=8 total_count=0 filters=0 filters_raw="-" ms=0.1
2026-05-04T13:35:08.976021Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=8 rows=264483 parallel=true cells_before_filter=1335 cells_after_filter=1332 truncated=false bounds=51.0861,-0.4152,51.3619,0.0583 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=2.8 json_ms=0.9 total_ms=3.7
2026-05-04T13:35:09.583460Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=88194ace27fffff resolution=8 total_count=487 filters=0 filters_raw="-" ms=0.3
2026-05-04T13:35:10.431102Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=8 rows=459958 parallel=true cells_before_filter=1971 cells_after_filter=1970 truncated=false bounds=51.0521,-0.4759,51.3966,0.1154 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=2.6 json_ms=1.2 total_ms=3.8
2026-05-04T13:35:10.749788Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=88194ace59fffff resolution=8 total_count=16 filters=0 filters_raw="-" ms=0.1
2026-05-04T13:35:12.459426Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=7 rows=1105405 parallel=true cells_before_filter=719 cells_after_filter=719 truncated=false bounds=50.9869,-0.6426,51.4692,0.1854 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=3.1 json_ms=0.3 total_ms=3.4
2026-05-04T13:35:13.401256Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=7 rows=1381454 parallel=true cells_before_filter=729 cells_after_filter=729 truncated=false bounds=51.0125,-0.4626,51.4945,0.3654 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=3.4 json_ms=0.4 total_ms=3.8
2026-05-04T13:35:14.699791Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87194a896ffffff resolution=7 total_count=127 filters=0 filters_raw="-" ms=0.1
2026-05-04T13:35:15.568561Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87194ac71ffffff resolution=7 total_count=1376 filters=0 filters_raw="-" ms=0.5
2026-05-04T13:35:16.283030Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87194ac62ffffff resolution=7 total_count=121 filters=0 filters_raw="-" ms=0.1
2026-05-04T13:35:16.911530Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87194ac60ffffff resolution=7 total_count=100 filters=0 filters_raw="-" ms=0.1
2026-05-04T13:35:17.450345Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87194ad5cffffff resolution=7 total_count=846 filters=0 filters_raw="-" ms=0.4
2026-05-04T13:35:18.186038Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87194ad59ffffff resolution=7 total_count=548 filters=0 filters_raw="-" ms=0.2
2026-05-04T13:37:31.860156Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87194ad59ffffff resolution=7 total_count=368 filters=1 filters_raw="Number of bedrooms & living rooms:1:inf" ms=0.2
2026-05-04T13:37:32.015897Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=7 rows=1381454 parallel=true cells_before_filter=728 cells_after_filter=728 truncated=false bounds=51.0125,-0.4626,51.4945,0.3654 filters=1 filters_raw="Number of bedrooms & living rooms:1:inf" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=6.2 json_ms=0.4 total_ms=6.5
2026-05-04T13:37:32.289683Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=1381454 filters=1 travel=0 total=992001 filters_raw="Number of bedrooms & living rooms:1:inf" ms=30.5
2026-05-04T13:37:33.937517Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=7 rows=1381454 parallel=true cells_before_filter=729 cells_after_filter=729 truncated=false bounds=51.0125,-0.4626,51.4945,0.3654 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=6.5 json_ms=0.5 total_ms=7.1
2026-05-04T13:37:34.067557Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87194ad59ffffff resolution=7 total_count=357 filters=1 filters_raw="Number of bedrooms & living rooms:3:inf" ms=0.2
2026-05-04T13:37:34.223391Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=7 rows=1381454 parallel=true cells_before_filter=728 cells_after_filter=728 truncated=false bounds=51.0125,-0.4626,51.4945,0.3654 filters=1 filters_raw="Number of bedrooms & living rooms:3:inf" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=6.2 json_ms=0.4 total_ms=6.6
2026-05-04T13:37:34.498149Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=1381454 filters=1 travel=0 total=854740 filters_raw="Number of bedrooms & living rooms:3:inf" ms=30.2
2026-05-04T13:37:35.039387Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=7 rows=1381454 parallel=true cells_before_filter=729 cells_after_filter=729 truncated=false bounds=51.0125,-0.4626,51.4945,0.3654 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=6.2 json_ms=0.5 total_ms=6.7
2026-05-04T13:37:35.191323Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=7 rows=1381454 parallel=true cells_before_filter=728 cells_after_filter=728 truncated=false bounds=51.0125,-0.4626,51.4945,0.3654 filters=1 filters_raw="Number of bedrooms & living rooms:3:inf" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=6.3 json_ms=0.5 total_ms=6.8
2026-05-04T13:37:36.028720Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87194ad59ffffff resolution=7 total_count=247 filters=1 filters_raw="Number of bedrooms & living rooms:3:5" ms=0.3
2026-05-04T13:37:36.189180Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=7 rows=1381454 parallel=true cells_before_filter=718 cells_after_filter=718 truncated=false bounds=51.0125,-0.4626,51.4945,0.3654 filters=1 filters_raw="Number of bedrooms & living rooms:3:5" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=5.8 json_ms=0.3 total_ms=6.1
2026-05-04T13:37:36.460353Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=1381454 filters=1 travel=0 total=635338 filters_raw="Number of bedrooms & living rooms:3:5" ms=30.7
2026-05-04T13:37:39.273306Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=7 rows=1381454 parallel=true cells_before_filter=729 cells_after_filter=729 truncated=false bounds=51.0125,-0.4626,51.4945,0.3654 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=6.5 json_ms=0.6 total_ms=7.1
2026-05-04T13:37:39.425398Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=7 rows=1381454 parallel=true cells_before_filter=718 cells_after_filter=718 truncated=false bounds=51.0125,-0.4626,51.4945,0.3654 filters=1 filters_raw="Number of bedrooms & living rooms:3:5" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=6.5 json_ms=0.6 total_ms=7.1
2026-05-04T13:37:39.509011Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87194ad59ffffff resolution=7 total_count=323 filters=1 filters_raw="Number of bedrooms & living rooms:3:7" ms=0.2
2026-05-04T13:37:39.665177Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=7 rows=1381454 parallel=true cells_before_filter=727 cells_after_filter=727 truncated=false bounds=51.0125,-0.4626,51.4945,0.3654 filters=1 filters_raw="Number of bedrooms & living rooms:3:7" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=6.3 json_ms=0.3 total_ms=6.6
2026-05-04T13:37:39.939347Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=1381454 filters=1 travel=0 total=794448 filters_raw="Number of bedrooms & living rooms:3:7" ms=29.9
2026-05-04T13:37:40.764623Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=7 rows=1381454 parallel=true cells_before_filter=729 cells_after_filter=729 truncated=false bounds=51.0125,-0.4626,51.4945,0.3654 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=6.3 json_ms=0.6 total_ms=6.9
2026-05-04T13:37:40.917286Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=7 rows=1381454 parallel=true cells_before_filter=727 cells_after_filter=727 truncated=false bounds=51.0125,-0.4626,51.4945,0.3654 filters=1 filters_raw="Number of bedrooms & living rooms:3:7" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=6.1 json_ms=0.5 total_ms=6.6
2026-05-04T13:37:41.269176Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87194ad59ffffff resolution=7 total_count=247 filters=1 filters_raw="Number of bedrooms & living rooms:3:5" ms=0.2
2026-05-04T13:37:41.425942Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=7 rows=1381454 parallel=true cells_before_filter=718 cells_after_filter=718 truncated=false bounds=51.0125,-0.4626,51.4945,0.3654 filters=1 filters_raw="Number of bedrooms & living rooms:3:5" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=6.0 json_ms=0.3 total_ms=6.4
2026-05-04T13:37:41.702843Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=1381454 filters=1 travel=0 total=635338 filters_raw="Number of bedrooms & living rooms:3:5" ms=32.3
2026-05-04T13:37:42.522234Z INFO property_map_server::routes::properties: GET /api/hexagon-properties h3=87194ad59ffffff resolution=7 total=247 returned=100 offset=0 filters=1 filters_raw="Number of bedrooms & living rooms:3:5" ms=0.6
2026-05-04T13:39:09.200678Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87194aceaffffff resolution=7 total_count=2184 filters=1 filters_raw="Number of bedrooms & living rooms:3:5" ms=1.0
2026-05-04T13:39:11.646640Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87194ac28ffffff resolution=7 total_count=755 filters=1 filters_raw="Number of bedrooms & living rooms:3:5" ms=0.4
2026-05-04T13:39:12.199523Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87194ac65ffffff resolution=7 total_count=8 filters=1 filters_raw="Number of bedrooms & living rooms:3:5" ms=0.1
2026-05-04T13:39:12.679800Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87194ac6bffffff resolution=7 total_count=14 filters=1 filters_raw="Number of bedrooms & living rooms:3:5" ms=0.1
2026-05-04T13:39:13.266201Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=7 rows=3475464 parallel=true cells_before_filter=2135 cells_after_filter=2135 truncated=false bounds=50.8928,-0.8841,51.7497,0.5899 filters=1 filters_raw="Number of bedrooms & living rooms:3:5" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=22.7 json_ms=1.0 total_ms=23.8
2026-05-04T13:39:14.173736Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87194a950ffffff resolution=7 total_count=108 filters=1 filters_raw="Number of bedrooms & living rooms:3:5" ms=0.1
2026-05-04T13:39:14.202953Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=7 rows=2579526 parallel=true cells_before_filter=1773 cells_after_filter=1773 truncated=false bounds=50.8838,-0.2291,51.7409,1.2449 filters=1 filters_raw="Number of bedrooms & living rooms:3:5" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=10.0 json_ms=0.8 total_ms=10.9
2026-05-04T13:39:14.530599Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=2579526 filters=1 travel=0 total=1216179 filters_raw="Number of bedrooms & living rooms:3:5" ms=59.7
2026-05-04T13:39:14.817290Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87194a820ffffff resolution=7 total_count=3142 filters=1 filters_raw="Number of bedrooms & living rooms:3:5" ms=1.6
2026-05-04T13:39:15.308971Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87194a824ffffff resolution=7 total_count=2807 filters=1 filters_raw="Number of bedrooms & living rooms:3:5" ms=1.4
2026-05-04T13:39:15.673631Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87194a816ffffff resolution=7 total_count=13 filters=1 filters_raw="Number of bedrooms & living rooms:3:5" ms=0.1
2026-05-04T13:39:16.123666Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87194a990ffffff resolution=7 total_count=2 filters=1 filters_raw="Number of bedrooms & living rooms:3:5" ms=0.1
2026-05-04T13:39:16.608403Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87194e6ddffffff resolution=7 total_count=631 filters=1 filters_raw="Number of bedrooms & living rooms:3:5" ms=0.4
2026-05-04T13:39:16.999707Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87194a8b0ffffff resolution=7 total_count=87 filters=1 filters_raw="Number of bedrooms & living rooms:3:5" ms=0.1
2026-05-04T13:39:18.417737Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=7 rows=2578308 parallel=true cells_before_filter=1987 cells_after_filter=1987 truncated=false bounds=50.4409,-0.6832,51.5251,1.1682 filters=1 filters_raw="Number of bedrooms & living rooms:3:5" fields=0 travel_entries=0 grid_ms=0.1 agg_ms=11.4 json_ms=1.1 total_ms=12.6
2026-05-04T13:39:18.730325Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=2578308 filters=1 travel=0 total=1189584 filters_raw="Number of bedrooms & living rooms:3:5" ms=61.6
2026-05-04T13:39:18.734185Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87194a150ffffff resolution=7 total_count=76 filters=1 filters_raw="Number of bedrooms & living rooms:3:5" ms=0.1
2026-05-04T13:39:19.127321Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87194a015ffffff resolution=7 total_count=17 filters=1 filters_raw="Number of bedrooms & living rooms:3:5" ms=0.1
2026-05-04T13:39:19.574466Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87194a18cffffff resolution=7 total_count=129 filters=1 filters_raw="Number of bedrooms & living rooms:3:5" ms=0.1
2026-05-04T13:39:19.926142Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87194a195ffffff resolution=7 total_count=2 filters=1 filters_raw="Number of bedrooms & living rooms:3:5" ms=0.0
2026-05-04T13:39:21.425128Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87194ad2cffffff resolution=7 total_count=3286 filters=1 filters_raw="Number of bedrooms & living rooms:3:5" ms=1.5
2026-05-04T13:39:21.516570Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=7 rows=4132595 parallel=true cells_before_filter=3124 cells_after_filter=3124 truncated=false bounds=51.0226,-0.7947,52.0934,1.0568 filters=1 filters_raw="Number of bedrooms & living rooms:3:5" fields=0 travel_entries=0 grid_ms=0.1 agg_ms=20.3 json_ms=1.4 total_ms=21.8
2026-05-04T13:39:21.904543Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87194e696ffffff resolution=7 total_count=4371 filters=1 filters_raw="Number of bedrooms & living rooms:3:5" ms=1.8
2026-05-04T13:39:21.938806Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=4132595 filters=1 travel=0 total=1885406 filters_raw="Number of bedrooms & living rooms:3:5" ms=95.5
2026-05-04T13:39:22.384233Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87194e798ffffff resolution=7 total_count=24 filters=1 filters_raw="Number of bedrooms & living rooms:3:5" ms=0.1
2026-05-04T13:39:22.815724Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87194e7a5ffffff resolution=7 total_count=2 filters=1 filters_raw="Number of bedrooms & living rooms:3:5" ms=0.0
2026-05-04T13:39:23.240875Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87195db64ffffff resolution=7 total_count=109 filters=1 filters_raw="Number of bedrooms & living rooms:3:5" ms=0.1
2026-05-04T13:39:23.649706Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87195db0bffffff resolution=7 total_count=2098 filters=1 filters_raw="Number of bedrooms & living rooms:3:5" ms=0.9
2026-05-04T13:39:24.061836Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87195da28ffffff resolution=7 total_count=16 filters=1 filters_raw="Number of bedrooms & living rooms:3:5" ms=0.1
2026-05-04T13:39:25.168849Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=7 rows=4166960 parallel=true cells_before_filter=3121 cells_after_filter=3121 truncated=false bounds=51.2743,-1.1936,52.3392,0.6578 filters=1 filters_raw="Number of bedrooms & living rooms:3:5" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=21.3 json_ms=1.5 total_ms=22.8
2026-05-04T13:39:25.523193Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87195d840ffffff resolution=7 total_count=16 filters=1 filters_raw="Number of bedrooms & living rooms:3:5" ms=0.1
2026-05-04T13:39:25.559888Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=4166960 filters=1 travel=0 total=1886566 filters_raw="Number of bedrooms & living rooms:3:5" ms=107.2
2026-05-04T13:39:25.883105Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87194e49effffff resolution=7 total_count=1693 filters=1 filters_raw="Number of bedrooms & living rooms:3:5" ms=0.8
2026-05-04T13:39:26.218403Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87195db86ffffff resolution=7 total_count=153 filters=1 filters_raw="Number of bedrooms & living rooms:3:5" ms=0.1
2026-05-04T13:39:26.593638Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87195db9affffff resolution=7 total_count=1 filters=1 filters_raw="Number of bedrooms & living rooms:3:5" ms=0.1
2026-05-04T13:39:26.950436Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87195da31ffffff resolution=7 total_count=1550 filters=1 filters_raw="Number of bedrooms & living rooms:3:5" ms=0.8
2026-05-04T13:39:27.307613Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87195db2bffffff resolution=7 total_count=1530 filters=1 filters_raw="Number of bedrooms & living rooms:3:5" ms=0.7
2026-05-04T13:39:27.665871Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87194e4f3ffffff resolution=7 total_count=70 filters=1 filters_raw="Number of bedrooms & living rooms:3:5" ms=0.1
2026-05-04T13:39:28.032904Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87194e48cffffff resolution=7 total_count=3 filters=1 filters_raw="Number of bedrooms & living rooms:3:5" ms=0.0
2026-05-04T13:39:28.390308Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87195d843ffffff resolution=7 total_count=1 filters=1 filters_raw="Number of bedrooms & living rooms:3:5" ms=0.1
2026-05-04T13:39:28.762285Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87195daa5ffffff resolution=7 total_count=1051 filters=1 filters_raw="Number of bedrooms & living rooms:3:5" ms=0.6
2026-05-04T13:39:29.128858Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87195daa8ffffff resolution=7 total_count=79 filters=1 filters_raw="Number of bedrooms & living rooms:3:5" ms=0.1
2026-05-04T13:39:29.469791Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87195d8cdffffff resolution=7 total_count=29 filters=1 filters_raw="Number of bedrooms & living rooms:3:5" ms=0.1
2026-05-04T13:39:29.828391Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87195d841ffffff resolution=7 total_count=7 filters=1 filters_raw="Number of bedrooms & living rooms:3:5" ms=0.0
2026-05-04T13:39:30.228889Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87194e496ffffff resolution=7 total_count=222 filters=1 filters_raw="Number of bedrooms & living rooms:3:5" ms=0.2
2026-05-04T13:39:30.544702Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87195db30ffffff resolution=7 total_count=2 filters=1 filters_raw="Number of bedrooms & living rooms:3:5" ms=0.0
2026-05-04T13:39:30.896707Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87195da06ffffff resolution=7 total_count=620 filters=1 filters_raw="Number of bedrooms & living rooms:3:5" ms=0.3
2026-05-04T13:39:31.258359Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87195dae3ffffff resolution=7 total_count=2023 filters=1 filters_raw="Number of bedrooms & living rooms:3:5" ms=1.4
2026-05-04T13:39:31.691097Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87195dad2ffffff resolution=7 total_count=219 filters=1 filters_raw="Number of bedrooms & living rooms:3:5" ms=0.2
2026-05-04T13:39:32.025740Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87195db80ffffff resolution=7 total_count=4 filters=1 filters_raw="Number of bedrooms & living rooms:3:5" ms=0.1
2026-05-04T13:39:32.407765Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87195d845ffffff resolution=7 total_count=4 filters=1 filters_raw="Number of bedrooms & living rooms:3:5" ms=0.0
2026-05-04T13:39:47.631460Z INFO property_map_server::routes::features: GET /api/features
2026-05-04T13:39:47.633167Z INFO property_map_server::routes::pois: GET /api/poi-categories count=74 groups=11
2026-05-04T13:39:47.918971Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=7 rows=4166960 parallel=true cells_before_filter=3121 cells_after_filter=3121 truncated=false bounds=51.2743,-1.1936,52.3392,0.6578 filters=1 filters_raw="Number of bedrooms & living rooms:3:5" fields=0 travel_entries=0 grid_ms=0.1 agg_ms=17.4 json_ms=1.6 total_ms=19.1
2026-05-04T13:39:48.244646Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=4166960 filters=1 travel=0 total=1886566 filters_raw="Number of bedrooms & living rooms:3:5" ms=95.1
2026-05-04T13:39:59.839762Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87195d845ffffff resolution=7 total_count=4 filters=2 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Semi-Detached|Terraced|Flats/Maisonettes|Other" ms=0.0
2026-05-04T13:40:00.017768Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=7 rows=4166960 parallel=true cells_before_filter=3121 cells_after_filter=3121 truncated=false bounds=51.2743,-1.1936,52.3392,0.6578 filters=2 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Semi-Detached|Terraced|Flats/Maisonettes|Other" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=19.1 json_ms=1.7 total_ms=20.8
2026-05-04T13:40:00.298024Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=4166960 filters=2 travel=0 total=1886566 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Semi-Detached|Terraced|Flats/Maisonettes|Other" ms=52.3
2026-05-04T13:40:01.703148Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87195d845ffffff resolution=7 total_count=4 filters=3 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Semi-Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:12976.594:inf" ms=0.1
2026-05-04T13:40:01.881414Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=7 rows=4166960 parallel=true cells_before_filter=3121 cells_after_filter=3121 truncated=false bounds=51.2743,-1.1936,52.3392,0.6578 filters=3 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Semi-Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:12976.594:inf" fields=0 travel_entries=0 grid_ms=0.1 agg_ms=25.3 json_ms=1.6 total_ms=26.9
2026-05-04T13:40:02.159421Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=4166960 filters=3 travel=0 total=1886561 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Semi-Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:12976.594:inf" ms=56.6
2026-05-04T13:40:02.954534Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=7 rows=4166960 parallel=true cells_before_filter=3121 cells_after_filter=3121 truncated=false bounds=51.2743,-1.1936,52.3392,0.6578 filters=2 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Semi-Detached|Terraced|Flats/Maisonettes|Other" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=17.4 json_ms=2.3 total_ms=19.8
2026-05-04T13:40:03.092445Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=7 rows=4166960 parallel=true cells_before_filter=3121 cells_after_filter=3121 truncated=false bounds=51.2743,-1.1936,52.3392,0.6578 filters=3 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Semi-Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:12976.594:inf" fields=1 travel_entries=0 grid_ms=0.1 agg_ms=15.6 json_ms=2.2 total_ms=17.8
2026-05-04T13:40:03.106688Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=87992 parallel=true cells_before_filter=310 cells_after_filter=260 truncated=false bounds=51.4958,-0.1632,51.5342,-0.0968 filters=2 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Semi-Detached|Terraced|Flats/Maisonettes|Other" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=0.9 json_ms=0.2 total_ms=1.1
2026-05-04T13:40:03.183936Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87195d845ffffff resolution=7 total_count=3 filters=3 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Semi-Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:inf" ms=0.1
2026-05-04T13:40:03.334999Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=87992 parallel=true cells_before_filter=310 cells_after_filter=260 truncated=false bounds=51.4958,-0.1632,51.5342,-0.0968 filters=3 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Semi-Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:inf" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.0 json_ms=0.2 total_ms=1.1
2026-05-04T13:40:03.585769Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=87992 filters=3 travel=0 total=33277 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Semi-Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:inf" ms=1.3
2026-05-04T13:40:05.930723Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=87992 parallel=true cells_before_filter=310 cells_after_filter=260 truncated=false bounds=51.4958,-0.1632,51.5342,-0.0968 filters=2 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Semi-Detached|Terraced|Flats/Maisonettes|Other" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=0.9 json_ms=0.2 total_ms=1.1
2026-05-04T13:40:06.082869Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=87992 parallel=true cells_before_filter=310 cells_after_filter=260 truncated=false bounds=51.4958,-0.1632,51.5342,-0.0968 filters=3 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Semi-Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:inf" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=1.1 json_ms=0.2 total_ms=1.3
2026-05-04T13:40:06.430051Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87195d845ffffff resolution=7 total_count=3 filters=3 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Semi-Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000" ms=0.0
2026-05-04T13:40:06.581002Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=87992 parallel=true cells_before_filter=284 cells_after_filter=237 truncated=false bounds=51.4958,-0.1632,51.5342,-0.0968 filters=3 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Semi-Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.0 json_ms=0.1 total_ms=1.1
2026-05-04T13:40:06.829845Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=87992 filters=3 travel=0 total=18406 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Semi-Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000" ms=1.3
2026-05-04T13:40:07.011032Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87195d845ffffff resolution=7 total_count=2 filters=3 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000" ms=0.0
2026-05-04T13:40:07.164480Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=87992 parallel=true cells_before_filter=284 cells_after_filter=237 truncated=false bounds=51.4958,-0.1632,51.5342,-0.0968 filters=3 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.0 json_ms=0.1 total_ms=1.2
2026-05-04T13:40:07.429768Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=87992 filters=3 travel=0 total=18395 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000" ms=1.7
2026-05-04T13:40:08.503494Z INFO property_map_server::routes::properties: GET /api/hexagon-properties h3=87195d845ffffff resolution=7 total=2 returned=2 offset=0 filters=3 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000" ms=0.0
2026-05-04T13:40:12.659371Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89195da499bffff resolution=9 total_count=118 filters=3 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000" ms=0.2
2026-05-04T13:40:13.476085Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=8 rows=1289966 parallel=true cells_before_filter=1056 cells_after_filter=1056 truncated=false bounds=51.3961,-0.2920,51.6141,0.0845 filters=3 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=6.0 json_ms=0.5 total_ms=6.6
2026-05-04T13:40:13.809495Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=1289966 filters=3 travel=0 total=460490 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000" ms=17.6
2026-05-04T13:40:14.188080Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=88194ad025fffff resolution=8 total_count=301 filters=3 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000" ms=0.3
2026-05-04T13:40:15.349942Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=7 rows=3939570 parallel=true cells_before_filter=2481 cells_after_filter=2481 truncated=false bounds=51.1815,-0.9718,52.1304,0.6725 filters=3 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=15.4 json_ms=1.4 total_ms=16.8
2026-05-04T13:40:16.324644Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87194ac40ffffff resolution=7 total_count=1 filters=3 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000" ms=0.1
2026-05-04T13:40:16.403879Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=7 rows=3804218 parallel=true cells_before_filter=2508 cells_after_filter=2508 truncated=false bounds=50.8745,-0.8892,51.8297,0.7551 filters=3 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=15.5 json_ms=1.2 total_ms=16.8
2026-05-04T13:40:16.756860Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=3804218 filters=3 travel=0 total=1157117 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000" ms=60.5
2026-05-04T13:40:17.073715Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87194acedffffff resolution=7 total_count=8 filters=3 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000" ms=0.0
2026-05-04T13:40:17.507764Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87194acd1ffffff resolution=7 total_count=6 filters=3 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000" ms=0.1
2026-05-04T13:40:17.961358Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87194a98affffff resolution=7 total_count=353 filters=3 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000" ms=0.2
2026-05-04T13:40:18.854000Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=5 rows=13734545 parallel=true cells_before_filter=591 cells_after_filter=591 truncated=false bounds=48.9101,-6.4599,54.2741,2.8361 filters=3 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000" fields=0 travel_entries=0 grid_ms=0.8 agg_ms=78.1 json_ms=0.3 total_ms=79.2
2026-05-04T13:40:19.292838Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=13734545 filters=3 travel=0 total=2626682 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000" ms=250.9
2026-05-04T13:40:20.742956Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=6 rows=4941995 parallel=true cells_before_filter=730 cells_after_filter=730 truncated=false bounds=49.9329,-2.0335,51.7180,1.0049 filters=3 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000" fields=0 travel_entries=0 grid_ms=0.1 agg_ms=18.2 json_ms=0.3 total_ms=18.6
2026-05-04T13:40:21.052172Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=4941995 filters=3 travel=0 total=1437556 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000" ms=77.1
2026-05-04T13:40:21.737715Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=5 rows=14525100 parallel=true cells_before_filter=680 cells_after_filter=680 truncated=false bounds=47.6440,-11.8151,57.1675,5.0515 filters=3 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000" fields=0 travel_entries=0 grid_ms=1.2 agg_ms=77.4 json_ms=0.4 total_ms=79.1
2026-05-04T13:40:22.311664Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=6 rows=1351447 parallel=true cells_before_filter=330 cells_after_filter=330 truncated=false bounds=50.0785,-1.3960,51.3374,0.7412 filters=3 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000" fields=0 travel_entries=0 grid_ms=0.1 agg_ms=5.2 json_ms=0.2 total_ms=5.4
2026-05-04T13:40:22.577284Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=1351447 filters=3 travel=0 total=341191 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000" ms=21.2
2026-05-04T13:40:23.304030Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=86194a0afffffff resolution=6 total_count=79 filters=3 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000" ms=0.1
2026-05-04T13:40:23.980370Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=6 rows=5962106 parallel=true cells_before_filter=1067 cells_after_filter=1067 truncated=false bounds=49.1089,-2.9215,51.8051,1.6327 filters=3 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000" fields=0 travel_entries=0 grid_ms=0.3 agg_ms=20.8 json_ms=0.5 total_ms=21.6
2026-05-04T13:40:24.305533Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=86194a407ffffff resolution=6 total_count=134 filters=3 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000" ms=0.2
2026-05-04T13:40:24.337106Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=5962106 filters=3 travel=0 total=1685745 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000" ms=93.5
2026-05-04T13:40:25.663676Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=6 rows=10634700 parallel=true cells_before_filter=2866 cells_after_filter=2866 truncated=false bounds=49.1437,-4.4067,53.2985,2.7308 filters=3 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000" fields=0 travel_entries=0 grid_ms=0.4 agg_ms=60.1 json_ms=1.3 total_ms=61.8
2026-05-04T13:40:26.085658Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=10634700 filters=3 travel=0 total=2336049 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000" ms=191.2
2026-05-04T13:40:26.297051Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=86195d3afffffff resolution=6 total_count=1090 filters=3 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000" ms=0.6
2026-05-04T13:40:26.829321Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=8619598afffffff resolution=6 total_count=21 filters=3 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000" ms=0.1
2026-05-04T13:40:27.681730Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=5 rows=14525100 parallel=true cells_before_filter=680 cells_after_filter=680 truncated=false bounds=47.2724,-10.5960,56.7831,6.1034 filters=3 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000" fields=0 travel_entries=0 grid_ms=1.0 agg_ms=80.9 json_ms=0.3 total_ms=82.2
2026-05-04T13:40:27.980107Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=8519416ffffffff resolution=5 total_count=650 filters=3 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000" ms=0.5
2026-05-04T13:40:28.172748Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=14525100 filters=3 travel=0 total=2674851 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000" ms=264.9
2026-05-04T13:40:30.144887Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=6 rows=13393037 parallel=true cells_before_filter=3371 cells_after_filter=3371 truncated=false bounds=50.2480,-4.5290,53.9724,1.9951 filters=3 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000" fields=0 travel_entries=0 grid_ms=0.3 agg_ms=67.4 json_ms=1.5 total_ms=69.2
2026-05-04T13:40:30.684577Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=6 rows=5783676 parallel=true cells_before_filter=1023 cells_after_filter=1023 truncated=false bounds=51.3248,-2.2406,52.8598,0.4456 filters=3 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000" fields=0 travel_entries=0 grid_ms=0.1 agg_ms=19.7 json_ms=0.5 total_ms=20.3
2026-05-04T13:40:31.018801Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=5783676 filters=3 travel=0 total=1368317 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000" ms=103.7
2026-05-04T13:40:33.223439Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=6 rows=5574893 parallel=true cells_before_filter=1047 cells_after_filter=1047 truncated=false bounds=50.9530,-1.8661,52.5005,0.8201 filters=3 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000" fields=0 travel_entries=0 grid_ms=0.1 agg_ms=20.2 json_ms=0.5 total_ms=20.8
2026-05-04T13:40:33.511242Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=5574893 filters=3 travel=0 total=1474666 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000" ms=89.6
2026-05-04T13:40:33.823361Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=6 rows=7718491 parallel=true cells_before_filter=1606 cells_after_filter=1606 truncated=false bounds=50.7823,-2.2768,52.7453,1.1335 filters=3 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000" fields=0 travel_entries=0 grid_ms=0.1 agg_ms=27.3 json_ms=0.7 total_ms=28.2
2026-05-04T13:40:34.181037Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=7718491 filters=3 travel=0 total=1855340 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000" ms=130.1
2026-05-04T13:40:35.169083Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=5 rows=14525100 parallel=true cells_before_filter=680 cells_after_filter=680 truncated=false bounds=48.3706,-7.9280,55.9761,5.4460 filters=3 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000" fields=0 travel_entries=0 grid_ms=0.9 agg_ms=74.7 json_ms=0.3 total_ms=75.9
2026-05-04T13:40:35.614995Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=14525100 filters=3 travel=0 total=2674851 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000" ms=267.4
2026-05-04T13:40:36.796318Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=6 rows=6805756 parallel=true cells_before_filter=1441 cells_after_filter=1441 truncated=false bounds=50.9200,-2.0466,52.7662,1.1662 filters=3 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000" fields=0 travel_entries=0 grid_ms=0.1 agg_ms=40.3 json_ms=0.7 total_ms=41.1
2026-05-04T13:40:37.128382Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=6805756 filters=3 travel=0 total=1645309 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000" ms=124.6
2026-05-04T13:40:37.594282Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=6 rows=7163519 parallel=true cells_before_filter=1554 cells_after_filter=1554 truncated=false bounds=50.8883,-2.1219,52.8088,1.2209 filters=3 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000" fields=0 travel_entries=0 grid_ms=0.2 agg_ms=40.7 json_ms=0.7 total_ms=41.5
2026-05-04T13:40:37.941673Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=7163519 filters=3 travel=0 total=1699669 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000" ms=132.3
2026-05-04T13:40:38.211400Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=86194e40fffffff resolution=6 total_count=38 filters=3 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000" ms=0.1
2026-05-04T13:40:39.150774Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=7 rows=3135418 parallel=true cells_before_filter=1605 cells_after_filter=1605 truncated=false bounds=51.3661,-0.7240,52.1190,0.5831 filters=3 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=12.4 json_ms=0.8 total_ms=13.1
2026-05-04T13:40:39.435136Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=3135418 filters=3 travel=0 total=989196 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000" ms=46.3
2026-05-04T13:40:40.347500Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=8 rows=513089 parallel=true cells_before_filter=1559 cells_after_filter=1559 truncated=false bounds=51.5957,-0.3062,51.9709,0.3457 filters=3 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=3.3 json_ms=0.7 total_ms=4.0
2026-05-04T13:40:40.857293Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=8 rows=240788 parallel=true cells_before_filter=1227 cells_after_filter=1227 truncated=false bounds=51.6825,-0.3062,52.0569,0.3457 filters=3 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=2.9 json_ms=0.7 total_ms=3.6
2026-05-04T13:40:41.166908Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=240788 filters=3 travel=0 total=65837 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000" ms=4.1
2026-05-04T13:40:41.719333Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=7 rows=857108 parallel=true cells_before_filter=864 cells_after_filter=864 truncated=false bounds=51.5924,-0.4989,52.1451,0.4634 filters=3 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=4.6 json_ms=0.4 total_ms=5.1
2026-05-04T13:40:41.979157Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=857108 filters=3 travel=0 total=248089 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000" ms=13.6
2026-05-04T13:40:43.528033Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87194e408ffffff resolution=7 total_count=12 filters=3 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000" ms=0.2
2026-05-04T13:40:47.419735Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=8 rows=362988 parallel=true cells_before_filter=1600 cells_after_filter=1599 truncated=false bounds=51.6458,-0.3699,52.0647,0.3591 filters=3 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=3.4 json_ms=1.3 total_ms=4.7
2026-05-04T13:40:47.680017Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=362988 filters=3 travel=0 total=103811 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000" ms=6.1
2026-05-04T13:40:47.861833Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=88194e4511fffff resolution=8 total_count=20 filters=3 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000" ms=0.3
2026-05-04T13:42:45.803861Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=88194e4511fffff resolution=8 total_count=20 filters=4 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000;;Number of parks within 1km:0:261" ms=0.1
2026-05-04T13:42:45.957776Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=8 rows=362988 parallel=true cells_before_filter=1600 cells_after_filter=1599 truncated=false bounds=51.6458,-0.3699,52.0647,0.3591 filters=4 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000;;Number of parks within 1km:0:261" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=3.0 json_ms=0.8 total_ms=3.8
2026-05-04T13:42:46.210140Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=362988 filters=4 travel=0 total=103811 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000;;Number of parks within 1km:0:261" ms=6.4
2026-05-04T13:42:48.724320Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=8 rows=362988 parallel=true cells_before_filter=1600 cells_after_filter=1599 truncated=false bounds=51.6458,-0.3699,52.0647,0.3591 filters=3 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=3.0 json_ms=1.0 total_ms=4.0
2026-05-04T13:42:48.878730Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=8 rows=362988 parallel=true cells_before_filter=1600 cells_after_filter=1599 truncated=false bounds=51.6458,-0.3699,52.0647,0.3591 filters=4 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000;;Number of parks within 1km:0:261" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=3.4 json_ms=1.0 total_ms=4.4
2026-05-04T13:42:50.280108Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=8 rows=362988 parallel=true cells_before_filter=1600 cells_after_filter=1599 truncated=false bounds=51.6458,-0.3699,52.0647,0.3591 filters=4 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000;;Number of parks within 1km:0:261" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=3.0 json_ms=0.7 total_ms=3.8
2026-05-04T13:42:50.527447Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=362988 filters=4 travel=0 total=103811 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000;;Number of parks within 1km:0:261" ms=5.9
2026-05-04T13:42:51.138668Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=11609 parallel=false cells_before_filter=161 cells_after_filter=150 truncated=false bounds=51.8485,-0.1783,51.9152,-0.0621 filters=4 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000;;Number of parks within 1km:0:261" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.4 json_ms=0.1 total_ms=0.5
2026-05-04T13:42:51.437032Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=11609 filters=4 travel=0 total=4346 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000;;Number of parks within 1km:0:261" ms=0.3
2026-05-04T13:42:52.248121Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89194e4d643ffff resolution=9 total_count=1 filters=4 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000;;Number of parks within 1km:0:261" ms=0.0
2026-05-04T13:42:52.967593Z INFO property_map_server::routes::postcodes: GET /api/postcodes postcodes_before_filter=19 postcodes_after_filter=5 filtered_out=14 truncated=false bounds=51.876437,-0.153837,51.888408,-0.132989 filters=4 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000;;Number of parks within 1km:0:261" fields=0 travel_entries=0 agg_ms=0.0 json_ms=0.0 total_ms=0.1
2026-05-04T13:42:54.208037Z INFO property_map_server::routes::postcodes: GET /api/postcodes postcodes_before_filter=19 postcodes_after_filter=9 filtered_out=10 truncated=false bounds=51.876437,-0.160521,51.888408,-0.139673 filters=4 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000;;Number of parks within 1km:0:261" fields=0 travel_entries=0 agg_ms=0.0 json_ms=0.0 total_ms=0.1
2026-05-04T13:42:54.458795Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=359 filters=4 travel=0 total=108 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000;;Number of parks within 1km:0:261" ms=0.0
2026-05-04T13:42:54.634223Z INFO property_map_server::routes::postcodes: GET /api/postcodes postcodes_before_filter=19 postcodes_after_filter=9 filtered_out=10 truncated=false bounds=51.876437,-0.160521,51.888408,-0.139673 filters=3 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000" fields=1 travel_entries=0 agg_ms=0.0 json_ms=0.0 total_ms=0.1
2026-05-04T13:42:54.787083Z INFO property_map_server::routes::postcodes: GET /api/postcodes postcodes_before_filter=19 postcodes_after_filter=9 filtered_out=10 truncated=false bounds=51.876437,-0.160521,51.888408,-0.139673 filters=4 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000;;Number of parks within 1km:0:261" fields=1 travel_entries=0 agg_ms=0.1 json_ms=0.1 total_ms=0.1
2026-05-04T13:42:56.155673Z INFO property_map_server::routes::pois: GET /api/poi-categories count=74 groups=11
2026-05-04T13:42:56.155846Z INFO property_map_server::routes::features: GET /api/features
2026-05-04T13:42:56.156002Z INFO property_map_server::routes::postcodes: GET /api/postcodes postcodes_before_filter=19 postcodes_after_filter=9 filtered_out=10 truncated=false bounds=51.876437,-0.160521,51.888408,-0.139673 filters=3 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000" fields=1 travel_entries=0 agg_ms=0.1 json_ms=0.0 total_ms=0.1
2026-05-04T13:42:56.220641Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=359 parallel=false cells_before_filter=12 cells_after_filter=12 truncated=false bounds=51.8764,-0.1605,51.8884,-0.1397 filters=3 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=0.0 json_ms=0.0 total_ms=0.1
2026-05-04T13:42:56.222821Z INFO property_map_server::routes::postcodes: GET /api/postcodes postcodes_before_filter=19 postcodes_after_filter=9 filtered_out=10 truncated=false bounds=51.876437,-0.160521,51.888408,-0.139673 filters=3 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000" fields=1 travel_entries=0 agg_ms=0.0 json_ms=0.1 total_ms=0.1
2026-05-04T13:42:56.234072Z INFO property_map_server::routes::postcodes: GET /api/postcodes postcodes_before_filter=19 postcodes_after_filter=9 filtered_out=10 truncated=false bounds=51.876437,-0.160521,51.888408,-0.139673 filters=3 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000" fields=1 travel_entries=0 agg_ms=0.0 json_ms=0.0 total_ms=0.1
2026-05-04T13:42:56.385794Z INFO property_map_server::routes::postcodes: GET /api/postcodes postcodes_before_filter=19 postcodes_after_filter=9 filtered_out=10 truncated=false bounds=51.876437,-0.160521,51.888408,-0.139673 filters=4 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000;;Number of parks within 1km:0:261" fields=1 travel_entries=0 agg_ms=0.1 json_ms=0.0 total_ms=0.1
2026-05-04T13:42:56.636837Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=359 filters=4 travel=0 total=108 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000;;Number of parks within 1km:0:261" ms=0.1
2026-05-04T13:42:57.297686Z INFO property_map_server::routes::postcodes: GET /api/postcodes postcodes_before_filter=19 postcodes_after_filter=9 filtered_out=10 truncated=false bounds=51.876437,-0.160521,51.888408,-0.139673 filters=4 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000;;Number of parks within 1km:0:261" fields=0 travel_entries=0 agg_ms=0.0 json_ms=0.0 total_ms=0.1
2026-05-04T13:42:57.546730Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=359 filters=4 travel=0 total=108 filters_raw="Number of bedrooms & living rooms:3:5;;Property type:Detached|Terraced|Flats/Maisonettes|Other;;Estimated current price:250000:940000;;Number of parks within 1km:0:261" ms=0.0
2026-05-04T13:44:49.261099Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=112745 parallel=true cells_before_filter=400 cells_after_filter=353 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-04T13:44:50.347721Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89195da499bffff resolution=9 total_count=467 filters=0 filters_raw="-" ms=0.3
2026-05-04T13:44:50.711966Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=87992 parallel=true cells_before_filter=321 cells_after_filter=269 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.2 total_ms=1.0
2026-05-04T13:44:51.997117Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=250891 parallel=true cells_before_filter=852 cells_after_filter=772 truncated=false bounds=51.4774,-0.1839,51.5471,-0.0636 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-04T13:44:52.807772Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=560282 parallel=true cells_before_filter=2080 cells_after_filter=1933 truncated=false bounds=51.4478,-0.2187,51.5610,-0.0231 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=3.0 json_ms=1.0 total_ms=4.0
2026-05-04T13:44:53.635787Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=807566 parallel=true cells_before_filter=3303 cells_after_filter=3219 truncated=false bounds=51.4220,-0.2488,51.5731,0.0121 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=5.3 json_ms=1.7 total_ms=7.0
2026-05-04T13:44:54.798823Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=1105492 parallel=true cells_before_filter=5230 cells_after_filter=5113 truncated=false bounds=51.3929,-0.2828,51.5867,0.0517 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=7.1 json_ms=3.1 total_ms=10.3
2026-05-04T13:44:55.395784Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=88195da499fffff resolution=8 total_count=1870 filters=0 filters_raw="-" ms=0.7
2026-05-04T13:44:55.661551Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=8 rows=1538003 parallel=true cells_before_filter=1378 cells_after_filter=1374 truncated=false bounds=51.3565,-0.3255,51.6038,0.1014 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=7.4 json_ms=0.7 total_ms=8.1
2026-05-04T13:44:57.193263Z 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-04T13:44:58.020688Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=179777 parallel=true cells_before_filter=622 cells_after_filter=549 truncated=false bounds=51.4856,-0.1743,51.5432,-0.0747 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-04T13:44:58.881862Z INFO property_map_server::routes::postcodes: GET /api/postcodes postcodes_before_filter=2345 postcodes_after_filter=962 filtered_out=1383 truncated=false bounds=51.508018,-0.143594,51.522240,-0.119026 filters=0 filters_raw="-" fields=0 travel_entries=0 agg_ms=1.6 json_ms=1.9 total_ms=3.5
2026-05-04T13:45:00.062761Z INFO property_map_server::routes::postcodes: GET /api/postcodes postcodes_before_filter=667 postcodes_after_filter=393 filtered_out=274 truncated=false bounds=51.511254,-0.139164,51.519214,-0.125412 filters=0 filters_raw="-" fields=0 travel_entries=0 agg_ms=0.5 json_ms=0.7 total_ms=1.2
2026-05-04T13:45:00.628155Z INFO property_map_server::routes::postcodes: GET /api/postcodes postcodes_before_filter=1608 postcodes_after_filter=746 filtered_out=862 truncated=false bounds=51.509410,-0.141687,51.520938,-0.121774 filters=0 filters_raw="-" fields=0 travel_entries=0 agg_ms=1.2 json_ms=1.5 total_ms=2.8
2026-05-04T13:45:01.397027Z INFO property_map_server::routes::postcodes: GET /api/postcodes postcodes_before_filter=667 postcodes_after_filter=288 filtered_out=379 truncated=false bounds=51.512070,-0.138270,51.518805,-0.126635 filters=0 filters_raw="-" fields=0 travel_entries=0 agg_ms=0.5 json_ms=0.6 total_ms=1.1
2026-05-04T13:46:20.506454Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=112745 parallel=true cells_before_filter=400 cells_after_filter=353 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-04T13:46:22.304549Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89195da49d7ffff resolution=9 total_count=156 filters=0 filters_raw="-" ms=0.2
2026-05-04T13:46:22.672819Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=87992 parallel=true cells_before_filter=321 cells_after_filter=269 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.1 json_ms=0.2 total_ms=1.3
2026-05-04T13:46:26.117587Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=87992 parallel=true cells_before_filter=321 cells_after_filter=269 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.5
2026-05-04T13:46:29.627324Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=87992 parallel=true cells_before_filter=321 cells_after_filter=269 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.3 total_ms=1.6
2026-05-04T13:46:31.035921Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=87992 parallel=true cells_before_filter=321 cells_after_filter=269 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.3 total_ms=1.6
2026-05-04T13:46:33.389328Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=87992 parallel=true cells_before_filter=321 cells_after_filter=269 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.5 json_ms=0.2 total_ms=1.7
2026-05-04T13:46:34.447908Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=112745 parallel=true cells_before_filter=400 cells_after_filter=353 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-04T13:46:36.494248Z 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-04T13:46:36.813787Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=87992 parallel=true cells_before_filter=321 cells_after_filter=269 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.1 json_ms=0.2 total_ms=2.3
2026-05-04T13:46:38.088286Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=87992 parallel=true cells_before_filter=321 cells_after_filter=269 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.1 json_ms=0.2 total_ms=1.3
2026-05-04T13:46:41.614973Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=87992 parallel=true cells_before_filter=321 cells_after_filter=269 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.1 json_ms=0.2 total_ms=1.3
2026-05-04T13:46:50.171562Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=112745 parallel=true cells_before_filter=400 cells_after_filter=353 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-04T13:47:12.829662Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=112745 parallel=true cells_before_filter=400 cells_after_filter=353 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-04T13:47:14.805046Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=112745 parallel=true cells_before_filter=400 cells_after_filter=353 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.4
2026-05-04T13:47:27.810231Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=112745 parallel=true cells_before_filter=400 cells_after_filter=353 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.4
2026-05-04T13:48:02.163972Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=112745 parallel=true cells_before_filter=400 cells_after_filter=353 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-04T13:48:06.028262Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89195da4d6fffff resolution=9 total_count=634 filters=0 filters_raw="-" ms=0.5
2026-05-04T13:48:06.434121Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=87992 parallel=true cells_before_filter=321 cells_after_filter=269 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.3 json_ms=0.2 total_ms=1.5
2026-05-04T13:48:40.137723Z INFO property_map_server::routes::features: GET /api/features
2026-05-04T13:48:40.138972Z INFO property_map_server::routes::pois: GET /api/poi-categories count=74 groups=11
2026-05-04T13:48:40.386778Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=112745 parallel=true cells_before_filter=400 cells_after_filter=353 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-04T13:48:55.297351Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=112745 parallel=true cells_before_filter=400 cells_after_filter=353 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-04T13:49:44.931917Z INFO property_map_server::routes::pois: GET /api/poi-categories count=74 groups=11
2026-05-04T13:49:44.932172Z INFO property_map_server::routes::features: GET /api/features
2026-05-04T13:49:47.823496Z INFO property_map_server::routes::features: GET /api/features
2026-05-04T13:49:47.825102Z INFO property_map_server::routes::pois: GET /api/poi-categories count=74 groups=11
2026-05-04T13:50:44.529719Z INFO property_map_server: Prometheus metrics initialized
2026-05-04T13:50:44.529961Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet
2026-05-04T13:50:44.529971Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet"
2026-05-04T13:50:44.647846Z INFO property_map_server::data::property: Postcode features loaded rows=1263786
2026-05-04T13:50:44.647857Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet"
2026-05-04T13:50:47.490388Z INFO property_map_server::data::property: Properties joined with postcodes rows=15268176
2026-05-04T13:50:47.490436Z INFO property_map_server::data::property: Feature columns from config numeric=59 enums=6 total=65
2026-05-04T13:50:48.724658Z INFO property_map_server::data::property: Combined data selected rows=15268176
2026-05-04T13:50:48.913363Z INFO property_map_server::data::property: Extracting numeric feature columns
2026-05-04T13:50:49.330459Z INFO property_map_server::data::property: Computing histograms for numeric features
2026-05-04T13:50:50.666878Z INFO property_map_server::data::property: Extracting string columns
2026-05-04T13:50:52.118792Z INFO property_map_server::data::property: Building enum features
2026-05-04T13:50:53.345347Z INFO property_map_server::data::property: Extracting renovation history
2026-05-04T13:50:56.253047Z INFO property_map_server::data::property: Renovation history extracted properties_with_events=1833881
2026-05-04T13:50:56.253056Z INFO property_map_server::data::property: Sorting rows by spatial locality
2026-05-04T13:50:57.195604Z INFO property_map_server::data::property: Building interned strings
2026-05-04T13:51:03.033798Z INFO property_map_server::data::property: Transposing to row-major layout (spatially sorted, quantized to u16)
2026-05-04T13:51:05.921508Z INFO property_map_server::data::property: Data loading complete
2026-05-04T13:51:07.124198Z INFO property_map_server: Property data loaded rows=15268176 features=65 enums=6
2026-05-04T13:51:07.124209Z INFO property_map_server: Building spatial grid index (0.01° cells)
2026-05-04T13:51:07.223545Z INFO property_map_server: Precomputing H3 cells at resolution 12
2026-05-04T13:51:07.223556Z INFO property_map_server::data::property: Precomputing H3 cells at resolution 12
2026-05-04T13:51:07.651039Z INFO property_map_server::data::property: H3 precomputation complete (15268176 cells)
2026-05-04T13:51:07.651096Z INFO property_map_server: Loading POI data from /app/data/filtered_uk_pois.parquet
2026-05-04T13:51:07.651112Z INFO property_map_server::data::poi: Loading POI data from "/app/data/filtered_uk_pois.parquet"...
2026-05-04T13:51:07.674329Z INFO property_map_server::data::poi: Loaded 552015 POIs
2026-05-04T13:51:07.768215Z INFO property_map_server::data::poi: POI string columns interned category_unique=74 group_unique=11 emoji_unique=71
2026-05-04T13:51:07.768699Z INFO property_map_server::data::poi: POI data loading complete.
2026-05-04T13:51:07.813906Z INFO property_map_server: POI data loaded pois=552015
2026-05-04T13:51:07.813914Z INFO property_map_server: Building POI spatial grid index
2026-05-04T13:51:07.819923Z INFO property_map_server: Loading place data from /app/data/places.parquet
2026-05-04T13:51:07.819942Z INFO property_map_server::data::places: Loading place data from "/app/data/places.parquet"...
2026-05-04T13:51:07.820462Z INFO property_map_server::data::places: Loaded 3474 places
2026-05-04T13:51:07.821307Z INFO property_map_server::data::places: Place data loaded places=3474 types=2 with_population=71 with_city=3392
2026-05-04T13:51:07.821431Z INFO property_map_server: Place data loaded places=3474
2026-05-04T13:51:07.821442Z INFO property_map_server: Loading postcode boundaries from /app/data/postcode_boundaries
2026-05-04T13:51:07.821445Z INFO property_map_server::data::postcodes: Loading postcode boundaries from "/app/data/postcode_boundaries"
2026-05-04T13:51:07.822622Z INFO property_map_server::data::postcodes: Found GeoJSON files to process files=2361
2026-05-04T13:51:15.031068Z INFO property_map_server::data::postcodes: Postcode boundary data ready postcodes=1490140
2026-05-04T13:51:15.277115Z INFO property_map_server: Postcode boundaries loaded postcodes=1490140
2026-05-04T13:51:15.425831Z INFO property_map_server::data::postcodes: Outcode data derived from postcodes outcodes=2361
2026-05-04T13:51:15.425883Z INFO property_map_server: Loading PMTiles from /app/data/uk.pmtiles
2026-05-04T13:51:15.428328Z INFO property_map_server: PMTiles loaded successfully
2026-05-04T13:51:15.464401Z INFO property_map_server: No --dist provided; static serving and OG injection disabled
2026-05-04T13:51:15.492995Z INFO property_map_server: Screenshot service configured: http://screenshot:8002
2026-05-04T13:51:15.493150Z INFO property_map_server: Precomputed features response groups=8
2026-05-04T13:51:15.493166Z INFO property_map_server: PocketBase configured: http://pocketbase:8090
2026-05-04T13:51:15.552063Z INFO property_map_server::pocketbase: PocketBase users collection already has all required fields
2026-05-04T13:51:15.555546Z INFO property_map_server::pocketbase: PocketBase collection 'saved_searches' API rules updated
2026-05-04T13:51:15.558796Z INFO property_map_server::pocketbase: PocketBase collection 'saved_properties' API rules updated
2026-05-04T13:51:15.789464Z INFO property_map_server::pocketbase: PocketBase meta.appURL set to https://perfect-postcodes.co.uk/pb
2026-05-04T13:51:15.794059Z INFO property_map_server::pocketbase: PocketBase OAuth configured on users collection
2026-05-04T13:51:15.794099Z INFO property_map_server: Gemini configured (model: gemini-3-flash-preview)
2026-05-04T13:51:15.794115Z INFO property_map_server: Loading travel time data from /app/data/travel-times
2026-05-04T13:51:15.795606Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="bicycle" destinations=2753
2026-05-04T13:51:15.796829Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="walking" destinations=2753
2026-05-04T13:51:15.798127Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="car" destinations=2753
2026-05-04T13:51:15.799228Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="transit" destinations=2752
2026-05-04T13:51:15.799247Z INFO property_map_server: Travel time store loaded modes=4
2026-05-04T13:51:15.799291Z INFO property_map_server: Precomputed AI filters system prompt
2026-05-04T13:51:18.578193Z INFO property_map_server: All memory pages locked (mlockall)
2026-05-04T13:51:18.578233Z INFO property_map_server: Server listening on 0.0.0.0:8001
2026-05-04T13:53:44.641552Z INFO property_map_server: Prometheus metrics initialized
2026-05-04T13:53:44.641728Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet
2026-05-04T13:53:44.641734Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet"
2026-05-04T13:53:44.731708Z INFO property_map_server::data::property: Postcode features loaded rows=1263786
2026-05-04T13:53:44.731716Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet"
2026-05-04T13:53:54.076915Z INFO property_map_server: Prometheus metrics initialized
2026-05-04T13:53:54.077138Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet
2026-05-04T13:53:54.077149Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet"
2026-05-04T13:53:54.145174Z INFO property_map_server::data::property: Postcode features loaded rows=1263786
2026-05-04T13:53:54.145183Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet"
2026-05-04T13:53:56.759389Z INFO property_map_server::data::property: Properties joined with postcodes rows=15268176
2026-05-04T14:31:10.692075Z INFO property_map_server: Prometheus metrics initialized
2026-05-04T14:31:10.692240Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet
2026-05-04T14:31:10.692245Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet"
2026-05-04T14:31:10.770532Z INFO property_map_server::data::property: Postcode features loaded rows=1263786
2026-05-04T14:31:10.770541Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet"
2026-05-04T14:31:13.301445Z INFO property_map_server::data::property: Properties joined with postcodes rows=15268176
2026-05-04T14:31:13.301488Z INFO property_map_server::data::property: Feature columns from config numeric=63 enums=6 total=69
2026-05-04T14:31:14.328175Z INFO property_map_server::data::property: Combined data selected rows=15268176
2026-05-04T14:31:14.492406Z INFO property_map_server::data::property: Extracting numeric feature columns
2026-05-04T14:31:14.931304Z INFO property_map_server::data::property: Computing histograms for numeric features
2026-05-04T14:31:16.230106Z INFO property_map_server::data::property: Extracting string columns
2026-05-04T14:31:17.750814Z INFO property_map_server::data::property: Building enum features
2026-05-04T14:31:18.991972Z INFO property_map_server::data::property: Extracting renovation history
2026-05-04T14:31:21.744870Z INFO property_map_server::data::property: Renovation history extracted properties_with_events=1833881
2026-05-04T14:31:21.744880Z INFO property_map_server::data::property: Sorting rows by spatial locality
2026-05-04T14:31:22.588439Z INFO property_map_server::data::property: Building interned strings
2026-05-04T14:31:27.983422Z INFO property_map_server::data::property: Transposing to row-major layout (spatially sorted, quantized to u16)
2026-05-04T14:31:30.723144Z INFO property_map_server::data::property: Data loading complete
2026-05-04T14:31:31.783835Z INFO property_map_server: Property data loaded rows=15268176 features=69 enums=6
2026-05-04T14:31:31.783844Z INFO property_map_server: Building spatial grid index (0.01° cells)
2026-05-04T14:31:31.878503Z INFO property_map_server: Precomputing H3 cells at resolution 12
2026-05-04T14:31:31.878511Z INFO property_map_server::data::property: Precomputing H3 cells at resolution 12
2026-05-04T14:31:32.244667Z INFO property_map_server::data::property: H3 precomputation complete (15268176 cells)
2026-05-04T14:31:32.244690Z INFO property_map_server: Loading POI data from /app/data/filtered_uk_pois.parquet
2026-05-04T14:31:32.244696Z INFO property_map_server::data::poi: Loading POI data from "/app/data/filtered_uk_pois.parquet"...
2026-05-04T14:31:32.278580Z INFO property_map_server::data::poi: Loaded 552015 POIs
2026-05-04T14:31:32.369662Z INFO property_map_server::data::poi: POI string columns interned category_unique=74 group_unique=11 emoji_unique=71
2026-05-04T14:31:32.370182Z INFO property_map_server::data::poi: POI data loading complete.
2026-05-04T14:31:32.399621Z INFO property_map_server: POI data loaded pois=552015
2026-05-04T14:31:32.399629Z INFO property_map_server: Building POI spatial grid index
2026-05-04T14:31:32.404166Z INFO property_map_server: Loading place data from /app/data/places.parquet
2026-05-04T14:31:32.404180Z INFO property_map_server::data::places: Loading place data from "/app/data/places.parquet"...
2026-05-04T14:31:32.405304Z INFO property_map_server::data::places: Loaded 3474 places
2026-05-04T14:31:32.406023Z INFO property_map_server::data::places: Place data loaded places=3474 types=2 with_population=71 with_city=3392
2026-05-04T14:31:32.406072Z INFO property_map_server: Place data loaded places=3474
2026-05-04T14:31:32.406081Z INFO property_map_server: Loading postcode boundaries from /app/data/postcode_boundaries
2026-05-04T14:31:32.406084Z INFO property_map_server::data::postcodes: Loading postcode boundaries from "/app/data/postcode_boundaries"
2026-05-04T14:31:32.409062Z INFO property_map_server::data::postcodes: Found GeoJSON files to process files=2361
2026-05-04T14:31:39.345710Z INFO property_map_server::data::postcodes: Postcode boundary data ready postcodes=1490140
2026-05-04T14:31:39.568740Z INFO property_map_server: Postcode boundaries loaded postcodes=1490140
2026-05-04T14:31:39.703157Z INFO property_map_server::data::postcodes: Outcode data derived from postcodes outcodes=2361
2026-05-04T14:31:39.703207Z INFO property_map_server: Loading PMTiles from /app/data/uk.pmtiles
2026-05-04T14:31:39.724884Z INFO property_map_server: PMTiles loaded successfully
2026-05-04T14:31:39.760013Z INFO property_map_server: No --dist provided; static serving and OG injection disabled
2026-05-04T14:31:39.786139Z INFO property_map_server: Screenshot service configured: http://screenshot:8002
2026-05-04T14:31:39.786281Z INFO property_map_server: Precomputed features response groups=8
2026-05-04T14:31:39.786295Z INFO property_map_server: PocketBase configured: http://pocketbase:8090
2026-05-04T14:31:39.846657Z INFO property_map_server::pocketbase: PocketBase users collection already has all required fields
2026-05-04T14:31:39.849446Z INFO property_map_server::pocketbase: PocketBase collection 'saved_searches' API rules updated
2026-05-04T14:31:39.853086Z INFO property_map_server::pocketbase: PocketBase collection 'saved_properties' API rules updated
2026-05-04T14:31:39.920258Z INFO property_map_server::pocketbase: PocketBase meta.appURL set to https://perfect-postcodes.co.uk/pb
2026-05-04T14:31:39.923617Z INFO property_map_server::pocketbase: PocketBase OAuth configured on users collection
2026-05-04T14:31:39.923633Z INFO property_map_server: Gemini configured (model: gemini-3-flash-preview)
2026-05-04T14:31:39.923647Z INFO property_map_server: Loading travel time data from /app/data/travel-times
2026-05-04T14:31:39.932375Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="bicycle" destinations=2753
2026-05-04T14:31:39.938793Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="walking" destinations=2753
2026-05-04T14:31:39.946169Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="car" destinations=2753
2026-05-04T14:31:39.953284Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="transit" destinations=2752
2026-05-04T14:31:39.953306Z INFO property_map_server: Travel time store loaded modes=4
2026-05-04T14:31:39.953349Z INFO property_map_server: Precomputed AI filters system prompt
2026-05-04T14:31:46.702254Z INFO property_map_server: All memory pages locked (mlockall)
2026-05-04T14:31:46.702301Z INFO property_map_server: Server listening on 0.0.0.0:8001
2026-05-04T14:31:51.507147Z INFO property_map_server::routes::features: GET /api/features
2026-05-04T14:31:51.532181Z INFO property_map_server::routes::pois: GET /api/poi-categories count=74 groups=11
2026-05-04T14:31:51.717412Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=56189 parallel=true cells_before_filter=241 cells_after_filter=207 truncated=false bounds=51.4958,-0.1549,51.5342,-0.1051 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=5.0 json_ms=0.1 total_ms=5.1
2026-05-04T14:31:57.248517Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89195da4903ffff resolution=9 total_count=149 filters=0 filters_raw="-" ms=0.2
2026-05-04T14:31:57.642670Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=27748 parallel=false cells_before_filter=135 cells_after_filter=121 truncated=false bounds=51.4958,-0.1426,51.5342,-0.1174 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-04T14:31:58.276708Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=73878 parallel=true cells_before_filter=295 cells_after_filter=258 truncated=false bounds=51.4844,-0.1493,51.5444,-0.1100 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=2.8 json_ms=0.1 total_ms=2.9
2026-05-04T14:32:01.453197Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=143757 parallel=true cells_before_filter=507 cells_after_filter=459 truncated=false bounds=51.4844,-0.1685,51.5444,-0.0908 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=4.0 json_ms=0.4 total_ms=4.5
2026-05-04T14:32:09.459548Z 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-04T14:32:09.912728Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=73878 parallel=true cells_before_filter=295 cells_after_filter=258 truncated=false bounds=51.4844,-0.1493,51.5444,-0.1100 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.4 json_ms=0.1 total_ms=1.5
2026-05-04T14:32:16.916947Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=179777 parallel=true cells_before_filter=622 cells_after_filter=588 truncated=false bounds=51.4844,-0.1814,51.5444,-0.0779 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-04T14:32:29.276245Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=164098 parallel=true cells_before_filter=564 cells_after_filter=463 truncated=false bounds=51.4873,-0.1732,51.5415,-0.0861 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.5 json_ms=0.4 total_ms=1.8
2026-05-04T14:32:37.278425Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=179777 parallel=true cells_before_filter=622 cells_after_filter=588 truncated=false bounds=51.4844,-0.1814,51.5444,-0.0779 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-04T14:32:48.595193Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89195da49c3ffff resolution=9 total_count=238 filters=1 filters_raw="Estimated current price:12976.594:inf" ms=0.2
2026-05-04T14:32:48.750130Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=179777 parallel=true cells_before_filter=620 cells_after_filter=586 truncated=false bounds=51.4844,-0.1814,51.5444,-0.0779 filters=1 filters_raw="Estimated current price:12976.594:inf" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.7 json_ms=0.3 total_ms=2.0
2026-05-04T14:32:48.999873Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=179777 filters=1 travel=0 total=179708 filters_raw="Estimated current price:12976.594:inf" ms=3.8
2026-05-04T14:32:52.684282Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=179777 parallel=true cells_before_filter=622 cells_after_filter=588 truncated=false bounds=51.4844,-0.1814,51.5444,-0.0779 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=1.6 json_ms=0.5 total_ms=2.1
2026-05-04T14:32:52.838429Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=179777 parallel=true cells_before_filter=620 cells_after_filter=586 truncated=false bounds=51.4844,-0.1814,51.5444,-0.0779 filters=1 filters_raw="Estimated current price:12976.594:inf" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=1.8 json_ms=0.4 total_ms=2.3
2026-05-04T14:32:53.423498Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89195da49c3ffff resolution=9 total_count=83 filters=1 filters_raw="Estimated current price:870000:inf" ms=0.2
2026-05-04T14:32:53.572475Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=179777 parallel=true cells_before_filter=604 cells_after_filter=575 truncated=false bounds=51.4844,-0.1814,51.5444,-0.0779 filters=1 filters_raw="Estimated current price:870000:inf" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.5 json_ms=0.3 total_ms=1.7
2026-05-04T14:32:53.828525Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=179777 filters=1 travel=0 total=74949 filters_raw="Estimated current price:870000:inf" ms=4.2
2026-05-04T14:32:54.216219Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=179777 parallel=true cells_before_filter=622 cells_after_filter=588 truncated=false bounds=51.4844,-0.1814,51.5444,-0.0779 filters=0 filters_raw="-" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=1.6 json_ms=0.4 total_ms=2.0
2026-05-04T14:32:54.371206Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=179777 parallel=true cells_before_filter=604 cells_after_filter=575 truncated=false bounds=51.4844,-0.1814,51.5444,-0.0779 filters=1 filters_raw="Estimated current price:870000:inf" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=1.7 json_ms=0.4 total_ms=2.1
2026-05-04T14:32:54.620982Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89195da49c3ffff resolution=9 total_count=39 filters=1 filters_raw="Estimated current price:870000:1900000" ms=0.2
2026-05-04T14:32:54.776298Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=179777 parallel=true cells_before_filter=595 cells_after_filter=566 truncated=false bounds=51.4844,-0.1814,51.5444,-0.0779 filters=1 filters_raw="Estimated current price:870000:1900000" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.7 json_ms=0.3 total_ms=2.0
2026-05-04T14:32:55.026138Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=179777 filters=1 travel=0 total=47437 filters_raw="Estimated current price:870000:1900000" ms=4.1
2026-05-04T14:33:15.166790Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89195da49c3ffff resolution=9 total_count=39 filters=2 filters_raw="Estimated current price:870000:1900000;;Outstanding primary schools within 2km:0:13" ms=0.1
2026-05-04T14:33:15.318640Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=179777 parallel=true cells_before_filter=595 cells_after_filter=566 truncated=false bounds=51.4844,-0.1814,51.5444,-0.0779 filters=2 filters_raw="Estimated current price:870000:1900000;;Outstanding primary schools within 2km:0:13" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.6 json_ms=0.3 total_ms=1.9
2026-05-04T14:33:15.569035Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=179777 filters=2 travel=0 total=47437 filters_raw="Estimated current price:870000:1900000;;Outstanding primary schools within 2km:0:13" ms=1.6
2026-05-04T14:33:17.371167Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89195da49c3ffff resolution=9 total_count=238 filters=1 filters_raw="Outstanding primary schools within 2km:0:13" ms=0.2
2026-05-04T14:33:17.523252Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=179777 parallel=true cells_before_filter=622 cells_after_filter=588 truncated=false bounds=51.4844,-0.1814,51.5444,-0.0779 filters=1 filters_raw="Outstanding primary schools within 2km:0:13" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.6 json_ms=0.3 total_ms=1.9
2026-05-04T14:33:17.776356Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=179777 filters=1 travel=0 total=179777 filters_raw="Outstanding primary schools within 2km:0:13" ms=3.9
2026-05-04T14:33:18.237582Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=179777 parallel=true cells_before_filter=622 cells_after_filter=588 truncated=false bounds=51.4844,-0.1814,51.5444,-0.0779 filters=1 filters_raw="Outstanding primary schools within 2km:0:13" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=1.7 json_ms=0.5 total_ms=2.2
2026-05-04T14:33:18.540811Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=88195da49dfffff resolution=8 total_count=1598 filters=1 filters_raw="Outstanding primary schools within 2km:0:13" ms=1.0
2026-05-04T14:33:18.822161Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=8 rows=1602025 parallel=true cells_before_filter=1488 cells_after_filter=1480 truncated=false bounds=51.3754,-0.3056,51.6381,0.1482 filters=1 filters_raw="Outstanding primary schools within 2km:0:13" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=9.3 json_ms=1.0 total_ms=10.3
2026-05-04T14:33:19.412747Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=8 rows=2263942 parallel=true cells_before_filter=3315 cells_after_filter=3312 truncated=false bounds=51.2909,-0.4016,51.7105,0.3228 filters=1 filters_raw="Outstanding primary schools within 2km:0:13" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=12.7 json_ms=2.3 total_ms=15.0
2026-05-04T14:33:19.641678Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=2263942 filters=1 travel=0 total=2263942 filters_raw="Outstanding primary schools within 2km:0:13" ms=46.8
2026-05-04T14:33:20.426369Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=8 rows=2334757 parallel=true cells_before_filter=3349 cells_after_filter=3349 truncated=false bounds=51.2935,-0.4698,51.7130,0.2546 filters=1 filters_raw="Outstanding primary schools within 2km:0:13" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=14.4 json_ms=2.4 total_ms=16.8
2026-05-04T14:33:20.840217Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=2334757 filters=1 travel=0 total=2334757 filters_raw="Outstanding primary schools within 2km:0:13" ms=47.0
2026-05-04T14:33:23.190164Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=8 rows=2156194 parallel=true cells_before_filter=3332 cells_after_filter=3319 truncated=false bounds=51.2216,-0.3539,51.6417,0.3705 filters=1 filters_raw="Outstanding primary schools within 2km:0:13" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=11.6 json_ms=2.2 total_ms=13.8
2026-05-04T14:33:23.371568Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89195da49c3ffff resolution=9 total_count=238 filters=1 filters_raw="Outstanding primary schools within 2km:0:13" ms=0.2
2026-05-04T14:33:23.751648Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=301975 parallel=true cells_before_filter=2185 cells_after_filter=2155 truncated=false bounds=51.3506,-0.1079,51.4782,0.1121 filters=1 filters_raw="Outstanding primary schools within 2km:0:13" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=3.7 json_ms=1.8 total_ms=5.5
2026-05-04T14:33:24.061511Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=301975 filters=1 travel=0 total=301975 filters_raw="Outstanding primary schools within 2km:0:13" ms=8.8
2026-05-04T14:33:24.888926Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=52244 parallel=true cells_before_filter=459 cells_after_filter=389 truncated=false bounds=51.3783,-0.0363,51.4272,0.0480 filters=1 filters_raw="Outstanding primary schools within 2km:0:13" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=1.0 json_ms=0.3 total_ms=1.3
2026-05-04T14:33:25.067179Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=52244 filters=1 travel=0 total=52244 filters_raw="Outstanding primary schools within 2km:0:13" ms=1.2
2026-05-04T14:33:26.723712Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=88195da49dfffff resolution=8 total_count=1598 filters=1 filters_raw="Outstanding primary schools within 2km:0:13" ms=0.8
2026-05-04T14:33:26.992552Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=8 rows=1558206 parallel=true cells_before_filter=1688 cells_after_filter=1688 truncated=false bounds=51.3034,-0.2613,51.5918,0.2362 filters=1 filters_raw="Outstanding primary schools within 2km:0:13" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=9.0 json_ms=1.1 total_ms=10.2
2026-05-04T14:33:27.323082Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=1558206 filters=1 travel=0 total=1558206 filters_raw="Outstanding primary schools within 2km:0:13" ms=39.0
2026-05-04T14:33:28.721780Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89195da49c3ffff resolution=9 total_count=238 filters=1 filters_raw="Outstanding primary schools within 2km:0:13" ms=0.2
2026-05-04T14:33:29.038229Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=100651 parallel=true cells_before_filter=797 cells_after_filter=766 truncated=false bounds=51.3768,-0.0602,51.4478,0.0622 filters=1 filters_raw="Outstanding primary schools within 2km:0:13" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=1.6 json_ms=0.5 total_ms=2.1
2026-05-04T14:33:29.296078Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=100651 filters=1 travel=0 total=100651 filters_raw="Outstanding primary schools within 2km:0:13" ms=2.3
2026-05-04T14:33:30.167958Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=25448 parallel=false cells_before_filter=204 cells_after_filter=163 truncated=false bounds=51.3934,-0.0199,51.4212,0.0281 filters=1 filters_raw="Outstanding primary schools within 2km:0:13" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=1.1 json_ms=0.1 total_ms=1.2
2026-05-04T14:33:30.338111Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=25448 filters=1 travel=0 total=25448 filters_raw="Outstanding primary schools within 2km:0:13" ms=0.6
2026-05-04T14:33:35.577099Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=17074 parallel=false cells_before_filter=130 cells_after_filter=118 truncated=false bounds=51.3951,-0.0175,51.4192,0.0241 filters=1 filters_raw="Outstanding primary schools within 2km:0:13" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=0.8 json_ms=0.1 total_ms=0.9
2026-05-04T14:33:35.743827Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=17074 filters=1 travel=0 total=17074 filters_raw="Outstanding primary schools within 2km:0:13" ms=0.6
2026-05-04T14:33:36.299182Z INFO property_map_server::routes::postcodes: GET /api/postcode/W1U 2LR postcode=W1U 2LR
2026-05-04T14:33:36.341268Z INFO property_map_server::routes::postcode_stats: GET /api/postcode-stats postcode=W1U 2LR total_count=1 filters=1 filters_raw="Outstanding primary schools within 2km:0:13" ms=0.2
2026-05-04T14:33:36.664276Z INFO property_map_server::routes::postcodes: GET /api/postcodes postcodes_before_filter=449 postcodes_after_filter=196 filtered_out=253 truncated=false bounds=51.401237,-0.008369,51.411859,0.009937 filters=1 filters_raw="Outstanding primary schools within 2km:0:13" fields=1 travel_entries=0 agg_ms=0.6 json_ms=0.5 total_ms=1.1
2026-05-04T14:33:37.141608Z INFO property_map_server::routes::postcodes: GET /api/postcodes postcodes_before_filter=164 postcodes_after_filter=79 filtered_out=85 truncated=false bounds=51.403465,-0.005049,51.409166,0.004775 filters=1 filters_raw="Outstanding primary schools within 2km:0:13" fields=1 travel_entries=0 agg_ms=0.3 json_ms=0.2 total_ms=0.5
2026-05-04T14:33:37.644049Z INFO property_map_server::routes::postcodes: GET /api/postcodes postcodes_before_filter=164 postcodes_after_filter=42 filtered_out=122 truncated=false bounds=51.404354,-0.003724,51.408091,0.002716 filters=1 filters_raw="Outstanding primary schools within 2km:0:13" fields=1 travel_entries=0 agg_ms=0.3 json_ms=0.1 total_ms=0.4
2026-05-04T14:33:37.842440Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=2531 filters=1 travel=0 total=2531 filters_raw="Outstanding primary schools within 2km:0:13" ms=0.1
2026-05-04T14:33:42.478048Z INFO property_map_server::routes::postcodes: GET /api/postcodes postcodes_before_filter=164 postcodes_after_filter=79 filtered_out=85 truncated=false bounds=51.403364,-0.006206,51.409177,0.003811 filters=1 filters_raw="Outstanding primary schools within 2km:0:13" fields=1 travel_entries=0 agg_ms=0.2 json_ms=0.2 total_ms=0.4
2026-05-04T14:33:42.923293Z INFO property_map_server::routes::postcodes: GET /api/postcodes postcodes_before_filter=275 postcodes_after_filter=164 filtered_out=111 truncated=false bounds=51.401362,-0.011222,51.411370,0.006025 filters=1 filters_raw="Outstanding primary schools within 2km:0:13" fields=1 travel_entries=0 agg_ms=0.5 json_ms=0.4 total_ms=0.8
2026-05-04T14:33:43.171767Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=4440 filters=1 travel=0 total=4440 filters_raw="Outstanding primary schools within 2km:0:13" ms=0.1
2026-05-04T14:33:43.762521Z INFO property_map_server::routes::postcodes: GET /api/postcodes postcodes_before_filter=844 postcodes_after_filter=342 filtered_out=502 truncated=false bounds=51.399198,-0.016690,51.413809,0.008490 filters=1 filters_raw="Outstanding primary schools within 2km:0:13" fields=1 travel_entries=0 agg_ms=1.1 json_ms=0.8 total_ms=1.9
2026-05-04T14:33:43.920897Z INFO property_map_server::routes::postcodes: GET /api/postcode/W1U 2LR postcode=W1U 2LR
2026-05-04T14:33:43.957532Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89195da49c3ffff resolution=9 total_count=238 filters=1 filters_raw="Outstanding primary schools within 2km:0:13" ms=0.2
2026-05-04T14:33:44.112091Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=17149 parallel=false cells_before_filter=136 cells_after_filter=113 truncated=false bounds=51.3957,-0.0256,51.4178,0.0125 filters=1 filters_raw="Outstanding primary schools within 2km:0:13" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=0.9 json_ms=0.1 total_ms=1.0
2026-05-04T14:33:44.601712Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=30992 parallel=false cells_before_filter=242 cells_after_filter=209 truncated=false bounds=51.3905,-0.0387,51.4236,0.0184 filters=1 filters_raw="Outstanding primary schools within 2km:0:13" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=1.4 json_ms=0.2 total_ms=1.6
2026-05-04T14:33:44.857771Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=30992 filters=1 travel=0 total=30992 filters_raw="Outstanding primary schools within 2km:0:13" ms=0.7
2026-05-04T14:33:45.128264Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=58743 parallel=true cells_before_filter=440 cells_after_filter=365 truncated=false bounds=51.3844,-0.0540,51.4305,0.0253 filters=1 filters_raw="Outstanding primary schools within 2km:0:13" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=1.1 json_ms=0.3 total_ms=1.4
2026-05-04T14:33:45.557365Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=90373 parallel=true cells_before_filter=649 cells_after_filter=600 truncated=false bounds=51.3765,-0.0741,51.4396,0.0346 filters=1 filters_raw="Outstanding primary schools within 2km:0:13" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=1.3 json_ms=0.6 total_ms=1.9
2026-05-04T14:33:45.851696Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=90373 filters=1 travel=0 total=90373 filters_raw="Outstanding primary schools within 2km:0:13" ms=1.9
2026-05-04T14:33:46.858702Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=124648 parallel=true cells_before_filter=876 cells_after_filter=841 truncated=false bounds=51.3708,-0.0859,51.4455,0.0428 filters=1 filters_raw="Outstanding primary schools within 2km:0:13" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=1.9 json_ms=0.6 total_ms=2.5
2026-05-04T14:33:47.121801Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=58743 parallel=true cells_before_filter=440 cells_after_filter=413 truncated=false bounds=51.3826,-0.0617,51.4328,0.0247 filters=1 filters_raw="Outstanding primary schools within 2km:0:13" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=1.3 json_ms=0.3 total_ms=1.6
2026-05-04T14:33:47.372102Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=58743 filters=1 travel=0 total=58743 filters_raw="Outstanding primary schools within 2km:0:13" ms=1.3
2026-05-04T14:33:47.675721Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=31768 parallel=false cells_before_filter=246 cells_after_filter=213 truncated=false bounds=51.3907,-0.0450,51.4240,0.0123 filters=1 filters_raw="Outstanding primary schools within 2km:0:13" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=1.4 json_ms=0.2 total_ms=1.5
2026-05-04T14:33:47.963908Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=31768 filters=1 travel=0 total=31768 filters_raw="Outstanding primary schools within 2km:0:13" ms=0.8
2026-05-04T14:33:48.676909Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89194ad081bffff resolution=9 total_count=278 filters=1 filters_raw="Outstanding primary schools within 2km:0:13" ms=0.2
2026-05-04T14:34:07.291746Z INFO property_map_server::routes::postcodes: GET /api/postcode/BR3 5JY postcode=BR3 5JY
2026-05-04T14:34:07.337676Z INFO property_map_server::routes::postcode_stats: GET /api/postcode-stats postcode=BR3 5JY total_count=18 filters=1 filters_raw="Outstanding primary schools within 2km:0:13" ms=0.2
2026-05-04T14:34:07.623688Z INFO property_map_server::routes::postcodes: GET /api/postcodes postcodes_before_filter=591 postcodes_after_filter=333 filtered_out=258 truncated=false bounds=51.399702,-0.030968,51.413517,-0.007161 filters=1 filters_raw="Outstanding primary schools within 2km:0:13" fields=1 travel_entries=0 agg_ms=0.9 json_ms=0.8 total_ms=1.7
2026-05-04T14:34:07.924087Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=9452 filters=1 travel=0 total=9452 filters_raw="Outstanding primary schools within 2km:0:13" ms=0.3
2026-05-04T14:34:09.293016Z INFO property_map_server::routes::postcodes: GET /api/postcodes postcodes_before_filter=178 postcodes_after_filter=72 filtered_out=106 truncated=false bounds=51.404221,-0.024351,51.409255,-0.015675 filters=1 filters_raw="Outstanding primary schools within 2km:0:13" fields=1 travel_entries=0 agg_ms=0.3 json_ms=0.3 total_ms=0.6
2026-05-04T14:34:09.455756Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=2920 filters=1 travel=0 total=2920 filters_raw="Outstanding primary schools within 2km:0:13" ms=0.2
2026-05-04T14:34:10.275828Z INFO property_map_server::routes::postcodes: GET /api/postcodes postcodes_before_filter=591 postcodes_after_filter=376 filtered_out=215 truncated=false bounds=51.399312,-0.031939,51.414400,-0.005937 filters=1 filters_raw="Outstanding primary schools within 2km:0:13" fields=1 travel_entries=0 agg_ms=0.8 json_ms=0.8 total_ms=1.6
2026-05-04T14:34:10.668283Z INFO property_map_server::routes::postcodes: GET /api/postcode/BR3 5JY postcode=BR3 5JY
2026-05-04T14:34:10.687952Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89194ad081bffff resolution=9 total_count=278 filters=1 filters_raw="Outstanding primary schools within 2km:0:13" ms=0.3
2026-05-04T14:34:11.040399Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=21245 parallel=false cells_before_filter=178 cells_after_filter=156 truncated=false bounds=51.3928,-0.0420,51.4212,0.0070 filters=1 filters_raw="Outstanding primary schools within 2km:0:13" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=1.0 json_ms=0.1 total_ms=1.1
2026-05-04T14:34:11.286312Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=21245 filters=1 travel=0 total=21245 filters_raw="Outstanding primary schools within 2km:0:13" ms=0.4
2026-05-04T14:34:12.012889Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=161883 parallel=true cells_before_filter=1198 cells_after_filter=1082 truncated=false bounds=51.3649,-0.0851,51.4504,0.0622 filters=1 filters_raw="Outstanding primary schools within 2km:0:13" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=2.1 json_ms=1.0 total_ms=3.1
2026-05-04T14:34:12.261721Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=161883 filters=1 travel=0 total=161883 filters_raw="Outstanding primary schools within 2km:0:13" ms=3.5
2026-05-04T14:34:12.746648Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=470957 parallel=true cells_before_filter=3265 cells_after_filter=3177 truncated=false bounds=51.3272,-0.1433,51.4898,0.1370 filters=1 filters_raw="Outstanding primary schools within 2km:0:13" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=4.9 json_ms=2.4 total_ms=7.3
2026-05-04T14:34:13.052992Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=470957 filters=1 travel=0 total=470957 filters_raw="Outstanding primary schools within 2km:0:13" ms=9.4
2026-05-04T14:34:13.508014Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=88194ad081fffff resolution=8 total_count=1405 filters=1 filters_raw="Outstanding primary schools within 2km:0:13" ms=0.8
2026-05-04T14:34:14.440891Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=8 rows=1862424 parallel=true cells_before_filter=2958 cells_after_filter=2956 truncated=false bounds=51.1865,-0.3462,51.5872,0.3441 filters=1 filters_raw="Outstanding primary schools within 2km:0:13" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=10.7 json_ms=2.0 total_ms=12.8
2026-05-04T14:34:14.711749Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=1862424 filters=1 travel=0 total=1862424 filters_raw="Outstanding primary schools within 2km:0:13" ms=38.7
2026-05-04T14:34:15.156985Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=87194ad08ffffff resolution=7 total_count=7295 filters=1 filters_raw="Outstanding primary schools within 2km:0:13" ms=2.9
2026-05-04T14:34:15.549940Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=7 rows=2444899 parallel=true cells_before_filter=856 cells_after_filter=856 truncated=false bounds=51.1151,-0.4488,51.6364,0.4489 filters=1 filters_raw="Outstanding primary schools within 2km:0:13" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=14.1 json_ms=0.6 total_ms=14.6
2026-05-04T14:34:15.833608Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=2444899 filters=1 travel=0 total=2444899 filters_raw="Outstanding primary schools within 2km:0:13" ms=51.3
2026-05-04T14:34:16.312869Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=88194ad081fffff resolution=8 total_count=1405 filters=1 filters_raw="Outstanding primary schools within 2km:0:13" ms=0.6
2026-05-04T14:34:16.581112Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=8 rows=1270423 parallel=true cells_before_filter=1665 cells_after_filter=1661 truncated=false bounds=51.2543,-0.2492,51.5428,0.2477 filters=1 filters_raw="Outstanding primary schools within 2km:0:13" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=7.1 json_ms=1.1 total_ms=8.2
2026-05-04T14:34:16.847353Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=1270423 filters=1 travel=0 total=1270423 filters_raw="Outstanding primary schools within 2km:0:13" ms=26.0
2026-05-04T14:34:17.416752Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89194ad0803ffff resolution=9 total_count=202 filters=1 filters_raw="Outstanding primary schools within 2km:0:13" ms=0.2
2026-05-04T14:34:18.201389Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=170779 parallel=true cells_before_filter=1222 cells_after_filter=1144 truncated=false bounds=51.3742,-0.0770,51.4618,0.0741 filters=1 filters_raw="Outstanding primary schools within 2km:0:13" fields=1 travel_entries=0 grid_ms=0.0 agg_ms=2.3 json_ms=1.1 total_ms=3.3
2026-05-04T14:34:18.400185Z INFO property_map_server::routes::filter_counts: GET /api/filter-counts rows=170779 filters=1 travel=0 total=170779 filters_raw="Outstanding primary schools within 2km:0:13" ms=3.7
2026-05-04T14:34:26.482929Z INFO property_map_server::routes::hexagon_stats: GET /api/hexagon-stats h3=89194ad0803ffff resolution=9 total_count=202 filters=0 filters_raw="-" ms=0.2
2026-05-04T14:34:26.627227Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=170779 parallel=true cells_before_filter=1222 cells_after_filter=1144 truncated=false bounds=51.3742,-0.0770,51.4618,0.0741 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=1.8 json_ms=0.6 total_ms=2.4
2026-05-04T14:38:00.527629Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=68556 parallel=true cells_before_filter=488 cells_after_filter=464 truncated=false bounds=51.3742,-0.0301,51.4618,0.0272 filters=0 filters_raw="-" fields=0 travel_entries=0 grid_ms=0.0 agg_ms=0.9 json_ms=0.3 total_ms=1.2
2026-05-04T14:38:02.040293Z INFO property_map_server::routes::features: GET /api/features
2026-05-04T14:38:02.043451Z INFO property_map_server::routes::pois: GET /api/poi-categories count=74 groups=11
2026-05-04T14:38:02.318550Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=128410 parallel=true cells_before_filter=944 cells_after_filter=896 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-04T14:40:44.080735Z INFO property_map_server::routes::features: GET /api/features
2026-05-04T14:40:44.080967Z INFO property_map_server::routes::pois: GET /api/poi-categories count=74 groups=11
2026-05-04T14:40:44.353028Z INFO property_map_server::routes::hexagons: GET /api/hexagons resolution=9 rows=128410 parallel=true cells_before_filter=944 cells_after_filter=896 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.1 json_ms=0.5 total_ms=2.6
2026-05-04T14:43:25.353372Z INFO property_map_server: Prometheus metrics initialized
2026-05-04T14:43:25.353548Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet
2026-05-04T14:43:25.353561Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet"
2026-05-04T14:43:25.424150Z INFO property_map_server::data::property: Postcode features loaded rows=1263786
2026-05-04T14:43:25.424161Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet"
2026-05-04T14:43:27.935972Z INFO property_map_server::data::property: Properties joined with postcodes rows=15268176
2026-05-04T14:43:27.936004Z INFO property_map_server::data::property: Feature columns from config numeric=63 enums=6 total=69
2026-05-04T14:43:29.184640Z INFO property_map_server::data::property: Combined data selected rows=15268176
2026-05-04T14:43:29.335896Z INFO property_map_server::data::property: Extracting numeric feature columns
2026-05-04T14:43:29.748085Z INFO property_map_server::data::property: Computing histograms for numeric features
2026-05-04T14:43:30.943285Z INFO property_map_server::data::property: Extracting string columns
2026-05-04T14:43:32.310146Z INFO property_map_server::data::property: Building enum features
2026-05-04T14:43:33.521409Z INFO property_map_server::data::property: Extracting renovation history
2026-05-04T14:43:36.402602Z INFO property_map_server::data::property: Renovation history extracted properties_with_events=1833881
2026-05-04T14:43:36.402611Z INFO property_map_server::data::property: Sorting rows by spatial locality
2026-05-04T14:43:37.307204Z INFO property_map_server::data::property: Building interned strings
2026-05-04T14:43:43.199862Z INFO property_map_server::data::property: Transposing to row-major layout (spatially sorted, quantized to u16)
2026-05-04T14:43:47.662961Z INFO property_map_server::data::property: Data loading complete
2026-05-04T14:43:48.770921Z INFO property_map_server: Property data loaded rows=15268176 features=69 enums=6
2026-05-04T14:43:48.770930Z INFO property_map_server: Building spatial grid index (0.01° cells)
2026-05-04T14:43:48.868765Z INFO property_map_server: Precomputing H3 cells at resolution 12
2026-05-04T14:43:48.868775Z INFO property_map_server::data::property: Precomputing H3 cells at resolution 12
2026-05-04T14:43:49.270467Z INFO property_map_server::data::property: H3 precomputation complete (15268176 cells)
2026-05-04T14:43:49.270503Z INFO property_map_server: Loading POI data from /app/data/filtered_uk_pois.parquet
2026-05-04T14:43:49.270508Z INFO property_map_server::data::poi: Loading POI data from "/app/data/filtered_uk_pois.parquet"...
2026-05-04T14:43:49.291576Z INFO property_map_server::data::poi: Loaded 552015 POIs
2026-05-04T14:43:49.386151Z INFO property_map_server::data::poi: POI string columns interned category_unique=74 group_unique=11 emoji_unique=71
2026-05-04T14:43:49.386625Z INFO property_map_server::data::poi: POI data loading complete.
2026-05-04T14:43:49.421252Z INFO property_map_server: POI data loaded pois=552015
2026-05-04T14:43:49.421262Z INFO property_map_server: Building POI spatial grid index
2026-05-04T14:43:49.426093Z INFO property_map_server: Loading place data from /app/data/places.parquet
2026-05-04T14:43:49.426101Z INFO property_map_server::data::places: Loading place data from "/app/data/places.parquet"...
2026-05-04T14:43:49.426566Z INFO property_map_server::data::places: Loaded 3474 places
2026-05-04T14:43:49.427303Z INFO property_map_server::data::places: Place data loaded places=3474 types=2 with_population=71 with_city=3392
2026-05-04T14:43:49.427358Z INFO property_map_server: Place data loaded places=3474
2026-05-04T14:43:49.427367Z INFO property_map_server: Loading postcode boundaries from /app/data/postcode_boundaries
2026-05-04T14:43:49.427370Z INFO property_map_server::data::postcodes: Loading postcode boundaries from "/app/data/postcode_boundaries"
2026-05-04T14:43:49.434429Z INFO property_map_server::data::postcodes: Found GeoJSON files to process files=2361
2026-05-04T14:43:57.689320Z INFO property_map_server: Prometheus metrics initialized
2026-05-04T14:43:57.689487Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet
2026-05-04T14:43:57.689495Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet"
2026-05-04T14:43:57.756878Z INFO property_map_server::data::property: Postcode features loaded rows=1263786
2026-05-04T14:43:57.756888Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet"
2026-05-04T14:44:00.210212Z INFO property_map_server::data::property: Properties joined with postcodes rows=15268176
2026-05-04T14:44:00.210250Z INFO property_map_server::data::property: Feature columns from config numeric=63 enums=6 total=69
2026-05-04T14:44:01.218979Z INFO property_map_server::data::property: Combined data selected rows=15268176
2026-05-04T14:44:01.363479Z INFO property_map_server::data::property: Extracting numeric feature columns
2026-05-04T14:44:01.740585Z INFO property_map_server::data::property: Computing histograms for numeric features
2026-05-04T14:44:02.963779Z INFO property_map_server::data::property: Extracting string columns
2026-05-04T14:44:04.340532Z INFO property_map_server::data::property: Building enum features
2026-05-04T14:44:05.582283Z INFO property_map_server::data::property: Extracting renovation history
2026-05-04T14:44:08.448995Z INFO property_map_server::data::property: Renovation history extracted properties_with_events=1833881
2026-05-04T14:44:08.449004Z INFO property_map_server::data::property: Sorting rows by spatial locality
2026-05-04T14:44:09.312354Z INFO property_map_server::data::property: Building interned strings
2026-05-04T14:44:14.627999Z INFO property_map_server::data::property: Transposing to row-major layout (spatially sorted, quantized to u16)
2026-05-04T14:44:22.690885Z INFO property_map_server::data::property: Data loading complete
2026-05-04T14:44:24.021349Z INFO property_map_server: Property data loaded rows=15268176 features=69 enums=6
2026-05-04T14:44:24.021359Z INFO property_map_server: Building spatial grid index (0.01° cells)
2026-05-04T14:44:24.127984Z INFO property_map_server: Precomputing H3 cells at resolution 12
2026-05-04T14:44:24.127994Z INFO property_map_server::data::property: Precomputing H3 cells at resolution 12
2026-05-04T14:44:24.552707Z INFO property_map_server::data::property: H3 precomputation complete (15268176 cells)
2026-05-04T14:44:24.552729Z INFO property_map_server: Loading POI data from /app/data/filtered_uk_pois.parquet
2026-05-04T14:44:24.552735Z INFO property_map_server::data::poi: Loading POI data from "/app/data/filtered_uk_pois.parquet"...
2026-05-04T14:44:24.572951Z INFO property_map_server::data::poi: Loaded 552015 POIs
2026-05-04T14:44:24.669847Z INFO property_map_server::data::poi: POI string columns interned category_unique=74 group_unique=11 emoji_unique=71
2026-05-04T14:44:24.670324Z INFO property_map_server::data::poi: POI data loading complete.
2026-05-04T14:44:24.702559Z INFO property_map_server: POI data loaded pois=552015
2026-05-04T14:44:24.702568Z INFO property_map_server: Building POI spatial grid index
2026-05-04T14:44:24.707240Z INFO property_map_server: Loading place data from /app/data/places.parquet
2026-05-04T14:44:24.707248Z INFO property_map_server::data::places: Loading place data from "/app/data/places.parquet"...
2026-05-04T14:44:24.707755Z INFO property_map_server::data::places: Loaded 3474 places
2026-05-04T14:44:24.708477Z INFO property_map_server::data::places: Place data loaded places=3474 types=2 with_population=71 with_city=3392
2026-05-04T14:44:24.708540Z INFO property_map_server: Place data loaded places=3474
2026-05-04T14:44:24.708549Z INFO property_map_server: Loading postcode boundaries from /app/data/postcode_boundaries
2026-05-04T14:44:24.708560Z INFO property_map_server::data::postcodes: Loading postcode boundaries from "/app/data/postcode_boundaries"
2026-05-04T14:44:24.709358Z INFO property_map_server::data::postcodes: Found GeoJSON files to process files=2361
2026-05-04T14:44:31.282327Z INFO property_map_server::data::postcodes: Postcode boundary data ready postcodes=1490140
2026-05-04T14:44:31.506259Z INFO property_map_server: Postcode boundaries loaded postcodes=1490140
2026-05-04T14:44:31.642818Z INFO property_map_server::data::postcodes: Outcode data derived from postcodes outcodes=2361
2026-05-04T14:44:31.642868Z INFO property_map_server: Loading PMTiles from /app/data/uk.pmtiles
2026-05-04T14:44:31.689370Z INFO property_map_server: PMTiles loaded successfully
2026-05-04T14:44:31.723714Z INFO property_map_server: No --dist provided; static serving and OG injection disabled
2026-05-04T14:44:31.759973Z INFO property_map_server: Screenshot service configured: http://screenshot:8002
2026-05-04T14:44:31.760116Z INFO property_map_server: Precomputed features response groups=8
2026-05-04T14:44:31.760129Z INFO property_map_server: PocketBase configured: http://pocketbase:8090
2026-05-04T14:44:31.813314Z INFO property_map_server::pocketbase: PocketBase users collection already has all required fields
2026-05-04T14:44:31.828476Z INFO property_map_server::pocketbase: PocketBase collection 'saved_searches' API rules updated
2026-05-04T14:44:31.831588Z INFO property_map_server::pocketbase: PocketBase collection 'saved_properties' API rules updated
2026-05-04T14:44:38.915084Z INFO property_map_server: Prometheus metrics initialized
2026-05-04T14:44:38.915260Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet
2026-05-04T14:44:38.915272Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet"
2026-05-04T14:44:38.981199Z INFO property_map_server::data::property: Postcode features loaded rows=1263786
2026-05-04T14:44:38.981208Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet"
2026-05-04T14:44:41.363555Z INFO property_map_server::data::property: Properties joined with postcodes rows=15268176
2026-05-04T14:44:41.363588Z INFO property_map_server::data::property: Feature columns from config numeric=63 enums=6 total=69
2026-05-04T14:44:42.373496Z INFO property_map_server::data::property: Combined data selected rows=15268176
2026-05-04T14:44:42.521912Z INFO property_map_server::data::property: Extracting numeric feature columns
2026-05-04T14:44:42.883334Z INFO property_map_server::data::property: Computing histograms for numeric features
2026-05-04T14:44:44.153161Z INFO property_map_server::data::property: Extracting string columns
2026-05-04T14:44:45.451485Z INFO property_map_server::data::property: Building enum features
2026-05-04T14:44:46.669106Z INFO property_map_server::data::property: Extracting renovation history
2026-05-04T14:44:49.452139Z INFO property_map_server::data::property: Renovation history extracted properties_with_events=1833881
2026-05-04T14:44:49.452147Z INFO property_map_server::data::property: Sorting rows by spatial locality
2026-05-04T14:44:50.299195Z INFO property_map_server::data::property: Building interned strings
2026-05-04T14:44:55.611183Z INFO property_map_server::data::property: Transposing to row-major layout (spatially sorted, quantized to u16)
2026-05-04T14:45:00.089264Z INFO property_map_server::data::property: Data loading complete
2026-05-04T14:45:01.132313Z INFO property_map_server: Property data loaded rows=15268176 features=69 enums=6
2026-05-04T14:45:01.132322Z INFO property_map_server: Building spatial grid index (0.01° cells)
2026-05-04T14:45:01.232930Z INFO property_map_server: Precomputing H3 cells at resolution 12
2026-05-04T14:45:01.232940Z INFO property_map_server::data::property: Precomputing H3 cells at resolution 12
2026-05-04T14:45:01.644976Z INFO property_map_server::data::property: H3 precomputation complete (15268176 cells)
2026-05-04T14:45:01.645007Z INFO property_map_server: Loading POI data from /app/data/filtered_uk_pois.parquet
2026-05-04T14:45:01.645013Z INFO property_map_server::data::poi: Loading POI data from "/app/data/filtered_uk_pois.parquet"...
2026-05-04T14:45:01.665085Z INFO property_map_server::data::poi: Loaded 552015 POIs
2026-05-04T14:45:01.759058Z INFO property_map_server::data::poi: POI string columns interned category_unique=74 group_unique=11 emoji_unique=71
2026-05-04T14:45:01.759640Z INFO property_map_server::data::poi: POI data loading complete.
2026-05-04T14:45:01.791356Z INFO property_map_server: POI data loaded pois=552015
2026-05-04T14:45:01.791365Z INFO property_map_server: Building POI spatial grid index
2026-05-04T14:45:01.797608Z INFO property_map_server: Loading place data from /app/data/places.parquet
2026-05-04T14:45:01.797618Z INFO property_map_server::data::places: Loading place data from "/app/data/places.parquet"...
2026-05-04T14:45:01.798218Z INFO property_map_server::data::places: Loaded 3474 places
2026-05-04T14:45:01.799012Z INFO property_map_server::data::places: Place data loaded places=3474 types=2 with_population=71 with_city=3392
2026-05-04T14:45:01.799070Z INFO property_map_server: Place data loaded places=3474
2026-05-04T14:45:01.799079Z INFO property_map_server: Loading postcode boundaries from /app/data/postcode_boundaries
2026-05-04T14:45:01.799082Z INFO property_map_server::data::postcodes: Loading postcode boundaries from "/app/data/postcode_boundaries"
2026-05-04T14:45:01.799987Z INFO property_map_server::data::postcodes: Found GeoJSON files to process files=2361
2026-05-04T14:45:08.134111Z INFO property_map_server: Prometheus metrics initialized
2026-05-04T14:45:08.134279Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet
2026-05-04T14:45:08.134289Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet"
2026-05-04T14:45:08.199503Z INFO property_map_server::data::property: Postcode features loaded rows=1263786
2026-05-04T14:45:08.199512Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet"
2026-05-04T14:45:10.581458Z INFO property_map_server::data::property: Properties joined with postcodes rows=15268176
2026-05-04T14:45:10.581488Z INFO property_map_server::data::property: Feature columns from config numeric=63 enums=6 total=69
2026-05-04T14:45:11.641800Z INFO property_map_server::data::property: Combined data selected rows=15268176
2026-05-04T14:45:11.787205Z INFO property_map_server::data::property: Extracting numeric feature columns
2026-05-04T14:45:12.165030Z INFO property_map_server::data::property: Computing histograms for numeric features
2026-05-04T14:45:13.389884Z INFO property_map_server::data::property: Extracting string columns
2026-05-04T14:45:14.748149Z INFO property_map_server::data::property: Building enum features
2026-05-04T14:45:15.977535Z INFO property_map_server::data::property: Extracting renovation history
2026-05-04T14:45:18.827895Z INFO property_map_server::data::property: Renovation history extracted properties_with_events=1833881
2026-05-04T14:45:18.827905Z INFO property_map_server::data::property: Sorting rows by spatial locality
2026-05-04T14:45:19.697239Z INFO property_map_server::data::property: Building interned strings
2026-05-04T14:45:31.153242Z INFO property_map_server: Prometheus metrics initialized
2026-05-04T14:45:31.153406Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet
2026-05-04T14:45:31.153422Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet"
2026-05-04T14:45:31.219201Z INFO property_map_server::data::property: Postcode features loaded rows=1263786
2026-05-04T14:45:31.219213Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet"
2026-05-04T14:45:33.564270Z INFO property_map_server::data::property: Properties joined with postcodes rows=15268176
2026-05-04T14:45:33.564305Z INFO property_map_server::data::property: Feature columns from config numeric=63 enums=6 total=69
2026-05-04T14:45:36.281493Z WARN property_map_server::data::property: Dropped properties with missing postcode coordinates rows=743076
2026-05-04T14:45:36.281502Z INFO property_map_server::data::property: Combined data selected rows=14525100
2026-05-04T14:45:36.401348Z INFO property_map_server::data::property: Extracting numeric feature columns
2026-05-04T14:45:36.758111Z INFO property_map_server::data::property: Computing histograms for numeric features
2026-05-04T14:45:37.875216Z INFO property_map_server::data::property: Extracting string columns
2026-05-04T14:45:39.160760Z INFO property_map_server::data::property: Building enum features
2026-05-04T14:45:40.659139Z INFO property_map_server::data::property: Extracting renovation history
2026-05-04T14:45:42.636440Z INFO property_map_server::data::property: Renovation history extracted properties_with_events=1741939
2026-05-04T14:45:42.636448Z INFO property_map_server::data::property: Sorting rows by spatial locality
2026-05-04T14:45:43.439562Z INFO property_map_server::data::property: Building interned strings
2026-05-04T14:45:48.482907Z INFO property_map_server::data::property: Transposing to row-major layout (spatially sorted, quantized to u16)
2026-05-04T14:45:51.180179Z INFO property_map_server::data::property: Data loading complete
2026-05-04T14:45:52.166085Z INFO property_map_server: Property data loaded rows=14525100 features=69 enums=6
2026-05-04T14:45:52.166096Z INFO property_map_server: Building spatial grid index (0.01° cells)
2026-05-04T14:45:52.250577Z INFO property_map_server: Precomputing H3 cells at resolution 12
2026-05-04T14:45:52.250585Z INFO property_map_server::data::property: Precomputing H3 cells at resolution 12
2026-05-04T14:45:52.614701Z INFO property_map_server::data::property: H3 precomputation complete (14525100 cells)
2026-05-04T14:45:52.614729Z INFO property_map_server: Loading POI data from /app/data/filtered_uk_pois.parquet
2026-05-04T14:45:52.614736Z INFO property_map_server::data::poi: Loading POI data from "/app/data/filtered_uk_pois.parquet"...
2026-05-04T14:45:52.642203Z INFO property_map_server::data::poi: Loaded 552015 POIs
2026-05-04T14:45:52.731917Z INFO property_map_server::data::poi: POI string columns interned category_unique=74 group_unique=11 emoji_unique=71
2026-05-04T14:45:52.732432Z INFO property_map_server::data::poi: POI data loading complete.
2026-05-04T14:45:52.762120Z INFO property_map_server: POI data loaded pois=552015
2026-05-04T14:45:52.762126Z INFO property_map_server: Building POI spatial grid index
2026-05-04T14:45:52.766844Z INFO property_map_server: Loading place data from /app/data/places.parquet
2026-05-04T14:45:52.766849Z INFO property_map_server::data::places: Loading place data from "/app/data/places.parquet"...
2026-05-04T14:45:52.767351Z INFO property_map_server::data::places: Loaded 3474 places
2026-05-04T14:45:52.768147Z INFO property_map_server::data::places: Place data loaded places=3474 types=2 with_population=71 with_city=3392
2026-05-04T14:45:52.768200Z INFO property_map_server: Place data loaded places=3474
2026-05-04T14:45:52.768209Z INFO property_map_server: Loading postcode boundaries from /app/data/postcode_boundaries
2026-05-04T14:45:52.768212Z INFO property_map_server::data::postcodes: Loading postcode boundaries from "/app/data/postcode_boundaries"
2026-05-04T14:45:52.769171Z INFO property_map_server::data::postcodes: Found GeoJSON files to process files=2361
2026-05-04T14:45:59.458176Z INFO property_map_server::data::postcodes: Postcode boundary data ready postcodes=1490140
2026-05-04T14:45:59.677820Z INFO property_map_server: Postcode boundaries loaded postcodes=1490140
2026-05-04T14:45:59.810914Z INFO property_map_server::data::postcodes: Outcode data derived from postcodes outcodes=2361
2026-05-04T14:45:59.810961Z INFO property_map_server: Loading PMTiles from /app/data/uk.pmtiles
2026-05-04T14:45:59.811163Z INFO property_map_server: PMTiles loaded successfully
2026-05-04T14:45:59.846852Z INFO property_map_server: No --dist provided; static serving and OG injection disabled
2026-05-04T14:45:59.871182Z INFO property_map_server: Screenshot service configured: http://screenshot:8002
2026-05-04T14:45:59.871230Z INFO property_map_server: Precomputed features response groups=8
2026-05-04T14:45:59.871243Z INFO property_map_server: PocketBase configured: http://pocketbase:8090
2026-05-04T14:45:59.917422Z INFO property_map_server::pocketbase: PocketBase users collection already has all required fields
2026-05-04T14:45:59.920134Z INFO property_map_server::pocketbase: PocketBase collection 'saved_searches' API rules updated
2026-05-04T14:45:59.923261Z INFO property_map_server::pocketbase: PocketBase collection 'saved_properties' API rules updated
2026-05-04T14:45:59.988619Z INFO property_map_server::pocketbase: PocketBase meta.appURL set to https://perfect-postcodes.co.uk/pb
2026-05-04T14:45:59.991782Z INFO property_map_server::pocketbase: PocketBase OAuth configured on users collection
2026-05-04T14:45:59.991803Z INFO property_map_server: Gemini configured (model: gemini-3-flash-preview)
2026-05-04T14:45:59.991818Z INFO property_map_server: Loading travel time data from /app/data/travel-times
2026-05-04T14:46:00.030486Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="bicycle" destinations=2753
2026-05-04T14:46:00.044472Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="walking" destinations=2753
2026-05-04T14:46:00.052703Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="car" destinations=2753
2026-05-04T14:46:00.064337Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="transit" destinations=2752
2026-05-04T14:46:00.064370Z INFO property_map_server: Travel time store loaded modes=4
2026-05-04T14:46:00.064429Z INFO property_map_server: Precomputed AI filters system prompt
2026-05-04T14:46:05.611406Z INFO property_map_server: All memory pages locked (mlockall)
2026-05-04T14:46:05.611446Z INFO property_map_server: Server listening on 0.0.0.0:8001
2026-05-04T14:47:15.819022Z INFO property_map_server: Prometheus metrics initialized
2026-05-04T14:47:15.819187Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet
2026-05-04T14:47:15.819197Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet"
2026-05-04T14:47:15.885121Z INFO property_map_server::data::property: Postcode features loaded rows=1263786
2026-05-04T14:47:15.885132Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet"
2026-05-04T14:47:18.372381Z INFO property_map_server::data::property: Properties joined with postcodes rows=15268176
2026-05-04T14:47:18.372410Z INFO property_map_server::data::property: Feature columns from config numeric=63 enums=6 total=69
2026-05-04T14:47:20.923011Z WARN property_map_server::data::property: Dropped properties with missing postcode coordinates rows=743076
2026-05-04T14:47:20.923021Z INFO property_map_server::data::property: Combined data selected rows=14525100
2026-05-04T14:47:21.045527Z INFO property_map_server::data::property: Extracting numeric feature columns
2026-05-04T14:47:21.392236Z INFO property_map_server::data::property: Computing histograms for numeric features
2026-05-04T14:47:22.507594Z INFO property_map_server::data::property: Extracting string columns
2026-05-04T14:47:23.774491Z INFO property_map_server::data::property: Building enum features
2026-05-04T14:47:24.936843Z INFO property_map_server::data::property: Extracting renovation history
2026-05-04T14:47:26.949732Z INFO property_map_server::data::property: Renovation history extracted properties_with_events=1741939
2026-05-04T14:47:26.949741Z INFO property_map_server::data::property: Sorting rows by spatial locality
2026-05-04T14:47:27.766362Z INFO property_map_server::data::property: Building interned strings
2026-05-04T14:47:32.738931Z INFO property_map_server::data::property: Transposing to row-major layout (spatially sorted, quantized to u16)
2026-05-04T14:47:35.373238Z INFO property_map_server::data::property: Data loading complete
2026-05-04T14:47:36.093547Z INFO property_map_server: Property data loaded rows=14525100 features=69 enums=6
2026-05-04T14:47:36.093556Z INFO property_map_server: Building spatial grid index (0.01° cells)
2026-05-04T14:47:36.446544Z INFO property_map_server: Precomputing H3 cells at resolution 12
2026-05-04T14:47:36.446553Z INFO property_map_server::data::property: Precomputing H3 cells at resolution 12
2026-05-04T14:47:36.806465Z INFO property_map_server::data::property: H3 precomputation complete (14525100 cells)
2026-05-04T14:47:36.806489Z INFO property_map_server: Loading POI data from /app/data/filtered_uk_pois.parquet
2026-05-04T14:47:36.806495Z INFO property_map_server::data::poi: Loading POI data from "/app/data/filtered_uk_pois.parquet"...
2026-05-04T14:47:36.825191Z INFO property_map_server::data::poi: Loaded 552015 POIs
2026-05-04T14:47:36.915120Z INFO property_map_server::data::poi: POI string columns interned category_unique=74 group_unique=11 emoji_unique=71
2026-05-04T14:47:36.915662Z INFO property_map_server::data::poi: POI data loading complete.
2026-05-04T14:47:36.945387Z INFO property_map_server: POI data loaded pois=552015
2026-05-04T14:47:36.945396Z INFO property_map_server: Building POI spatial grid index
2026-05-04T14:47:36.950771Z INFO property_map_server: Loading place data from /app/data/places.parquet
2026-05-04T14:47:36.950791Z INFO property_map_server::data::places: Loading place data from "/app/data/places.parquet"...
2026-05-04T14:47:36.951334Z INFO property_map_server::data::places: Loaded 3474 places
2026-05-04T14:47:36.952410Z INFO property_map_server::data::places: Place data loaded places=3474 types=2 with_population=71 with_city=3392
2026-05-04T14:47:36.952485Z INFO property_map_server: Place data loaded places=3474
2026-05-04T14:47:36.952496Z INFO property_map_server: Loading postcode boundaries from /app/data/postcode_boundaries
2026-05-04T14:47:36.952500Z INFO property_map_server::data::postcodes: Loading postcode boundaries from "/app/data/postcode_boundaries"
2026-05-04T14:47:36.953764Z INFO property_map_server::data::postcodes: Found GeoJSON files to process files=2361
2026-05-04T14:47:43.377454Z INFO property_map_server::data::postcodes: Postcode boundary data ready postcodes=1490140
2026-05-04T14:47:43.612097Z INFO property_map_server: Postcode boundaries loaded postcodes=1490140
2026-05-04T14:47:43.750736Z INFO property_map_server::data::postcodes: Outcode data derived from postcodes outcodes=2361
2026-05-04T14:47:43.750789Z INFO property_map_server: Loading PMTiles from /app/data/uk.pmtiles
2026-05-04T14:47:43.751019Z INFO property_map_server: PMTiles loaded successfully
2026-05-04T14:47:43.785502Z INFO property_map_server: No --dist provided; static serving and OG injection disabled
2026-05-04T14:47:43.810749Z INFO property_map_server: Screenshot service configured: http://screenshot:8002
2026-05-04T14:47:43.810898Z INFO property_map_server: Precomputed features response groups=8
2026-05-04T14:47:43.810912Z INFO property_map_server: PocketBase configured: http://pocketbase:8090
2026-05-04T14:47:43.857558Z INFO property_map_server::pocketbase: PocketBase users collection already has all required fields
2026-05-04T14:47:43.860590Z INFO property_map_server::pocketbase: PocketBase collection 'saved_searches' API rules updated
2026-05-04T14:47:43.863548Z INFO property_map_server::pocketbase: PocketBase collection 'saved_properties' API rules updated
2026-05-04T14:47:44.082999Z INFO property_map_server::pocketbase: PocketBase meta.appURL set to https://perfect-postcodes.co.uk/pb
2026-05-04T14:47:44.086665Z INFO property_map_server::pocketbase: PocketBase OAuth configured on users collection
2026-05-04T14:47:44.086686Z INFO property_map_server: Gemini configured (model: gemini-3-flash-preview)
2026-05-04T14:47:44.086700Z INFO property_map_server: Loading travel time data from /app/data/travel-times
2026-05-04T14:47:44.088081Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="bicycle" destinations=2753
2026-05-04T14:47:44.089379Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="walking" destinations=2753
2026-05-04T14:47:44.090629Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="car" destinations=2753
2026-05-04T14:47:44.091709Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="transit" destinations=2752
2026-05-04T14:47:44.091724Z INFO property_map_server: Travel time store loaded modes=4
2026-05-04T14:47:44.091761Z INFO property_map_server: Precomputed AI filters system prompt
2026-05-04T14:47:45.625293Z INFO property_map_server: All memory pages locked (mlockall)
2026-05-04T14:47:45.625334Z INFO property_map_server: Server listening on 0.0.0.0:8001
2026-05-04T14:50:57.638877Z INFO property_map_server::routes::features: GET /api/features
2026-05-04T14:50:57.640497Z INFO property_map_server::routes::pois: GET /api/poi-categories count=74 groups=11
2026-05-04T14:50:57.922811Z 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=7.1 json_ms=0.6 total_ms=7.7
2026-05-04T14:52:56.258632Z 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-04T14:53:12.185088Z 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-04T14:53:42.884119Z INFO property_map_server: Prometheus metrics initialized
2026-05-04T14:53:42.884271Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet
2026-05-04T14:53:42.884283Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet"
2026-05-04T14:53:42.946330Z INFO property_map_server::data::property: Postcode features loaded rows=1263786
2026-05-04T14:53:42.946339Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet"
2026-05-04T14:53:45.357132Z INFO property_map_server::data::property: Properties joined with postcodes rows=15268176
2026-05-04T14:53:45.357161Z INFO property_map_server::data::property: Feature columns from config numeric=63 enums=6 total=69
2026-05-04T14:53:55.036134Z INFO property_map_server: Prometheus metrics initialized
2026-05-04T14:53:55.036295Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet
2026-05-04T14:53:55.036304Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet"
2026-05-04T14:53:55.101654Z INFO property_map_server::data::property: Postcode features loaded rows=1263786
2026-05-04T14:53:55.101664Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet"
2026-05-04T14:53:57.600564Z INFO property_map_server::data::property: Properties joined with postcodes rows=15268176
2026-05-04T14:53:57.600601Z INFO property_map_server::data::property: Feature columns from config numeric=63 enums=6 total=69
2026-05-04T14:54:04.972538Z WARN property_map_server::data::property: Dropped properties with missing postcode coordinates rows=743076
2026-05-04T14:54:04.972547Z INFO property_map_server::data::property: Combined data selected rows=14525100
2026-05-04T14:54:05.102307Z INFO property_map_server::data::property: Extracting numeric feature columns
2026-05-04T14:54:05.526039Z INFO property_map_server::data::property: Computing histograms for numeric features
2026-05-04T14:54:06.851065Z INFO property_map_server::data::property: Extracting string columns
2026-05-04T14:54:08.168947Z INFO property_map_server::data::property: Building enum features
2026-05-04T14:54:09.788800Z INFO property_map_server::data::property: Extracting renovation history
2026-05-04T14:54:12.676020Z INFO property_map_server::data::property: Renovation history extracted properties_with_events=1741939
2026-05-04T14:54:12.676028Z INFO property_map_server::data::property: Sorting rows by spatial locality
2026-05-04T14:54:14.887893Z INFO property_map_server::data::property: Building interned strings
2026-05-04T14:54:22.970834Z INFO property_map_server::data::property: Transposing to row-major layout (spatially sorted, quantized to u16)
2026-05-04T14:54:26.292049Z INFO property_map_server::data::property: Data loading complete
2026-05-04T14:54:27.354753Z INFO property_map_server: Property data loaded rows=14525100 features=69 enums=6
2026-05-04T14:54:27.354767Z INFO property_map_server: Building spatial grid index (0.01° cells)
2026-05-04T14:54:27.455615Z INFO property_map_server: Precomputing H3 cells at resolution 12
2026-05-04T14:54:27.455626Z INFO property_map_server::data::property: Precomputing H3 cells at resolution 12
2026-05-04T14:54:27.850640Z INFO property_map_server::data::property: H3 precomputation complete (14525100 cells)
2026-05-04T14:54:27.850666Z INFO property_map_server: Loading POI data from /app/data/filtered_uk_pois.parquet
2026-05-04T14:54:27.850674Z INFO property_map_server::data::poi: Loading POI data from "/app/data/filtered_uk_pois.parquet"...
2026-05-04T14:54:27.877285Z INFO property_map_server::data::poi: Loaded 552015 POIs
2026-05-04T14:54:27.970257Z INFO property_map_server::data::poi: POI string columns interned category_unique=74 group_unique=11 emoji_unique=71
2026-05-04T14:54:27.970733Z INFO property_map_server::data::poi: POI data loading complete.
2026-05-04T14:54:28.001753Z INFO property_map_server: POI data loaded pois=552015
2026-05-04T14:54:28.001763Z INFO property_map_server: Building POI spatial grid index
2026-05-04T14:54:28.007151Z INFO property_map_server: Loading place data from /app/data/places.parquet
2026-05-04T14:54:28.007169Z INFO property_map_server::data::places: Loading place data from "/app/data/places.parquet"...
2026-05-04T14:54:28.009833Z INFO property_map_server::data::places: Loaded 3474 places
2026-05-04T14:54:28.010633Z INFO property_map_server::data::places: Place data loaded places=3474 types=2 with_population=71 with_city=3392
2026-05-04T14:54:28.010706Z INFO property_map_server: Place data loaded places=3474
2026-05-04T14:54:28.010717Z INFO property_map_server: Loading postcode boundaries from /app/data/postcode_boundaries
2026-05-04T14:54:28.010722Z INFO property_map_server::data::postcodes: Loading postcode boundaries from "/app/data/postcode_boundaries"
2026-05-04T14:54:28.021635Z INFO property_map_server::data::postcodes: Found GeoJSON files to process files=2361
2026-05-04T14:54:35.600631Z INFO property_map_server::data::postcodes: Postcode boundary data ready postcodes=1490140
2026-05-04T14:54:35.828192Z INFO property_map_server: Postcode boundaries loaded postcodes=1490140
2026-05-04T14:54:35.965637Z INFO property_map_server::data::postcodes: Outcode data derived from postcodes outcodes=2361
2026-05-04T14:54:35.965695Z INFO property_map_server: Loading PMTiles from /app/data/uk.pmtiles
2026-05-04T14:54:35.981397Z INFO property_map_server: PMTiles loaded successfully
2026-05-04T14:54:36.016685Z INFO property_map_server: No --dist provided; static serving and OG injection disabled
2026-05-04T14:54:36.054406Z INFO property_map_server: Screenshot service configured: http://screenshot:8002
2026-05-04T14:54:36.054564Z INFO property_map_server: Precomputed features response groups=8
2026-05-04T14:54:36.054579Z INFO property_map_server: PocketBase configured: http://pocketbase:8090
2026-05-04T14:54:36.125619Z INFO property_map_server::pocketbase: PocketBase users collection already has all required fields
2026-05-04T14:54:36.130171Z INFO property_map_server::pocketbase: PocketBase collection 'saved_searches' API rules updated
2026-05-04T14:54:36.134321Z INFO property_map_server::pocketbase: PocketBase collection 'saved_properties' API rules updated
2026-05-04T14:54:36.513738Z INFO property_map_server::pocketbase: PocketBase meta.appURL set to https://perfect-postcodes.co.uk/pb
2026-05-04T14:54:36.517029Z INFO property_map_server::pocketbase: PocketBase OAuth configured on users collection
2026-05-04T14:54:36.517057Z INFO property_map_server: Gemini configured (model: gemini-3-flash-preview)
2026-05-04T14:54:36.517075Z INFO property_map_server: Loading travel time data from /app/data/travel-times
2026-05-04T14:54:36.520211Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="bicycle" destinations=2753
2026-05-04T14:54:36.523065Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="walking" destinations=2753
2026-05-04T14:54:36.525013Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="car" destinations=2753
2026-05-04T14:54:36.527299Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="transit" destinations=2752
2026-05-04T14:54:36.527317Z INFO property_map_server: Travel time store loaded modes=4
2026-05-04T14:54:36.527363Z INFO property_map_server: Precomputed AI filters system prompt
2026-05-04T14:54:42.237462Z INFO property_map_server: All memory pages locked (mlockall)
2026-05-04T14:54:42.237501Z INFO property_map_server: Server listening on 0.0.0.0:8001
2026-05-04T14:55:02.185484Z INFO property_map_server::routes::pois: GET /api/poi-categories count=74 groups=11
2026-05-04T14:55:02.186180Z INFO property_map_server::routes::features: GET /api/features
2026-05-04T14:55:11.287843Z INFO property_map_server: Prometheus metrics initialized
2026-05-04T14:55:11.287997Z INFO property_map_server: Loading property data from /app/data/properties.parquet, /app/data/postcode.parquet
2026-05-04T14:55:11.288007Z INFO property_map_server::data::property: Loading postcode features from "/app/data/postcode.parquet"
2026-05-04T14:55:11.376260Z INFO property_map_server::data::property: Postcode features loaded rows=1263786
2026-05-04T14:55:11.376273Z INFO property_map_server::data::property: Loading properties from "/app/data/properties.parquet"
2026-05-04T14:55:13.827818Z INFO property_map_server::data::property: Properties joined with postcodes rows=15268176
2026-05-04T14:55:13.827854Z INFO property_map_server::data::property: Feature columns from config numeric=63 enums=6 total=69
2026-05-04T14:55:16.429385Z WARN property_map_server::data::property: Dropped properties with missing postcode coordinates rows=743076
2026-05-04T14:55:16.429395Z INFO property_map_server::data::property: Combined data selected rows=14525100
2026-05-04T14:55:16.568441Z INFO property_map_server::data::property: Extracting numeric feature columns
2026-05-04T14:55:16.975936Z INFO property_map_server::data::property: Computing histograms for numeric features
2026-05-04T14:55:18.251169Z INFO property_map_server::data::property: Extracting string columns
2026-05-04T14:55:19.527096Z INFO property_map_server::data::property: Building enum features
2026-05-04T14:55:20.712350Z INFO property_map_server::data::property: Extracting renovation history
2026-05-04T14:55:22.823604Z INFO property_map_server::data::property: Renovation history extracted properties_with_events=1741939
2026-05-04T14:55:22.823615Z INFO property_map_server::data::property: Sorting rows by spatial locality
2026-05-04T14:55:23.891440Z INFO property_map_server::data::property: Building interned strings
2026-05-04T14:55:31.505572Z INFO property_map_server::data::property: Transposing to row-major layout (spatially sorted, quantized to u16)
2026-05-04T14:55:34.169480Z INFO property_map_server::data::property: Data loading complete
2026-05-04T14:55:34.942506Z INFO property_map_server: Property data loaded rows=14525100 features=69 enums=6
2026-05-04T14:55:34.942516Z INFO property_map_server: Building spatial grid index (0.01° cells)
2026-05-04T14:55:35.294923Z INFO property_map_server: Precomputing H3 cells at resolution 12
2026-05-04T14:55:35.294933Z INFO property_map_server::data::property: Precomputing H3 cells at resolution 12
2026-05-04T14:55:35.726054Z INFO property_map_server::data::property: H3 precomputation complete (14525100 cells)
2026-05-04T14:55:35.726080Z INFO property_map_server: Loading POI data from /app/data/filtered_uk_pois.parquet
2026-05-04T14:55:35.726087Z INFO property_map_server::data::poi: Loading POI data from "/app/data/filtered_uk_pois.parquet"...
2026-05-04T14:55:35.744824Z INFO property_map_server::data::poi: Loaded 552015 POIs
2026-05-04T14:55:35.838137Z INFO property_map_server::data::poi: POI string columns interned category_unique=74 group_unique=11 emoji_unique=71
2026-05-04T14:55:35.838638Z INFO property_map_server::data::poi: POI data loading complete.
2026-05-04T14:55:35.876768Z INFO property_map_server: POI data loaded pois=552015
2026-05-04T14:55:35.876778Z INFO property_map_server: Building POI spatial grid index
2026-05-04T14:55:35.881786Z INFO property_map_server: Loading place data from /app/data/places.parquet
2026-05-04T14:55:35.881803Z INFO property_map_server::data::places: Loading place data from "/app/data/places.parquet"...
2026-05-04T14:55:35.882353Z INFO property_map_server::data::places: Loaded 3474 places
2026-05-04T14:55:35.883258Z INFO property_map_server::data::places: Place data loaded places=3474 types=2 with_population=71 with_city=3392
2026-05-04T14:55:35.883316Z INFO property_map_server: Place data loaded places=3474
2026-05-04T14:55:35.883325Z INFO property_map_server: Loading postcode boundaries from /app/data/postcode_boundaries
2026-05-04T14:55:35.883328Z INFO property_map_server::data::postcodes: Loading postcode boundaries from "/app/data/postcode_boundaries"
2026-05-04T14:55:35.886822Z INFO property_map_server::data::postcodes: Found GeoJSON files to process files=2361
2026-05-04T14:55:42.631313Z INFO property_map_server::data::postcodes: Postcode boundary data ready postcodes=1490140
2026-05-04T14:55:42.861921Z INFO property_map_server: Postcode boundaries loaded postcodes=1490140
2026-05-04T14:55:43.004963Z INFO property_map_server::data::postcodes: Outcode data derived from postcodes outcodes=2361
2026-05-04T14:55:43.005018Z INFO property_map_server: Loading PMTiles from /app/data/uk.pmtiles
2026-05-04T14:55:43.005240Z INFO property_map_server: PMTiles loaded successfully
2026-05-04T14:55:43.040940Z INFO property_map_server: No --dist provided; static serving and OG injection disabled
2026-05-04T14:55:43.066453Z INFO property_map_server: Screenshot service configured: http://screenshot:8002
2026-05-04T14:55:43.066611Z INFO property_map_server: Precomputed features response groups=8
2026-05-04T14:55:43.066626Z INFO property_map_server: PocketBase configured: http://pocketbase:8090
2026-05-04T14:55:43.121000Z INFO property_map_server::pocketbase: PocketBase users collection already has all required fields
2026-05-04T14:55:43.126266Z INFO property_map_server::pocketbase: PocketBase collection 'saved_searches' API rules updated
2026-05-04T14:55:43.131790Z INFO property_map_server::pocketbase: PocketBase collection 'saved_properties' API rules updated
2026-05-04T14:55:43.476085Z INFO property_map_server::pocketbase: PocketBase meta.appURL set to https://perfect-postcodes.co.uk/pb
2026-05-04T14:55:43.480666Z INFO property_map_server::pocketbase: PocketBase OAuth configured on users collection
2026-05-04T14:55:43.480705Z INFO property_map_server: Gemini configured (model: gemini-3-flash-preview)
2026-05-04T14:55:43.480720Z INFO property_map_server: Loading travel time data from /app/data/travel-times
2026-05-04T14:55:43.486304Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="bicycle" destinations=2753
2026-05-04T14:55:43.489899Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="walking" destinations=2753
2026-05-04T14:55:43.494485Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="car" destinations=2753
2026-05-04T14:55:43.499714Z INFO property_map_server::data::travel_time: Travel time mode discovered mode="transit" destinations=2752
2026-05-04T14:55:43.499735Z INFO property_map_server: Travel time store loaded modes=4
2026-05-04T14:55:43.499785Z INFO property_map_server: Precomputed AI filters system prompt
2026-05-04T14:55:45.137547Z INFO property_map_server: All memory pages locked (mlockall)
2026-05-04T14:55:45.137591Z INFO property_map_server: Server listening on 0.0.0.0:8001
2026-05-04T14:55:54.824291Z INFO property_map_server::routes::features: GET /api/features
2026-05-04T14:55:54.825669Z INFO property_map_server::routes::pois: GET /api/poi-categories count=74 groups=11
2026-05-04T14:55:55.012652Z 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=6.6 json_ms=0.2 total_ms=6.8
2026-05-04T15:12:24.599195Z 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=5.4 json_ms=0.5 total_ms=5.9
2026-05-04T15:13:03.754369Z 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.2 json_ms=0.5 total_ms=2.8
2026-05-04T15:13:24.272603Z INFO property_map_server::routes::features: GET /api/features
2026-05-04T15:13:24.278421Z INFO property_map_server::routes::pois: GET /api/poi-categories count=74 groups=11
2026-05-04T15:13:24.413467Z INFO property_map_server::routes::features: GET /api/features
2026-05-04T15:13:24.414872Z INFO property_map_server::routes::pois: GET /api/poi-categories count=74 groups=11
2026-05-04T15:13:24.742082Z 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.8 json_ms=0.5 total_ms=2.2
2026-05-04T15:14:00.462118Z INFO property_map_server::routes::pois: GET /api/poi-categories count=74 groups=11
2026-05-04T15:14:00.462123Z INFO property_map_server::routes::features: GET /api/features
2026-05-04T15:14:00.595786Z INFO property_map_server::routes::features: GET /api/features
2026-05-04T15:14:00.597610Z INFO property_map_server::routes::pois: GET /api/poi-categories count=74 groups=11
2026-05-04T15:14:00.899405Z 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-04T15:15:33.019623Z INFO property_map_server::routes::features: GET /api/features
2026-05-04T15:15:33.025700Z INFO property_map_server::routes::pois: GET /api/poi-categories count=74 groups=11
2026-05-04T15:15:33.134642Z INFO property_map_server::routes::features: GET /api/features
2026-05-04T15:15:33.136271Z INFO property_map_server::routes::pois: GET /api/poi-categories count=74 groups=11
2026-05-04T15:15:33.480486Z 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.0
2026-05-04T15:16:08.081958Z INFO property_map_server::routes::features: GET /api/features
2026-05-04T15:16:08.087511Z INFO property_map_server::routes::pois: GET /api/poi-categories count=74 groups=11
2026-05-04T15:16:08.294230Z INFO property_map_server::routes::features: GET /api/features
2026-05-04T15:16:08.295412Z INFO property_map_server::routes::pois: GET /api/poi-categories count=74 groups=11
2026-05-04T15:16:08.604460Z 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-04T15:17:07.960849Z INFO property_map_server::routes::features: GET /api/features
2026-05-04T15:17:07.968658Z INFO property_map_server::routes::pois: GET /api/poi-categories count=74 groups=11
2026-05-04T15:17:08.143457Z INFO property_map_server::routes::features: GET /api/features
2026-05-04T15:17:08.144527Z INFO property_map_server::routes::pois: GET /api/poi-categories count=74 groups=11
2026-05-04T15:17:08.451792Z 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