Giter Site home page Giter Site logo

manimaul / njord Goto Github PK

View Code? Open in Web Editor NEW
15.0 2.0 2.0 53.02 MB

Open Source Electronic Navigation Chart Server

Home Page: https://openenc.com

License: Apache License 2.0

Kotlin 75.96% Shell 0.74% HTML 0.80% PLpgSQL 1.23% Dockerfile 0.49% Python 3.11% CSS 0.32% TypeScript 17.35%

njord's Introduction

Njord

License

Status: This project is still very much a WORK IN PROGRESS.

Live Demo: https://openenc.com

Njord Screenshot

Marine Electronic Navigational Chart (ENC) Server

Njord consumes S-57 IHO transfer standard for digital hydrographic data. S-57 format chart data is published by hydrographic offices such as NOAA. https://www.charts.noaa.gov/ENCs/ENCs.shtml

Njord displays ENC charts but does NOT strictly follow the IHO S-52 specifications for chart content and display.

S-52 display and S-57 data standards can be found here: https://iho.int/en/standards-and-specifications


Development System Requirements

  • OpenJDK 17
  • Gdal 3.6.2 with Java bindings
    • Note: Homebrew Gdal does not come with Java bindings and the osgeo tap is broken. See docs/gdal/README.md for building gdal from source with java via brew.
  • PostGIS 13

Local Development Quick Start

Bring up database

cd chart_server_db
docker-compose up

Bring up api

./gradlew :chart_server:run

Brin up front end with hot-reload

cd chart_server_fe
npm start

Docs

System Design Notes

njord's People

Contributors

echohye avatar manimaul avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

tkurki echohye

njord's Issues

Is this Zoom calculation incorrect?

image
For example, at level 10, the upper part is not displayed, but it is displayed at level 11. They should be displayed simultaneously. Is this a problem with incorrect level calculation?

image

image

s57 update files

Hello, does this project support updating s57 update files, such as. 001 . 002, etc. If not, will this function be added in the future

Chart Symbol - Base Set

Create rendering rules for the following base set of features.

  • bridge
  • cable overhead
  • canal
  • coastline
  • conveyor
  • dam
  • deep water route centerline
  • depth area
  • dock area
  • floating dock
  • gate
  • hulk
  • ice area
  • land area
  • lock basin
  • log pond
  • mooring/warping facility
  • obstruction
  • offshore platform
  • oil barrier
  • pontoon
  • pylon/bridge support
  • shoreline construction
  • cartographic area
  • notice mark
  • harbour basin
  • lock basin part
  • exceptional navigation structure

Chart Symbols - Standard Set

Create rendering rules for the following standard set of features (the "base set" should be complete before this).

  • airport / airfield
  • anchor berth
  • anchor
  • anchorage area
  • beacon cardinal
  • beacon isolated danger
  • beacon lateral
  • beacon safe water
  • beacon special purpose/general
  • building single
  • building religious
  • built-up area
  • buoy cardinal
  • buoy installation
  • buoy isolated danger
  • buoy lateral
  • buoy safe water
  • buoy special purpose/general
  • cable area
  • cable submarine
  • cargo transshipment area
  • causeway
  • caution area
  • chain/wire
  • crane
  • daymark
  • deep water route part
  • dredge area
  • dumping ground
  • dyke
  • fairway
  • fence/wall
  • ferry route
  • fishing ground
  • fog signal
  • fortified structure
  • gate
  • hulk
  • incineration area
  • inshore traffic zone
  • lake shore
  • land region
  • landmark
  • light
  • light extinguished
  • light float
  • light vessel
  • marine farm/culture
  • military practice area
  • monument
  • navigation line
  • offshore production area
  • pile
  • pilot boarding place
  • pipeline area
  • precaustion area
  • production / storage area
  • radar line
  • radar range
  • radar reflector
  • radar transpoder beacon
  • radio calling-in point
  • recommended route centerline
  • recommended track
  • recommended traffic lane part
  • restricted area
  • retro-reflector
  • river
  • runway
  • sand waves
  • sea area / named water area
  • sea-plane landing area
  • signal station traffic
  • signal station arning
  • silo / tank
  • slopeing ground
  • submarine transit lane
  • swept area
  • text
  • topmark
  • tower
  • traffic separation line
  • traffic separation scheme boundary
  • traffic separation scheme crossing
  • traffic separation lane part
  • traffic separation roundabout
  • traffic separation separation zone
  • tunnel
  • two-way route part
  • unsurveyed area
  • zero meter contour
  • new object
  • navigational system of marks
  • cartographic symbol
  • text
  • bunker station
  • beacon water-way
  • buoy water-way
  • refuse dump
  • terminal
  • turning basin
  • waterway guage
  • vehicle transfer
  • annotation
  • general boundary
  • traffic line
  • general navaid

Chart Object Query

Add ability to query chart objects under the cursor and list them in a dialog.

Kotlin SPA / FE Tooling

Setup a front end module using KotlinJS & React that builds SPA (single page application) artifacts.

FERYRT - linestring bug

Find out if LineString is present in Chart 18448 and investigate why it is being excluded.
Screenshot from 2023-09-16 12-03-05
Chart 18453, Chart 18448

Simplify symbols

We want a greatly simplified chart symbol set useful for recreational use. Create a minimal set of SVG based chart symbols and script to compile sprite sheet and sprite json.

Our current sprites
https://s57dev.mxmariner.com/v1/app/control/sprites

Use NOAA chart 1 (symbols) to distill symbols down to a much smaller set.
https://nauticalcharts.noaa.gov/publications/docs/us-chart-1/ChartNo1.pdf

Fall back to S52 when necessary:
https://github.com/manimaul/njord/blob/master/docs/s52-standard-ed6.1.1.pdf

Web Content Root

Serve /v1/content from filesystem rather than class path resources. This will make iterative web development faster by removing a compilation requirement.

Why does the map offset when zooming out?

Hello, thank you very much for this project. However, I've got the problem in the picture. As shown in the picture, why does the map offset when I zoom in and out. Do you have any solution ? Thanks in advance.
image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.