gogtfs

package module
v0.1.2 Latest Latest
Warning

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

Go to latest
Published: May 15, 2023 License: Apache-2.0 Imports: 5 Imported by: 0

README

gogtfs

Simple Go package for all GTFS data tables/models

Currently, there is no validation for models, only some fields are tested for valid ranges.

Example
data := `stop_id,level_id,stop_name,stop_lat,stop_lon,location_type,parent_station
F12,,5 Av/53 St,40.760167,-73.975224,1,
E1,L0,5 Av/53 St SW,40.760474,-73.976099,2,F12
N1,L1,,40.760457,-73.975912,3,F12
N4,L1,,40.759679,-73.974064,3,F12
F12S,,5 Av/53 St,40.760167,-73.975224,0,F12`

dataReader := strings.NewReader(data)
dataReadCloser := io.NopCloser(dataReader)
reader, err := gogtfs.NewReader[model.Stop](dataReadCloser)
if err != nil {
	log.Fatal(err)
}
defer reader.Close()

for {
	stop, err := reader.Next()
	if err == io.EOF {
		break
	} else if err != nil {
		log.Printf("error: %v\n", err)
		continue
	}

	fmt.Printf("%+v\n", stop)
}

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Reader

type Reader[T model.Modelable] struct {
	// contains filtered or unexported fields
}

func NewReader

func NewReader[T model.Modelable](ioReader io.ReadCloser) (*Reader[T], error)

func NewReaderFromFolder

func NewReaderFromFolder[T model.Modelable](folder string) (*Reader[T], error)

func (*Reader[T]) Close

func (r *Reader[T]) Close() error

func (*Reader[T]) Next

func (r *Reader[T]) Next() (*T, error)

Directories

Path Synopsis
Done
Done

Jump to

Keyboard shortcuts

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