Below are freely available marine data and package repositories. No warranty is expressed or implied with regard to accuracy of data.

Inquiries can be directed to tayljordan(at)


Martcal is a Python package for calculating the distance from any point at sea to a port, accounting for land masses. [J. Taylor, M. Tokić]

Distances Between Ports

Comprehensive repository of distances between major world ports. Domestic routes are included. Source: NGA. [G. Priovolos, J. Taylor]

Vessel Owner

Vessel names and owners. Source: California State Lands Commission. This database is not updated. [A. Baldo, J. Taylor]

National Geospatial Agency's Publication 151 Dataset

The Distances Between Ports (Pub. 151) publication contains tabulated distances between departure ports, junction points, and arrival ports worldwide, converted to a JSON file. The distance values normally represent the shortest navigable routes, but in certain cases, longer routes which take advantage of currents, avoid ice or other dangers to navigation, or follow required traffic separation schemes are used.

The publication expresses a bias towards ocean voyage planning. Distances between domestic ports are not included.


Optimizes different sized liquid volumes into different sized containers. This is a brute-force solution to a bin packing problem. [J. Greco, J. Taylor]

Bulk Chemical Compatibility

Compatibility data for chemical shipment by water. The United States Coast Guard compatibility data guide and current MEPC information are married to produce a compatibility table.


This dataset maps the particulars of over three thousand commonly transported bulk chemicals by water. 99.9% of all waterborne Annex II commerce can be expressed by this dataset. Some, but not all, trade names and synonyms are included. This database is not updated.

(c) 2019