catalog

package module
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Jul 24, 2019 License: BSD-3-Clause Imports: 1 Imported by: 0

README

go-whosonfirst-inspector

Who's On First datastore inspector.

Install

You will need to have both Go (specifically version 1.12 or higher) and the make programs installed on your computer. Assuming you do just type:

make bin

All of this package's dependencies are bundled with the code in the vendor directory.

Usage

Please write me

Tools

wof-inspector
./bin/wof-inspector -h
Usage of ./bin/wof-inspector:
  -es value
    	The endpoint of an Elasticsearch database to inspect. Endpoints are defined as HOST + ':' + PORT + '#' + INDEX
  -fs value
    	The path of a Who's On First data directory to inspect. Paths are defined as ROOT + '#' + COMMA-SEPARATED LIST OF REPOSITORIES. If the value of list of repositories is '*' then all the repos in the 'whosonfirst-data' origanization will be used.
  -gh value
    	The name of a GitHub repos to inspect. If '*' then all the repos in the 'whosonfirst-data' organization will be used.
  -pg value
    	The DSN of a PostgreSQL endpoint to inspect.
  -s3 value
    	The name of an AWS S3 buckets to inspect.
  -t38 value
    	The endpoint of a Tile38 endpoints to inspect. Endpoints are defined as HOST + ':' + PORT + '#' + COMMA-SEPARATED LIST OF REPOSITORIES. If the value of list of repositories is '*' then all the repos in the 'whosonfirst-data' origanization will be used.
  -wof
    	Inspect records hosted on whosonfirst.mapzen.com/data.

For example:

./bin/wof-inspector -wof 101736545 | python -mjson.tool
{
    "101736545": {
        "recordset": {
            "records": [
                {
                    "body": {
                        "bbox": [
                            -73.9475518701442,
                            45.41459067767231,
                            -73.47619754286481,
                            45.70379826163911
                        ],

                            "wof:population_rank": 12,
                            "wof:repo": "whosonfirst-data",
                            "wof:scale": "1",
                            "wof:superseded_by": [],
                            "wof:supersedes": [],
                            "wof:tags": []
                        },
                        "type": "Feature"
			...more stuff here
                    },
                    "hash": "e779be13d587889322fb2702a1e9f7be",
                    "id": 101736545,
                    "source": "whosonfirst",
                    "timing": 715966842,
                    "type": "geojson",
                    "uri": "https://whosonfirst.mapzen.com/data/101/736/545/101736545.geojson"
                }
            ]
        },
        "timings": 725273569
    }
}
wof-inspectord
./bin/wof-inspectord -h
Usage of ./bin/wof-inspectord:
  -es value
    	The endpoint of an Elasticsearch database to inspect. Endpoints are defined as HOST + ':' + PORT + '#' + INDEX
  -fs value
    	The path of a Who's On First data directory to inspect. Paths are defined as ROOT + '#' + COMMA-SEPARATED LIST OF REPOSITORIES. If the value of list of repositories is '*' then all the repos in the 'whosonfirst-data' origanization will be used.
  -gh value
    	The name of a GitHub repos to inspect. If '*' then all the repos in the 'whosonfirst-data' organization will be used.
  -host string
    	The hostname to listen for requests on. (default "localhost")
  -local string
    	The path to a local directory containing HTML (and CSS/Javascript) assets that the wof-inspectord daemon should serve.
  -nextzen-api-key string
    	A valid Nextzen API key (necessary for displaying maps). (default "nextzen-xxxxxxx")
  -pg value
    	The DSN of a PostgreSQL endpoint to inspect.
  -port int
    	The port number to listen for requests on. (default 8080)
  -root string
    	The root path to host the wof-inspectord daemon on. (default "/")
  -s3 value
    	The name of an AWS S3 buckets to inspect.
  -t38 value
    	The endpoint of a Tile38 endpoints to inspect. Endpoints are defined as HOST + ':' + PORT + '#' + COMMA-SEPARATED LIST OF REPOSITORIES. If the value of list of repositories is '*' then all the repos in the 'whosonfirst-data' origanization will be used.
  -wof
    	Inspect records hosted on whosonfirst.mapzen.com/data.

For example:

./bin/wof-inspectord -s3 data.whosonfirst.org -gh 'whosonfirst-data-admin-ca' -nextzen-api-key {APIKEY}
15:54:01.191617 listening on localhost:8080

And then if you inspected ID 101736545 you'd see something like this:

Note: The UI/UX of wof-inspectord is in its very early days. Some things it doesn't do well and some things it can't do at all, yet.

And then:

Docker

Yes. For example:

$> docker build -t whosonfirst-inspector .
$> docker run -it -p 8080:8080 whosonfirst-inspector /usr/local/bin/wof-inspectord -host 0.0.0.0 -gh whosonfirst-data-admin-ca -s3 data.whosonfirst.org

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Flags

type Flags interface {
	ToIndexes() ([]Index, error)
}

type Index

type Index interface {
	GetById(int64) (Record, error)
}

type Probe

type Probe interface {
	GetById(int64) (ProbeResults, error)
}

type ProbeResults

type ProbeResults interface {
	RecordSet() RecordSet
	Timing() time.Duration
}

type Record

type Record interface {
	Id() int64
	Type() string
	Source() string
	URI() string
	Body() interface{}
	Hash() string
	Timing() time.Duration
	LastModified() int64
}

type RecordSet

type RecordSet interface {
	Records() []Record
}

Directories

Path Synopsis
cmd
go-bindata command
wof-inspector command
wof-inspectord command

Jump to

Keyboard shortcuts

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