UN-LOCODE Codelist

core

Files Size Format Created Updated License Source
6 84MB csv zip 2 months ago PDDL-1.0 UNECE
The United Nations Code for Trade and Transport Locations is a code list mantained by UNECE, United Nations agency, to facilitate trade. Data Data comes from the UNECE page, released at least once a year. The files released in this package are extracted from the mdb archive to preserve UTF-8 read more
Download

Data Files

code-list  

This is a preview version. There might be more data in the original version.

Field information

Field Name Order Type (Format) Description
Change 1 string + (newly added); X (to be removed); | (changed); # (name changed); = (reference entry); ! (US location with duplicate IATA code)
Country 2 string ISO 3166 alpha-2 Country Code, defined in countryCodes.csv
Location 3 string
Name 4 string
NameWoDiacritics 5 string
Subdivision 6 string Defined in subdivisionCodes.csv
Status 7 string Defined in statusIndicators.csv
Function 8 string Defined in functionClassifiers.csv
Date 9 string (ym)
IATA 10 string IATA code if different from LOCODE
Coordinates 11 string (DDMM[N/S] DDDMM[W/E])
Remarks 12 string

country-codes  

This is a preview version. There might be more data in the original version.

Field information

Field Name Order Type (Format) Description
CountryCode 1 string
CountryName 2 string

function-classifiers  

This is a preview version. There might be more data in the original version.

Field information

Field Name Order Type (Format) Description
FunctionCode 1 string
FunctionDescription 2 string

status-indicators  

This is a preview version. There might be more data in the original version.

Field information

Field Name Order Type (Format) Description
STStatus 1 string
STDescription 2 string

subdivision-codes  

This is a preview version. There might be more data in the original version.

Field information

Field Name Order Type (Format) Description
SUCountry 1 string
SUCode 2 string
SUName 3 string

un-locode_zip  

This is a preview version. There might be more data in the original version.

Read me

The United Nations Code for Trade and Transport Locations is a code list mantained by UNECE, United Nations agency, to facilitate trade.

Data

Data comes from the UNECE page, released at least once a year. The files released in this package are extracted from the mdb archive to preserve UTF-8 encoding.

License

All data is licensed under the ODC Public Domain Dedication and Licence (PDDL).

Import into your tool

In order to use Data Package in R follow instructions below:

install.packages("devtools")
library(devtools)
install_github("hadley/readr")
install_github("ropenscilabs/jsonvalidate")
install_github("ropenscilabs/datapkg")

#Load client
library(datapkg)

#Get Data Package
datapackage <- datapkg_read("https://pkgstore.datahub.io/core/un-locode/latest")

#Package info
print(datapackage)

#Open actual data in RStudio Viewer
View(datapackage$data$"code-list")
View(datapackage$data$"country-codes")
View(datapackage$data$"function-classifiers")
View(datapackage$data$"status-indicators")
View(datapackage$data$"subdivision-codes")
View(datapackage$data$"un-locode_zip")

Tested with Python 3.5.2

To generate Pandas data frames based on JSON Table Schema descriptors we have to install jsontableschema-pandas plugin. To load resources from a data package as Pandas data frames use datapackage.push_datapackage function. Storage works as a container for Pandas data frames.

In order to work with Data Packages in Pandas you need to install our packages:

$ pip install datapackage
$ pip install jsontableschema-pandas

To get Data Package run following code:

import datapackage

data_url = "https://pkgstore.datahub.io/core/un-locode/latest/datapackage.json"

# to load Data Package into storage
storage = datapackage.push_datapackage(data_url, 'pandas')

# to see datasets in this package
storage.buckets

# you can access datasets inside storage, e.g. the first one:
storage[storage.buckets[0]]

In order to work with Data Packages in Python you need to install our packages:

$ pip install datapackage

To get Data Package into your Python environment, run following code:

import datapackage

dp = datapackage.DataPackage('https://pkgstore.datahub.io/core/un-locode/latest/datapackage.json')

# see metadata
print(dp.descriptor)

# get list of csv files
csvList = [dp.resources[x].descriptor['name'] for x in range(0,len(dp.resources))]
print(csvList) # ["resource name", ...]

# access csv file by the index starting 0
print(dp.resources[0].data)

To use this dataset in JavaScript, please, follow instructions below:

Install data.js module using npm:

  $ npm install data.js

Once the package is installed, use code snippet below:

  const {Dataset} = require('data.js')

  const path = 'https://pkgstore.datahub.io/core/un-locode/latest/datapackage.json'

  const dataset = Dataset.load(path)

  // get a data file in this dataset
  const file = dataset.resources[0]
  const data = file.stream()

In order to work with Data Packages in SQL you need to install our packages:

$ pip install datapackage
$ pip install jsontableschema-sql
$ pip install sqlalchemy

To import Data Package to your SQLite Database, run following code:

import datapackage
from sqlalchemy import create_engine

data_url = 'https://pkgstore.datahub.io/core/un-locode/latest/datapackage.json'
engine = create_engine('sqlite:///:memory:')

# to load Data Package into storage
storage = datapackage.push_datapackage(data_url, 'sql', engine=engine)

# to see datasets in this package
storage.buckets

# to execute sql command (assuming data is in "data" folder, name of resource is data and file name is data.csv)
storage._Storage__connection.execute('select * from data__data___data limit 1;').fetchall()

# description of the table columns
storage.describe('data__data___data')
Datapackage.json