0.6.0 • Published 7 years ago

japan-train-data v0.6.0

Weekly downloads
1
License
MIT
Repository
github
Last release
7 years ago

🚉 japan-train-data

Choo choo.

A circular object of train data for Japan including translations & station geocoding and a tool to generate it. Access train data by prefecture, by lines, or by stations.

Install

yarn add japan-train-data

Usage

import { prefectures, lines, stations } from 'japan-train-data'

console.log(prefectures.find(({ id }) => id === 13))

/*
{
  id: 13,
  name: { ja: '東京都', en: 'Tokyo' },
  lines: [
    {
      id: 11301,
      name: [Object],
      lat: 35.39507962341528,
      lng: 139.4302441326313,
      zoom: 10,
      stations: [Object],
      prefecture: [Circular],
    },
    ...
  ],
}
*/

console.log(lines.find(({ id }) => id === 11302))

/*
{
  id: 11302,
  name: {
    ja: 'JR山手線',
    en: 'JR Yamanote Line',
  },
  lat: 35.69302730762992,
  lng: 139.73522275686264,
  zoom: 12,
  stations: [
    {
      id: 1130201,
      name: [Object],
      location: [Object],
      lines: [Object],
      prefecture: [Object],
    },
    {
      id: 1130202,
      name: [Object],
      location: [Object],
      lines: [Object],
      prefecture: [Object],
    },
    ...
  ],
  prefecture: {
    id: 13,
    name: { ja: '東京都', en: 'Tokyo' },
    lines: [[Object], [Circular], [Object]],
  },
}
*/

console.log(stations.find(({ prefecture: { id } }) => id === 13))

/*
{
  id: 1130101,
  name: { ja: '東京', en: 'Tokyo' },
  location: {
    lat: 35.681391,
    lng: 139.766103,
    countryCode: { en: 'JP', ja: 'JP' },
    postalCode: {
      en: '100-0005',
      ja: '100-0005',
    },
    administrativeArea1: {
      en: 'Tōkyō-to',
      ja: '東京都',
    },
    locality1: {
      en: 'Chiyoda-ku',
      ja: '千代田区',
    },
    sublocality1: {
      en: 'Marunouchi',
      ja: '丸の内',
    },
    sublocality2: {
      en: '1 Chome',
      ja: '1丁目',
    },
    sublocality3: { en: '9', ja: '9' },
    sublocality4: { en: '1', ja: '1' },
  },
  lines: [
    { id: 11301, name: [Object] },
    { id: 11302, name: [Object] },
    { id: 11308, name: [Object] },
    ...
  ],
  prefecture: {
    id: 13,
    name: { ja: '東京都', en: 'Tokyo' },
    lines: [[Object], [Object], [Object]],
  },
}
*/

Just gimme the data

Sure. data/raw-data.json.

Generating the data

First clone the project:

git clone https://github.com/adieuadieu/japan-train-data.git

Set up your environment with Google Cloud keys. To generate the data you need API access to Google's Translation and Geocoding APIs.

echo GCP_PROJECT=your-gcp-project-id-here >> .env
GCP_API_KEY=your-google-maps-api-key-here >> .env
GCP_KEYFILE=./gcp-keyfile.json >> .env

Then to start generating data:

yarn generate

Known Issues

  1. Some of the translations are clearly crap.
  2. In many cases, transliteration would be better than translation, but there's no API? Suggestions?

Todo

  • npm package
  • unit tests
  • ci integrations
0.6.0

7 years ago

0.5.1

7 years ago

0.5.0

7 years ago

0.0.1-alpha.8

7 years ago

0.0.1-alpha.7

7 years ago

0.0.1-alpha.6

7 years ago

0.0.1-alpha.4

7 years ago

0.0.1-alpha.3

7 years ago

0.0.1-alpha.2

7 years ago

0.0.1-alpha.1

7 years ago

0.0.1

7 years ago