Title: Boat Position
Author: Niels Olsen
Published: <strong>মে’ 31, 2026</strong>
Last modified: জুলাই 19, 2026

---

প্লাগিনৰ সন্ধান কৰক

![](https://ps.w.org/boat-position/assets/banner-772x250.png?rev=3555344)

![](https://ps.w.org/boat-position/assets/icon-256x256.png?rev=3555344)

# Boat Position

 [Niels Olsen](https://profiles.wordpress.org/pcio/)-ৰ দ্বাৰা

[ডাউনল’ড কৰক](https://downloads.wordpress.org/plugin/boat-position.1.4.0.zip)

 * [বিশদ বিৱৰণ](https://as.wordpress.org/plugins/boat-position/#description)
 * [পৰ্য্যালোচনা](https://as.wordpress.org/plugins/boat-position/#reviews)
 *  [ইনষ্টলেশ্যন](https://as.wordpress.org/plugins/boat-position/#installation)
 * [বিকাশ](https://as.wordpress.org/plugins/boat-position/#developers)

 [সাহায্য](https://wordpress.org/support/plugin/boat-position/)

## বৰ্ণনা

Boat Position turns your WordPress site into a live tracking and logbook service
for your boat.

The plugin is designed around the Teltonika RUTX50 router (*), a compact Linux-based
5G router with built-in GPS.
 A shell script on the router sends a position to your
site every minute. The plugin stores each position, runs a state machine to group
positions into trips and legs, and serves three public pages:

 * **Live map** (`/boat-position/map`) — shows the current position on an OpenStreetMap/
   OpenSeaMap map with a rotating arrow icon when underway and an idle indicator
   when stopped. Visible voyage plans are drawn as dashed green routes with flag
   markers.
 * **Logbook** (`/boat-position/history`) — calendar sidebar with trip history. 
   Click any day to see the full route on the map. Logged-in editors can label harbour
   names and merge incorrectly split trips.
 * **Voyage plans** (`/boat-position/plans`) — plan future voyages as ordered lists
   of waypoints with optional ETAs. Multiple plans are supported; each plan can 
   be toggled visible/hidden on the map independently.

The plugin also adds a **boat log** built on ordinary WordPress posts: place a post
in the _Boat Log_ category, give it coordinates (or default to the boat’s latest
known position), and it appears as a marker on the live map. Your theme handles 
all writing and display, and the `[boat_log_map_link]` shortcode links a post back
to the map and animates to its location.

Over 150 Danish harbours are included as seed data so harbour names are detected
automatically from GPS coordinates.

No third-party services or API keys are required beyond your own WordPress site.
Maps are rendered using the free Leaflet.js library with OpenStreetMap and OpenSeaMap
tiles.

(*) There are other alternatives to using the RTUTX50 router, any device that has
access to a GPS and the internet can be configured as the source of position data.

E.g. a linux machine like Rasberry PI connected to either its own GPS or the boat
NMEA data.

## স্ক্ৰীনশ্বট

[⌊Live map — current boat position with directional arrow on OpenSeaMap.⌉⌊Live map—
current boat position with directional arrow on OpenSeaMap.⌉[

Live map — current boat position with directional arrow on OpenSeaMap.

[⌊Logbook — calendar sidebar, trip list, and route drawn on the map.⌉⌊Logbook — 
calendar sidebar, trip list, and route drawn on the map.⌉[

Logbook — calendar sidebar, trip list, and route drawn on the map.

## ইনষ্টলেশ্যন

 1. Upload the `boat-position` directory to `/wp-content/plugins/`.
 2. Activate the plugin in **Plugins** in the WordPress admin.
 3. Go to **Settings  Boat Position** to set a secret API key and find the router configuration
    instructions.
 4. Follow the router setup guide in **Plugins  Boat Position  About** to configure
    your router’s `sendgps.sh` script and cron job.
 5. Send a test position from a command prompt to verify the endpoint is working before
    installing on the boat.

After activation, if `/boat-position/map` returns a 404, go to **Settings  Permalinks**
and click **Save Changes** to flush the rewrite rules.

## সঘনাই উত্থাপিত প্ৰশ্ন

### How do I use this plugin?

Install and activate the plugin, then go to **Settings  Boat Position**. Set a secret
API key, then follow the router configuration guide in the About page to set up 
your router’s cron job.

### Does it only work with the RUTX50 router?

No. Any device that can send an HTTP POST request with `lat`, `lon`, `speed`, `course`,
and `gps_time` fields to the REST endpoint will work. The About page documents the
exact format.

### Where are the public pages?

The plugin registers three pages automatically — no WordPress pages or shortcodes
are needed:

 * Live map: `https://yoursite.com/boat-position/map`
 * Logbook: `https://yoursite.com/boat-position/history`
 * Voyage plans: `https://yoursite.com/boat-position/plans`

### Can I avoid storing the secret key in the database?

Yes. Define the key as a constant in `wp-config.php`:

define( ‘PCIO_BOAT_POSITION_API_KEY’, ‘your-secret-key-here’ );

When this constant is present, the database option is ignored and the settings field
is shown as read-only.

### The logbook is empty — no trips appear.

Check that the router is sending data by looking at your database’s `wp_boat_positions`
table. If rows are present but no trips appear, the trip engine may not have processed
them yet — visit the ingest endpoint directly or check the About page for the manual
trigger curl command.

## পৰ্য্যালোচনা

এই প্লাগিনৰ বাবে কোনো পৰ্য্যালোচনা নাই।

## অৱদানকাৰী আৰু বিকাশকাৰীসকল

“Boat Position” হৈছে মুক্ত উৎসৰ ছফ্টৱেৰ। এইসকল লোকে এই প্লাগিনত অৱদান আগবঢ়াইছে।

অৱদানকাৰীসকল

 *   [ Niels Olsen ](https://profiles.wordpress.org/pcio/)

[আপোনাৰ ভাষাত “Boat Position” অনুবাদ কৰক।](https://translate.wordpress.org/projects/wp-plugins/boat-position)

### বিকাশৰ প্ৰতি আগ্ৰহী?

[ক’ড ব্ৰাউজ কৰক](https://plugins.trac.wordpress.org/browser/boat-position/), [SVN ৰিপজিটৰী](https://plugins.svn.wordpress.org/boat-position/)
চাওক নাইবা [RSS](https://plugins.trac.wordpress.org/log/boat-position/?limit=100&mode=stop_on_copy&format=rss)-
দ্বাৰা [বিকাশৰ পঞ্জী](https://plugins.trac.wordpress.org/log/boat-position/) ছাবস্ক্ৰাইব
কৰক।

## সলনি-পঞ্জী

#### 1.4

 * **Local time in the logbook** — trip start and end times on the logbook page 
   are now shown in the visitor’s local browser time zone instead of UTC. Positions
   are still stored in UTC in the database and converted on display.
 * **Resilient GPS script** — the downloadable `sendgps.sh` router script now queues
   each position to disk and flushes the queue oldest-first, so positions recorded
   while the boat is offline are sent once the connection returns instead of being
   lost.

#### 1.3

 * **Live current track** — the live map now draws the boat’s ongoing trip as it
   happens (solid blue line, with red dashed segments where GPS data was missing).
 * **Route editors** — a dedicated _Manage routes_ capability replaces the generic
   editing permission. Grant it to any Author, Editor or Administrator from **Settings
   Boat Position  Route editors**. Administrators get it automatically; the capability
   is cleaned up on uninstall.
 * **Boat Log by default** — new posts now default to the _Boat Log_ category automatically(
   works in the block editor, classic editor and Divi), so journal entries land 
   on the map without changing the category by hand.
 * **Mobile logbook** — on phones the logbook view stacks into a compact bottom 
   panel: the calendar and legend are hidden, the trip list is condensed, and the
   selected route’s details sit beside it. The desktop layout is unchanged.

#### 1.2

 * **Boat log** — write voyage journal entries as ordinary WordPress posts (so your
   theme / Divi handles all writing and display).
    - Posts placed in the **Boat Log** category appear as markers on the live map.
    - Location meta box in the post editor with a mini map: set coordinates manually
      or click **Use current boat position**.
    - Boat-log posts with no location default automatically to the boat’s latest
      known position on save.
    - New `[boat_log_map_link]` shortcode links a post back to the live map and 
      animates to its location.
    - Public REST feed `GET /wp-json/boat-position/v1/blog-posts` exposes the boat-
      log markers.
    - **Blog** toggle on the live map to show or hide boat-log markers.
    - The _Boat Log_ category is created automatically on activation.

#### 1.1

 * **Voyage plans** (`/boat-position/plans`) — new page for planning future voyages.
    - Create and manage multiple named plans, each with an optional description.
    - Add waypoints with names, coordinates and optional ETAs (expected arrival 
      dates).
    - Drag-and-drop to reorder waypoints; inline editing of name and ETA per row.
    - Rebase tool: shift all ETAs from a chosen waypoint onwards by a number of 
      days.
    - Delete individual waypoints or entire plans.
    - Editable plan title and notes directly from the waypoint view.
    - Eye icon toggle per plan: **visible** (blue) or **hidden** (grey).
       Logged-
      in users save their choice to the database; anonymous visitors store it in
      browser localStorage.
    - All visible plans are drawn on the live map as dashed green routes with flag
      markers.
    - Clicking empty water on the map allows editors to add a waypoint directly 
      to the active plan.
    - Quick-pick datalist when adding waypoints: suggests all known harbours and
      existing plan waypoints.
 * Harbour management on the live map: all known harbours are shown as markers. 
   Logged-in editors can click any harbour to rename or delete it, and can click
   empty water to add a new harbour at that location.

#### 1.0

 * Initial release with tracking and history logbook.

## মেটা

 *  **1.4.0** সংস্কৰণ
 *  **5 দিন আগত** শেষবাৰ আপডে’ট হৈছিল
 *  সক্ৰিয় ইনষ্টলেশ্যন **10টাতকৈ কম**
 *  WordPress-ৰ সংস্কৰণ ** 6.2 বা তাতকৈ ওপৰৰ **
 *  ইমানলৈকে পৰীক্ষা কৰা হৈছে **7.0.2**
 *  PHP-ৰ সংস্কৰণ ** 8.1 বা তাতকৈ ওপৰৰ **
 *  ভাষা
 * [English (US)](https://wordpress.org/plugins/boat-position/)
 * [Boat](https://as.wordpress.org/plugins/tags/boat/)[gps](https://as.wordpress.org/plugins/tags/gps/)
   [logbook](https://as.wordpress.org/plugins/tags/logbook/)[map](https://as.wordpress.org/plugins/tags/map/)
   [tracking](https://as.wordpress.org/plugins/tags/tracking/)
 *  টেগবোৰ
 *  [উচ্চখাপৰ ভিউ](https://as.wordpress.org/plugins/boat-position/advanced/)

## ৰে’টিংবোৰ

এতিয়ালৈ কোনো পৰ্য্যালোচনা দাখিল কৰা হোৱা নাই।

[Your review](https://wordpress.org/support/plugin/boat-position/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/boat-position/reviews/)

## অৱদানকাৰীসকল

 *   [ Niels Olsen ](https://profiles.wordpress.org/pcio/)

## সাহায্য

কিবা ক’বলগীয়া আছে? সহায় লাগে?

 [সাহায্যৰ ফ’ৰাম চাওক](https://wordpress.org/support/plugin/boat-position/)

## দান কৰক

আপুনি এই প্লাগিনৰ উন্নতিৰ প্ৰতি সাহায্য আগবঢ়াব বিচাৰেনে?

 [ এই প্লাগিনক অনুদান দিয়ক ](https://www.paypal.com/donate/?hosted_button_id=DFM2JV8JKTTM6)