whosonfirst / go-whosonfirst-spatial-hierarchy

Opionated Who's On First (WOF) hierarchy for `go-whosonfirst-spatial` packages.
BSD 3-Clause "New" or "Revised" License
0 stars 0 forks source link

go-whosonfirst-spatial-hierarchy

Opionated Who's On First (WOF) hierarchy for go-whosonfirst-spatial packages.

Deprecation notice (April 2024)

This package has been deprecated. The code it exposes is being moved in the whosonfirst/go-whosonfirst-spatial package, specifically the hierarchy branch. Once that code has been merged in to the main branch this package will be archived.

Documentation

Go Reference

Documentation is incomplete.

Example

import (
    _ "github.com/whosonfirst/go-whosonfirst-spatial-sqlite"
)

import (
    "github.com/whosonfirst/go-whosonfirst-spatial-hierarchy"
    hierarchy_filter "github.com/whosonfirst/go-whosonfirst-spatial-hierarchy/filter"       
    "github.com/whosonfirst/go-whosonfirst-spatial/database"
    spatial_filter "github.com/whosonfirst/go-whosonfirst-spatial/filter"
)

body := []byte(`{"type":"Feature" ...}`)

spatial_db, _ := database.NewSpatialDatabase(ctx, "sqlite://?dsn=/usr/local/data/whosonfirst.db")

resolver_opts := &hierarchy.PointInPolygonHierarchyResolverOptions{
    Database: spatial_db,
}

resolver, _ := hierarchy.NewPointInPolygonHierarchyResolver(ctx, resolver_opts)

inputs := &spatial_filter.SPRInputs{}

results_cb := hierarchy_filter.FirstButForgivingSPRResultsFunc
update_cb := hierarchy.DefaultPointInPolygonHierarchyResolverUpdateCallback()

new_body, _ := resolver.PointInPolygonAndUpdate(ctx, inputs, results_cb, update_cb, body)

See also