{ "cells": [ { "cell_type": "markdown", "id": "b75663c0", "metadata": {}, "source": [ "## Import Libraries" ] }, { "cell_type": "code", "execution_count": 1, "id": "78bc96d3", "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "import os\n", "import requests\n", "import json\n", "from datetime import datetime" ] }, { "cell_type": "markdown", "id": "cc42da03", "metadata": {}, "source": [ "## Load API Key" ] }, { "cell_type": "code", "execution_count": 2, "id": "3300679b", "metadata": {}, "outputs": [], "source": [ "api_key = os.environ['VORTEXA_API_KEY']" ] }, { "cell_type": "markdown", "id": "ff8a45b0", "metadata": {}, "source": [ "## 1. Access Signals API via VesselSummary\n", "\n", "This endpoint provides the Vessel Summary (location represented in lat long, draught, heading etc) for a given snapshot.\n" ] }, { "cell_type": "code", "execution_count": 3, "id": "7fa7fa1d", "metadata": {}, "outputs": [], "source": [ "list_of_vessels = ['9297319', '9398072']\n", "timestamp = datetime(2024,5,20)" ] }, { "cell_type": "code", "execution_count": 7, "id": "dfacf438", "metadata": {}, "outputs": [], "source": [ "def extract_vessel_summary(list_of_vessels, timestamp):\n", " URL = \"https://api.vortexa.com/v6/signals/vessel-summary\"\n", " timestamp_iso = timestamp.isoformat()\n", " \n", " ## Make API calls\n", " PARAMS = {\n", " 'apikey':api_key,\n", " 'timestamp':timestamp_iso,\n", " 'vessel_id': list_of_vessels\n", " }\n", " r = requests.get(url = URL, params = PARAMS)\n", " data = r.json()\n", " return data" ] }, { "cell_type": "code", "execution_count": 8, "id": "8ec33099", "metadata": {}, "outputs": [], "source": [ "data = extract_vessel_summary(list_of_vessels,timestamp)" ] }, { "cell_type": "code", "execution_count": 9, "id": "47a36707", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'total': 2,\n", " 'data': [{'vessel_id': '357c920e329aaa91',\n", " 'timestamp': '2024-05-20T00:45:12.000Z',\n", " 'lat': 18.03962367,\n", " 'lon': 118.08548064,\n", " 'speed': 13,\n", " 'heading': 221,\n", " 'declared_destination': 'SG SIN',\n", " 'declared_eta': '2024-05-24T12:00:00.000Z'},\n", " {'vessel_id': 'd3e9302f6a763df8',\n", " 'timestamp': '2024-05-20T00:00:04.000Z',\n", " 'lat': 22.46878958,\n", " 'lon': 120.28884751,\n", " 'speed': 0.1,\n", " 'heading': 152.7,\n", " 'draught': 15,\n", " 'declared_destination': 'TW SHL',\n", " 'declared_eta': '2024-05-16T02:00:00.000Z'}],\n", " 'metadata': []}" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data" ] }, { "cell_type": "code", "execution_count": 10, "id": "8a07fbe6", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
| \n", " | vessel_id | \n", "timestamp | \n", "lat | \n", "lon | \n", "speed | \n", "heading | \n", "declared_destination | \n", "declared_eta | \n", "draught | \n", "
|---|---|---|---|---|---|---|---|---|---|
| 0 | \n", "357c920e329aaa91 | \n", "2024-05-20T00:45:12.000Z | \n", "18.039624 | \n", "118.085481 | \n", "13.0 | \n", "221.0 | \n", "SG SIN | \n", "2024-05-24T12:00:00.000Z | \n", "NaN | \n", "
| 1 | \n", "d3e9302f6a763df8 | \n", "2024-05-20T00:00:04.000Z | \n", "22.468790 | \n", "120.288848 | \n", "0.1 | \n", "152.7 | \n", "TW SHL | \n", "2024-05-16T02:00:00.000Z | \n", "15.0 | \n", "
| \n", " | lat | \n", "lon | \n", "vessel_id | \n", "timestamp | \n", "heading | \n", "speed | \n", "
|---|---|---|---|---|---|---|
| 0 | \n", "29.799168 | \n", "122.159708 | \n", "357c920e329aaa91 | \n", "2024-05-15T00:00:00.000Z | \n", "142.0 | \n", "0.0 | \n", "
| 1 | \n", "29.799168 | \n", "122.162795 | \n", "357c920e329aaa91 | \n", "2024-05-15T01:00:00.000Z | \n", "322.0 | \n", "0.0 | \n", "
| 2 | \n", "29.799168 | \n", "122.159749 | \n", "357c920e329aaa91 | \n", "2024-05-15T02:00:00.000Z | \n", "178.0 | \n", "0.1 | \n", "
| 3 | \n", "29.799168 | \n", "122.159769 | \n", "357c920e329aaa91 | \n", "2024-05-15T03:00:00.000Z | \n", "182.0 | \n", "0.0 | \n", "
| 4 | \n", "29.799168 | \n", "122.159729 | \n", "357c920e329aaa91 | \n", "2024-05-15T04:00:00.000Z | \n", "136.0 | \n", "0.0 | \n", "
| ... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
| 115 | \n", "18.916229 | \n", "118.947352 | \n", "357c920e329aaa91 | \n", "2024-05-19T19:00:00.000Z | \n", "222.0 | \n", "14.4 | \n", "
| 116 | \n", "18.726253 | \n", "118.755059 | \n", "357c920e329aaa91 | \n", "2024-05-19T20:00:00.000Z | \n", "223.0 | \n", "15.2 | \n", "
| 117 | \n", "18.547132 | \n", "118.581178 | \n", "357c920e329aaa91 | \n", "2024-05-19T21:00:00.000Z | \n", "221.0 | \n", "14.0 | \n", "
| 118 | \n", "18.359870 | \n", "118.400359 | \n", "357c920e329aaa91 | \n", "2024-05-19T22:00:00.000Z | \n", "223.0 | \n", "15.4 | \n", "
| 119 | \n", "18.180749 | \n", "118.224517 | \n", "357c920e329aaa91 | \n", "2024-05-19T23:00:00.000Z | \n", "223.0 | \n", "14.4 | \n", "
120 rows × 6 columns
\n", "