builders

package
v1.3.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 10, 2026 License: GPL-3.0 Imports: 19 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var DefaultGeohashPrecisions = []uint{tlxy.GeohashBboxFilterPrecision, 5}

DefaultGeohashPrecisions are the geohash precisions computed for each feed version. p3 (tlxy.GeohashBboxFilterPrecision, ~156×156 km) backs the bbox discovery filter and must stay in this set — both sides reference the shared constant. p5 (~4.9×4.9 km, square) is the finer per-FV fingerprint precision for the FV-vs-FV comparison use case.

Functions

func DefaultImportBuilders added in v1.3.4

func DefaultImportBuilders() []any

DefaultImportBuilders returns a fresh set of the derived-entity builders the importer runs (route geometries, route stops, route headways, agency convex hulls, agency places). Each call returns new instances since builders accumulate state. The validator can run the same set against an empty writer to exercise them without a database import.

Types

type AgencyGeometry

type AgencyGeometry struct {
	AgencyID tt.Key
	Geometry tt.Polygon
	tt.MinEntity
	tt.FeedVersionEntity
}

func (*AgencyGeometry) Filename

func (ent *AgencyGeometry) Filename() string

func (*AgencyGeometry) TableName

func (ent *AgencyGeometry) TableName() string

type AgencyOnestopID

type AgencyOnestopID struct {
	AgencyID  string
	OnestopID string
	tt.MinEntity
	tt.FeedVersionEntity
}

func (*AgencyOnestopID) Filename

func (ent *AgencyOnestopID) Filename() string

func (*AgencyOnestopID) TableName

func (ent *AgencyOnestopID) TableName() string

type AgencyPlace

type AgencyPlace struct {
	AgencyID string
	Name     tt.String
	Adm1name tt.String
	Adm0name tt.String
	Count    int
	Rank     float64
	tt.MinEntity
	tt.FeedVersionEntity
}

func (*AgencyPlace) Filename

func (rs *AgencyPlace) Filename() string

func (*AgencyPlace) TableName

func (rs *AgencyPlace) TableName() string

type AgencyPlaceBuilder

type AgencyPlaceBuilder struct {
	// contains filtered or unexported fields
}

func NewAgencyPlaceBuilder

func NewAgencyPlaceBuilder() *AgencyPlaceBuilder

func (*AgencyPlaceBuilder) AfterWrite

func (pp *AgencyPlaceBuilder) AfterWrite(eid string, ent tt.Entity, emap *tt.EntityMap) error

func (*AgencyPlaceBuilder) Copy

func (pp *AgencyPlaceBuilder) Copy(copier adapters.EntityCopier) error

type ConvexHullBuilder

type ConvexHullBuilder struct {
	// contains filtered or unexported fields
}

func NewConvexHullBuilder

func NewConvexHullBuilder() *ConvexHullBuilder

func (*ConvexHullBuilder) AfterWrite

func (pp *ConvexHullBuilder) AfterWrite(eid string, ent tt.Entity, emap *tt.EntityMap) error

AfterWrite keeps track of which routes/agencies visit which stops

func (*ConvexHullBuilder) Copy

func (pp *ConvexHullBuilder) Copy(copier adapters.EntityCopier) error

type FeedVersionGeohash added in v1.3.4

type FeedVersionGeohash struct {
	Geohash   tt.String
	StopCount int
	tt.MinEntity
	tt.FeedVersionEntity
}

func (*FeedVersionGeohash) Filename added in v1.3.4

func (ent *FeedVersionGeohash) Filename() string

func (*FeedVersionGeohash) TableName added in v1.3.4

func (ent *FeedVersionGeohash) TableName() string

type FeedVersionGeohashBuilder added in v1.3.4

type FeedVersionGeohashBuilder struct {
	// contains filtered or unexported fields
}

FeedVersionGeohashBuilder accumulates stop locations and GTFS-Flex location polygons during the copier pass and computes a per-(precision, geohash) stop-count map in Copy(). Designed to be registered with the stats copier (fetch / rebuild-stats path); callers read the result via Cells().

Each cell carries a stop_count: positive when the cell contains one or more stops, zero when the cell is reached only via a flex location polygon's bounding box. Zero-count cells preserve flex feed visibility in feed/feed_version spatial queries without inflating density metrics. Stops with no coordinate at all are skipped, but explicit out-of-range and (0,0) coordinate values are kept, so the cells can also surface bad-coordinate stops.

func NewFeedVersionGeohashBuilder added in v1.3.4

func NewFeedVersionGeohashBuilder() *FeedVersionGeohashBuilder

func (*FeedVersionGeohashBuilder) AfterWrite added in v1.3.4

func (pp *FeedVersionGeohashBuilder) AfterWrite(eid string, ent tt.Entity, emap *tt.EntityMap) error

func (*FeedVersionGeohashBuilder) Cells added in v1.3.4

func (pp *FeedVersionGeohashBuilder) Cells() map[string]int

Cells returns the accumulated geohash→stop_count map after Copy() has run.

func (*FeedVersionGeohashBuilder) Copy added in v1.3.4

type FeedVersionGeometry

type FeedVersionGeometry struct {
	Geometry tt.Polygon
	tt.MinEntity
	tt.FeedVersionEntity
}

func (*FeedVersionGeometry) Filename

func (ent *FeedVersionGeometry) Filename() string

func (*FeedVersionGeometry) TableName

func (ent *FeedVersionGeometry) TableName() string

type OnestopIDBuilder

type OnestopIDBuilder struct {
	// contains filtered or unexported fields
}

func NewOnestopIDBuilder

func NewOnestopIDBuilder() *OnestopIDBuilder

func (*OnestopIDBuilder) AfterWrite

func (pp *OnestopIDBuilder) AfterWrite(eid string, ent tt.Entity, emap *tt.EntityMap) error

func (*OnestopIDBuilder) AgencyOnestopIDs added in v0.18.0

func (pp *OnestopIDBuilder) AgencyOnestopIDs() []AgencyOnestopID

func (*OnestopIDBuilder) Copy

func (pp *OnestopIDBuilder) Copy(copier adapters.EntityCopier) error

func (*OnestopIDBuilder) RouteOnestopIDs added in v0.18.0

func (pp *OnestopIDBuilder) RouteOnestopIDs() []RouteOnestopID

func (*OnestopIDBuilder) StopOnestopIDs added in v0.18.0

func (pp *OnestopIDBuilder) StopOnestopIDs() []StopOnestopID

type RouteGeometry

type RouteGeometry struct {
	RouteID               string
	Generated             bool
	Geometry              tt.LineString
	CombinedGeometry      tt.Geometry
	Length                tt.Float
	MaxSegmentLength      tt.Float
	FirstPointMaxDistance tt.Float
	tt.MinEntity
	tt.FeedVersionEntity
}

func (*RouteGeometry) Filename

func (ent *RouteGeometry) Filename() string

func (*RouteGeometry) TableName

func (ent *RouteGeometry) TableName() string

type RouteGeometryBuilder

type RouteGeometryBuilder struct {
	// contains filtered or unexported fields
}

RouteGeometryBuilder creates default shapes for routes.

func NewRouteGeometryBuilder

func NewRouteGeometryBuilder() *RouteGeometryBuilder

NewRouteGeometryBuilder returns a new RouteGeometryBuilder.

func (*RouteGeometryBuilder) AfterWrite

func (pp *RouteGeometryBuilder) AfterWrite(eid string, ent tt.Entity, emap *tt.EntityMap) error

Counts the number of times a shape is used for each route,direction_id

func (*RouteGeometryBuilder) Copy

Collects and assembles the default shapes and writes them, streaming one route at a time so the full set is never held in memory.

func (*RouteGeometryBuilder) RouteGeometries added in v1.3.4

func (pp *RouteGeometryBuilder) RouteGeometries() map[string]*RouteGeometry

RouteGeometries assembles every route's geometry into a map keyed by route_id, for callers that need random access (e.g. a validation report). Copy streams instead; prefer that when you only need to write them, since this holds the whole set.

func (*RouteGeometryBuilder) SetGeomCache added in v1.3.4

func (pp *RouteGeometryBuilder) SetGeomCache(g tlxy.GeomCache)

SetGeomCache receives the copier's shared geometry cache. Route geometries are assembled from the shape points it already holds (keyed by source shape_id), so the builder keeps only per-shape scalar stats and not a second copy of the points.

type RouteHeadway

type RouteHeadway struct {
	RouteID        string
	SelectedStopID string
	DirectionID    tt.Int
	HeadwaySecs    tt.Int
	DowCategory    tt.Int
	ServiceDate    tt.Date
	StopTripCount  tt.Int
	Departures     tt.Ints
	tt.MinEntity
	tt.FeedVersionEntity
}

func (*RouteHeadway) Filename

func (ent *RouteHeadway) Filename() string

func (*RouteHeadway) TableName

func (ent *RouteHeadway) TableName() string

type RouteHeadwayBuilder

type RouteHeadwayBuilder struct {
	// contains filtered or unexported fields
}

func NewRouteHeadwayBuilder

func NewRouteHeadwayBuilder() *RouteHeadwayBuilder

func (*RouteHeadwayBuilder) AfterWrite

func (pp *RouteHeadwayBuilder) AfterWrite(eid string, ent tt.Entity, emap *tt.EntityMap) error

func (*RouteHeadwayBuilder) Copy

type RouteOnestopID

type RouteOnestopID struct {
	RouteID   string
	OnestopID string
	tt.MinEntity
	tt.FeedVersionEntity
}

func (*RouteOnestopID) Filename

func (ent *RouteOnestopID) Filename() string

func (*RouteOnestopID) TableName

func (ent *RouteOnestopID) TableName() string

type RouteStop

type RouteStop struct {
	RouteID  string
	AgencyID string
	StopID   string
	tt.MinEntity
	tt.FeedVersionEntity
}

func (*RouteStop) Filename

func (rs *RouteStop) Filename() string

func (*RouteStop) TableName

func (rs *RouteStop) TableName() string

type RouteStopBuilder

type RouteStopBuilder struct {
	// contains filtered or unexported fields
}

func NewRouteStopBuilder

func NewRouteStopBuilder() *RouteStopBuilder

func (*RouteStopBuilder) AfterWrite

func (pp *RouteStopBuilder) AfterWrite(eid string, ent tt.Entity, emap *tt.EntityMap) error

func (*RouteStopBuilder) Copy

func (pp *RouteStopBuilder) Copy(copier adapters.EntityCopier) error

type StopOnestopID

type StopOnestopID struct {
	StopID    string
	OnestopID string
	tt.MinEntity
	tt.FeedVersionEntity
}

func (*StopOnestopID) Filename

func (ent *StopOnestopID) Filename() string

func (*StopOnestopID) TableName

func (ent *StopOnestopID) TableName() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL