🚀 Socket Launch Week Day 5:Introducing Repository Access Permissions and Custom Roles.Learn more
Sign In

japan-train-data

Package Overview
Dependencies
Maintainers
1
Versions
11
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

japan-train-data

A circular object of train data for Japan including translations & station geocoding

latest
npmnpm
Version
0.6.0
Version published
Weekly downloads
0
Maintainers
1
Weekly downloads
 
Created
Source

🚉 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

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

Todo

  • npm package
  • unit tests
  • ci integrations

Keywords

japan

FAQs

Package last updated on 08 May 2017

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts