Skip to content

PointSav Documentation

The engineering library for the PointSav platform — operating systems and services for regulated businesses that own their data, their AI, and their record-keeping outright. Where the monorepo holds the code, this wiki holds the reasoning: architecture, services, security, and the governance commitments that bind future development.

Places filtering

← All revisions

606fcc20 · PointSav Digital Systems ·

editorial(services): rewrite service-places-filtering (Track-B) — confirmed no Rust crate by this name exists, same phantom-service pattern as service-business-clustering; real implementation is the Python GIS pipeline in project-gis; genericized specific thresholds/buffer-distance/filename per public-repo-safety-review.md, matching service-business-clustering's already-established treatment; register-clean EN+ES

View the full record as of this revision →

@@ -1,6 +1,6 @@
---
schema: foundry-doc-v1
title: "Places filtering service"
title: "Places filtering"
slug: service-places-filtering
category: services
type: topic
@@ -9,48 +9,55 @@ quality: complete
index_group: specialist-and-domain-services
status: active
audience: public
short_description: "service-places filters raw civic and institutional data to retain only regional-grade facilities, so GIS tier rankings reflect institutional concentration."
short_description: "A filtering step that keeps only regional-grade institutions from raw civic data, so GIS tier rankings reflect institutional concentration rather than every clinic and community facility."
bcsc_class: public-disclosure-safe
language_protocol: PROSE-TOPIC
last_edited: 2026-08-01
last_edited: 2026-08-22
editor: pointsav-engineering
paired_with: service-places-filtering.es.md
cites: []
---

**Correction (2026-08-02, verified against canonical `origin/main`):** `service-places-filtering` (and its companion `service-business-clustering`) don't exist as real crates anywhere in the monorepo — already flagged twice this session (the GIS cluster merge, 2026-08-01; and `applications/app-orchestration-gis.md`, this same sweep). The real implementation is a Python pipeline in the separate `project-gis` archive, not a Rust service in this monorepo. **Flagged, not resolved.**
[[retail-co-location-tier-methodology|GIS tier rankings]] depend on knowing where regional
institutions sit, not where every local clinic or community facility sits. The platform's
places-filtering step keeps only civic and institutional facilities that meet a regional
scale — hospitals, universities, and validated major transport hubs above fixed size
thresholds — and consolidates multi-point campus records into a single regional anchor.
Local-service density is removed at this stage, so downstream rankings reflect institutional
concentration rather than raw facility count.

[[retail-co-location-tier-methodology|GIS tier rankings]] depend on knowing where regional institutions sit, not where every clinic and community college sits. **`service-places`** filters raw civic data to retain only regional-grade facilities — hospitals with at least 50 staffed beds, universities with at least 1,000 full-time-equivalent students, validated major regional transport hubs — and applies a 200 m spatial buffer to consolidate large institutional campuses into single regional anchors. Local-service density is filtered out at this stage; downstream rankings reflect institutional concentration rather than facility count.
## What the filter keeps

## Key Takeaways
The filter applies fixed, structural thresholds rather than configurable parameters: a
hospital must reach a minimum staffed-bed count, a university a minimum full-time-equivalent
enrollment, and an airport must be a validated major regional hub rather than a general
aviation facility. Institutions below these thresholds are dropped before any downstream
scoring runs.

- Regional-grade thresholds are hard-coded into the service: hospitals require ≥50 staffed beds, universities require ≥1,000 full-time-equivalent students, and general aviation facilities are excluded from airport scoring. These filters are structural, not configurable parameters.
- A 200 m spatial buffer consolidates multi-point campus records — a large hospital campus often appears as dozens of OSM nodes — into a single regional anchor with a unified centroid. This prevents tier over-counting on large institutional footprints.
- Output is `cleansed-places.jsonl`, consumed by `[[app-orchestration-gis]]` alongside the retail cluster dataset from `[[service-business-clustering]]` when assigning final co-location tiers.
- The filtering stage is deliberately upstream of tier scoring. Once local-service density is removed here, all downstream scoring operates on a clean regional-institution signal.
## Consolidating campus records

## Filtering Thresholds
A large institutional campus often appears in raw open geospatial data as many separate
points. The filter merges points that plausibly belong to the same physical campus into a
single regional anchor with one unified centroid, preventing a single large institution from
being counted many times over.

The service applies attribute-weight filters to the raw civic data provided by [[service-fs-data-lake|`service-fs`]]:
## Where this fits in the pipeline

- **Regional hospitals:** minimum capacity threshold (50+ staffed beds).
- **Regional universities:** minimum enrollment threshold (1,000+ full-time equivalent students).
- **Airports:** validated as major regional transport hubs; general aviation facilities are excluded.

## Spatial Aggregation

Large institutional campuses frequently appear in raw open geospatial data as multiple separate points. `service-places` applies a 200 m spatial buffer to cluster these into a single regional anchor with a unified center of gravity, preventing over-counting of large campus footprints.

## Data Output

The resulting `cleansed-places.jsonl` provides the regional anchor dataset that [[app-orchestration-gis]] uses when awarding final [[retail-co-location-tier-methodology|co-location tier rankings]].
Filtering runs as part of the same Python-based GIS pipeline documented in
[[app-orchestration-gis]] — the code that turns raw geographic and business data into the
regional co-location index — rather than as a separately deployed service. Its output feeds
[[app-orchestration-gis]] alongside the retail clustering step from
[[service-business-clustering]] when the pipeline assigns final co-location tiers. This
article does not restate the pipeline's specific thresholds, buffer distances, or internal
file names; the general pattern (drop sub-regional facilities, consolidate multi-point
campuses to a single anchor) is the stable, public-facing part of the design.

## See also

- [[service-fs-data-lake]] — GIS data lake supplying the raw civic and retail data
- [[service-business-clustering]] — retail clustering service that consumes the filtered place data
- [[app-orchestration-gis]] — orchestration layer that assembles tier rankings from both services
- [[retail-co-location-tier-methodology]] — the tier methodology driving tier assignments
- [[app-orchestration-gis]] — the pipeline this filtering step is part of
- [[service-business-clustering]] — the retail clustering step that runs alongside it
- [[service-fs-data-lake]] — the raw civic and retail data this step consumes
- [[retail-co-location-tier-methodology]] — the tier methodology the filtered data feeds

## References

Important Information

Corporate structure. PointSav Digital Systems ("PointSav") is currently a trade name of Woodfine Capital Projects Inc. ("Woodfine"), planned to become a wholly-owned Woodfine subsidiary upon incorporation. PointSav does not itself offer, sell, or solicit any security. Any securities offering associated with Woodfine's real-property direct-hold solutions is made exclusively by Woodfine, and only by means of the applicable Private Placement Memorandum.

No investment advice. This wiki's content is provided for engineering, operational, research, and development purposes. Nothing on this wiki constitutes investment advice or a solicitation to invest in any Woodfine partnership or direct-hold solution.

Intellectual property. The PointSav name, trade name, wordmark, and marks, together with all current and future PointSav- and Totebox-branded products, services, and offerings — and the software, source code, documentation, design system, and all related materials — are proprietary to Woodfine and its affiliates, except for components identified as open source. No rights are granted except as expressly set out in a written license or agreement. The full trademark notice appears in the footer of every page on this site.

Open source components. Portions of the platform are made available under permissive open-source licenses identified in the accompanying repository. Use of those components is governed by their respective license terms.

No warranty; informational use. Content on this wiki is provided for general informational purposes only and does not constitute a representation, warranty, or commitment with respect to product functionality, availability, pricing, or roadmap. Some articles describe planned or intended features, capabilities, and milestones — language such as "planned," "intended," "targeted," "may," and "expected" marks this forward-looking content, which is subject to change and does not constitute a commitment regarding future performance.

Confidentiality. Where an article describes an operational or deployment detail that is not intended for public disclosure, that article is not published on this wiki. Content here is general-purpose engineering documentation, not customer-specific configuration.

Jurisdiction. Woodfine Capital Projects Inc. is organized in British Columbia, Canada. References to the Sovereign Data Foundation on this wiki describe a planned or intended initiative only, not a current equity holder or active governance body.

Changes to this notice. PointSav may update this notice from time to time; the version posted on this page governs.

Not a filing system. This wiki is not a securities filing system, an electronic disclosure repository, or a substitute for SEDAR+ or any other regulatory filing system. Formal securities filings are made through the applicable regulatory filing system, not through this wiki.

Full disclaimer. This notice supplements, and does not replace, the full Disclaimers article. In the event of any conflict, the full Disclaimers article governs.

Read the full disclaimer →