UN-LOCODE Codelist

core

Files Size Format Created Updated License Source
6 52MB csv zip 1 day 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

If you are using R here's how to get the data you want quickly loaded:

install.packages("jsonlite")
library("jsonlite")

json_file <- "http://datahub.io/core/un-locode/datapackage.json"
json_data <- fromJSON(paste(readLines(json_file), collapse=""))

# access csv file by the index starting from 1
path_to_file = json_data$resources$path[1][1]
data <- read.csv(url(path_to_file))
print(data)

In order to work with Data Packages in Pandas you need to install the Frictionless Data data package library and the pandas extension:

pip install datapackage
pip install jsontableschema-pandas

To get the data run following code:

import datapackage

data_url = "http://datahub.io/core/un-locode/datapackage.json"

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

# data frames available (corresponding to data files in original dataset)
storage.buckets

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

For Python, first install the `datapackage` library (all the datasets on DataHub are Data Packages):

pip install datapackage

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

from datapackage import Package

package = Package('http://datahub.io/core/un-locode/datapackage.json')

# get list of resources:
resources = package.descriptor['resources']
resourceList = [resources[x]['name'] for x in range(0, len(resources))]
print(resourceList)

data = package.resources[0].read()
print(data)

If you are using JavaScript, please, follow instructions below:

Install data.js module using npm:

  $ npm install data.js

Once the package is installed, use the following code snippet:

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

const path = 'http://datahub.io/core/un-locode/datapackage.json'

// We're using self-invoking function here as we want to use async-await syntax:
(async () => {
  const dataset = await Dataset.load(path)

  // Get the first data file in this dataset
  const file = dataset.resources[0]
  // Get a raw stream
  const stream = await file.stream()
  // entire file as a buffer (be careful with large files!)
  const buffer = await file.buffer
})()

Install the datapackage library created specially for Ruby language using gem:

gem install datapackage

Now get the dataset and read the data:

require 'datapackage'

path = 'http://datahub.io/core/un-locode/datapackage.json'

package = DataPackage::Package.new(path)
# So package variable contains metadata. You can see it:
puts package

# Read data itself:
resource = package.resources[0]
data = resource.read
puts data
Datapackage.json