├── .gitignore
├── .project
├── .settings
└── org.eclipse.core.resources.prefs
├── Dockerfile
├── LICENSE
├── LICENSE_EXCEPTIONS
├── README
├── TEXT_RANGES
├── build.xml
├── docker-compose.yml
├── src
├── css
│ ├── bootstrap-formhelpers.css
│ ├── bootstrap-formhelpers.min.css
│ └── oseam.css
├── favicon.ico
├── images
│ ├── ContentDetection.png
│ ├── CreateDatabase.png
│ ├── CreateDatabaseOSMAPI.png
│ ├── CreateExtension.png
│ ├── HardwareLogger.jpg
│ ├── MeasurementsClassDiagram.png
│ ├── NewUser.png
│ ├── Overview-de.jpg
│ ├── Overview-en.jpg
│ ├── PositionClassDiagram.png
│ ├── Scale.png
│ ├── application_sl2.svg
│ ├── application_x-actisense.png
│ ├── application_x-actisense.svg
│ ├── application_x-flashfile.png
│ ├── application_x-flashfile.svg
│ ├── application_x-gpx.png
│ ├── application_x-gpx.svg
│ ├── application_x-humminbird.png
│ ├── application_x-humminbird.svg
│ ├── application_x-nmea0183.png
│ ├── application_x-nmea0183.svg
│ ├── application_x-nmea2000.png
│ ├── application_x-nmea2000.svg
│ ├── application_x-sharp.png
│ ├── application_x-sharp.svg
│ ├── bootstrap-formhelpers-countries.flags-LICENSE.txt
│ ├── bootstrap-formhelpers-countries.flags.png
│ ├── bootstrap-formhelpers-currencies.flags.png
│ ├── bootstrap-formhelpers-googlefonts.png
│ ├── help.png
│ ├── openseamap-logo-32.png
│ ├── tidal_scale_24.png
│ ├── tracks_low.jpg
│ ├── undefined.png
│ ├── undefined.svg
│ ├── vessel.png
│ └── vessels_low.jpg
├── index.html
├── js
│ ├── init.js
│ ├── oseam-models-auth.js
│ ├── oseam-models-frontend.js
│ ├── oseam-models-gauge.js
│ ├── oseam-models-gaugemeasurement.js
│ ├── oseam-models-gaugemeasurements.js
│ ├── oseam-models-gauges.js
│ ├── oseam-models-license.js
│ ├── oseam-models-licenses.js
│ ├── oseam-models-offset.js
│ ├── oseam-models-stats.js
│ ├── oseam-models-track.js
│ ├── oseam-models-tracks.js
│ ├── oseam-models-user.js
│ ├── oseam-models-vessel.js
│ ├── oseam-models-vessels.js
│ ├── oseam-routers-router.js
│ ├── oseam-utils-validation.js
│ ├── oseam-views-about.js
│ ├── oseam-views-attributions.js
│ ├── oseam-views-contact.js
│ ├── oseam-views-contribute.js
│ ├── oseam-views-depthsensorpage.js
│ ├── oseam-views-documentation.js
│ ├── oseam-views-gauge.js
│ ├── oseam-views-gaugedialog.js
│ ├── oseam-views-gaugemeasurement.js
│ ├── oseam-views-gauges.js
│ ├── oseam-views-goodby.js
│ ├── oseam-views-gpspage.js
│ ├── oseam-views-home.js
│ ├── oseam-views-instructions.js
│ ├── oseam-views-introduction.js
│ ├── oseam-views-license.js
│ ├── oseam-views-login.js
│ ├── oseam-views-logindlg.js
│ ├── oseam-views-maptracks.js
│ ├── oseam-views-meta1.js
│ ├── oseam-views-meta2.js
│ ├── oseam-views-meta3.js
│ ├── oseam-views-meta4.js
│ ├── oseam-views-navbar.js
│ ├── oseam-views-register.js
│ ├── oseam-views-resetPassword.js
│ ├── oseam-views-selection.js
│ ├── oseam-views-selectionitem.js
│ ├── oseam-views-sensorpositions.js
│ ├── oseam-views-singltrack.js
│ ├── oseam-views-toolbar.js
│ ├── oseam-views-track.js
│ ├── oseam-views-tracks.js
│ ├── oseam-views-user-alt.js
│ ├── oseam-views-user.js
│ ├── oseam-views-vessel.js
│ ├── oseam-views-vesselitem.js
│ ├── oseam-views-vesselpage.js
│ ├── oseam-views-vessels.js
│ ├── oseam-views-welcome.js
│ ├── oseam-views-wizard.js
│ ├── oseam.js
│ ├── templates
│ │ ├── Disabledcontribute-de.handlebars
│ │ ├── about-de.handlebars
│ │ ├── about-en.handlebars
│ │ ├── alert-info.handlebars
│ │ ├── alert-success.handlebars
│ │ ├── alert.handlebars
│ │ ├── attributions-de.handlebars
│ │ ├── attributions-en.handlebars
│ │ ├── attributions.handlebars
│ │ ├── contact-de.handlebars
│ │ ├── contact-en.handlebars
│ │ ├── contribute-de.handlebars
│ │ ├── contribute-en.handlebars
│ │ ├── depthsensoroffset-de.handlebars
│ │ ├── depthsensoroffset-en.handlebars
│ │ ├── documentation-de.handlebars
│ │ ├── documentation-en.handlebars
│ │ ├── gauge.handlebars
│ │ ├── gaugedialog-en.handlebars
│ │ ├── gaugemeasurement.handlebars
│ │ ├── gauges-de.handlebars
│ │ ├── gauges-en.handlebars
│ │ ├── goodby-de.handlebars
│ │ ├── goodby-en.handlebars
│ │ ├── gpsoffset-de.handlebars
│ │ ├── gpsoffset-en.handlebars
│ │ ├── home-de.handlebars
│ │ ├── home-en.handlebars
│ │ ├── instructions-de.handlebars
│ │ ├── instructions-en.handlebars
│ │ ├── introduction-de.handlebars
│ │ ├── introduction-en.handlebars
│ │ ├── license-de.handlebars
│ │ ├── license-en.handlebars
│ │ ├── login-de.handlebars
│ │ ├── login-en.handlebars
│ │ ├── maptracks.handlebars
│ │ ├── meta1-de.handlebars
│ │ ├── meta1-en.handlebars
│ │ ├── navbar.handlebars
│ │ ├── page.handlebars
│ │ ├── register-de.handlebars
│ │ ├── register-en.handlebars
│ │ ├── register.handlebars
│ │ ├── reset-password.handlebars
│ │ ├── toolbar.handlebars
│ │ ├── track.handlebars
│ │ ├── tracks-de.handlebars
│ │ ├── tracks-en.handlebars
│ │ ├── user-de-alt.handlebars
│ │ ├── user-de.handlebars
│ │ ├── user-en.handlebars
│ │ ├── vessel-de.handlebars
│ │ ├── vessel-en.handlebars
│ │ ├── vesselgeneric-de.handlebars
│ │ ├── vesselgeneric-en.handlebars
│ │ ├── vesselitem.handlebars
│ │ ├── vessels-de.handlebars
│ │ ├── vessels-en.handlebars
│ │ ├── welcome-de.handlebars
│ │ ├── welcome-en.handlebars
│ │ └── wizard.handlebars
│ ├── templates_local.js
│ └── wscript
├── lib
│ ├── backbone.js
│ ├── bootstrap-formhelpers
│ │ ├── bootstrap-formhelpers.js
│ │ └── bootstrap-formhelpers.min.js
│ ├── bootstrap
│ │ ├── css
│ │ │ ├── bootstrap-responsive.css
│ │ │ ├── bootstrap-responsive.min.css
│ │ │ ├── bootstrap.css
│ │ │ └── bootstrap.min.css
│ │ ├── img
│ │ │ ├── glyphicons-halflings-white.png
│ │ │ └── glyphicons-halflings.png
│ │ └── js
│ │ │ ├── bootstrap.js
│ │ │ └── bootstrap.min.js
│ ├── handlebars-runtime.js
│ ├── handlebars.js
│ ├── jquery-sha1.js
│ ├── jquery-ui.js
│ ├── jquery.js
│ ├── openlayers
│ │ ├── OpenLayers.js
│ │ ├── img
│ │ │ ├── blank.gif
│ │ │ ├── cloud-popup-relative.png
│ │ │ ├── drag-rectangle-off.png
│ │ │ ├── drag-rectangle-on.png
│ │ │ ├── east-mini.png
│ │ │ ├── layer-switcher-maximize.png
│ │ │ ├── layer-switcher-minimize.png
│ │ │ ├── marker-blue.png
│ │ │ ├── marker-gold.png
│ │ │ ├── marker-green.png
│ │ │ ├── marker.png
│ │ │ ├── measuring-stick-off.png
│ │ │ ├── measuring-stick-on.png
│ │ │ ├── north-mini.png
│ │ │ ├── panning-hand-off.png
│ │ │ ├── panning-hand-on.png
│ │ │ ├── slider.png
│ │ │ ├── south-mini.png
│ │ │ ├── west-mini.png
│ │ │ ├── zoom-minus-mini.png
│ │ │ ├── zoom-plus-mini.png
│ │ │ ├── zoom-world-mini.png
│ │ │ └── zoombar.png
│ │ └── theme
│ │ │ └── default
│ │ │ ├── google.css
│ │ │ ├── google.tidy.css
│ │ │ ├── ie6-style.css
│ │ │ ├── ie6-style.tidy.css
│ │ │ ├── img
│ │ │ ├── add_point_off.png
│ │ │ ├── add_point_on.png
│ │ │ ├── blank.gif
│ │ │ ├── close.gif
│ │ │ ├── drag-rectangle-off.png
│ │ │ ├── drag-rectangle-on.png
│ │ │ ├── draw_line_off.png
│ │ │ ├── draw_line_on.png
│ │ │ ├── draw_point_off.png
│ │ │ ├── draw_point_on.png
│ │ │ ├── draw_polygon_off.png
│ │ │ ├── draw_polygon_on.png
│ │ │ ├── editing_tool_bar.png
│ │ │ ├── move_feature_off.png
│ │ │ ├── move_feature_on.png
│ │ │ ├── navigation_history.png
│ │ │ ├── overview_replacement.gif
│ │ │ ├── pan-panel-NOALPHA.png
│ │ │ ├── pan-panel.png
│ │ │ ├── pan_off.png
│ │ │ ├── pan_on.png
│ │ │ ├── panning-hand-off.png
│ │ │ ├── panning-hand-on.png
│ │ │ ├── remove_point_off.png
│ │ │ ├── remove_point_on.png
│ │ │ ├── ruler.png
│ │ │ ├── save_features_off.png
│ │ │ ├── save_features_on.png
│ │ │ ├── view_next_off.png
│ │ │ ├── view_next_on.png
│ │ │ ├── view_previous_off.png
│ │ │ ├── view_previous_on.png
│ │ │ ├── zoom-panel-NOALPHA.png
│ │ │ └── zoom-panel.png
│ │ │ ├── style.css
│ │ │ ├── style.mobile.css
│ │ │ ├── style.mobile.tidy.css
│ │ │ └── style.tidy.css
│ ├── raphael-min.js
│ └── underscore.js
├── local_index.html
├── robots.txt
├── singletrack.html
├── translations
│ ├── de.json
│ ├── en.json
│ └── ru.json
└── wscript
├── waf
└── wscript
/.gitignore:
--------------------------------------------------------------------------------
1 | *.swp
2 | .lock-waf*
3 | .waf*
4 | build
5 | debug
6 | release
7 |
--------------------------------------------------------------------------------
/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | depthWeb2
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/.settings/org.eclipse.core.resources.prefs:
--------------------------------------------------------------------------------
1 | eclipse.preferences.version=1
2 | encoding/=UTF-8
3 |
--------------------------------------------------------------------------------
/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM debian:latest
2 | ARG UID=1001
3 | ARG GID=1001
4 |
5 | RUN apt-get -y update && apt-get -y --no-install-recommends upgrade
6 | RUN apt-get -y --no-install-recommends install npm python3 python-is-python3
7 | RUN npm i -g google-closure-compiler handlebars@1.0.12
8 |
9 | RUN addgroup --gid $GID builduser && adduser --uid $UID --gid $GID --disabled-password builduser
10 |
11 | USER builduser
12 | WORKDIR /depth
13 |
14 | CMD /bin/bash -c "./waf configure && ./waf build_release && ./waf install_release"
15 |
--------------------------------------------------------------------------------
/LICENSE_EXCEPTIONS:
--------------------------------------------------------------------------------
1 | src/lib/*:
2 | External libraries have their own license.
3 |
--------------------------------------------------------------------------------
/README:
--------------------------------------------------------------------------------
1 | Synopsis
2 | --------
3 |
4 | Web frontend for the depth project (http://depth.openseamap.org).
5 |
6 |
7 | Installation
8 | ------------
9 |
10 | The preferred way to build this project is now by using docker compose.
11 |
12 | To make sure that docker uses the right permissions, first grab your user ID
13 | and default group ID by doing ```id```. Then create a .env file containing
14 | two lines setting your user id and group id.
15 |
16 | ```
17 | UID=1000
18 | GID=1000
19 | ```
20 |
21 | (or something that matches your uid and gid)
22 |
23 | Then, in this directory, execute
24 |
25 | ```
26 | docker-compose build depth-builder && docker-compose run --rm depth-builder
27 | ```
28 |
29 | or, if you have only docker and not docker-compose
30 |
31 | ```
32 | docker build -t depth-builder .
33 | docker run --rm -v .:/depth:rw -v ./build:/release:rw --user= depth-builder
34 | ```
35 |
36 | to build an image and then run the build process inside it.
37 | The results will be left in the build/release subdirectory.
38 |
39 | Debugging
40 | -----------------------
41 | In order to facilitate debugging, functionality has been added that makes the whole thing work
42 | without handlebars precompiler or closure compiler. Just load index_local from the file system
43 | with your browser and that's it. So far has been only tested with chrome.
44 |
45 | In order to allow cross site requests without having the server send appropriate headers,
46 | chrome needs to be startet with disabled security. On windows do:
47 |
48 | "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --disable-web-security --user-data-dir="C:\Projekte\Osm\ChromeProfile" C:\Projekte\Osm\WebFrontend\depth_webfrontend\src\local_index.html
49 |
50 | (of course you have to adjust the paths to user-data-dir and local_index.html accordingly.)
51 |
52 | user-data-dir is used to do browsing with disabled security with a special profile that does not contain any personal data.
53 |
54 | Furthermore, this works only with the test version of the depth api on testdepth.openseamap.org.
55 | Please set "apiUrl" in js/oseam.js accordingly
56 | Please DO NOT push your versione of oseam.js with the changed apiUrl to the repository, as this will break automatic deployment
57 |
58 |
59 | Tests
60 | -----
61 |
62 | Actually, we have no tests for the frontend. Feel free to create
63 | some (e.g. Selenium).
64 |
65 |
66 | Contributors
67 | ------------
68 |
69 | Bug reports and pull requests are very welcome. Join us on the mailing
70 | list: https://lists.sourceforge.net/lists/listinfo/openseamap-develop
71 |
72 |
73 | License
74 | -------
75 |
76 | This work is released under the 'CC0 License' (see LICENSE file). Some
77 | parts (e.g. third party libraries) are licensed under a different
78 | license (see LICENSE_EXCEPTIONS).
79 |
--------------------------------------------------------------------------------
/TEXT_RANGES:
--------------------------------------------------------------------------------
1 | +-------------+--------------------------------------------+
2 | | Range | Owner |
3 | +-------------+--------------------------------------------+
4 | | 1000 - 1999 | Dominik |
5 | +-------------+--------------------------------------------+
6 |
--------------------------------------------------------------------------------
/build.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | simple example build file
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
65 |
66 |
67 |
68 |
69 |
--------------------------------------------------------------------------------
/docker-compose.yml:
--------------------------------------------------------------------------------
1 | # before you run this file, create a .env file in the same directory with the follwing contents
2 | #
3 | # UID=
4 | # GID=
5 | #
6 | # typically, both of these would be 1000 or close.
7 | # then, when you build and/or run the image, they will run with your credentials,
8 | # allowing write access.
9 |
10 | services:
11 | depth-builder:
12 | image: depth-builder
13 | build: .
14 | user: $UID
15 | group_add:
16 | - $GID
17 | volumes:
18 | - .:/depth:rw
19 | - ./build:/release:rw
20 |
--------------------------------------------------------------------------------
/src/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSeaMap/depth_webfrontend/1f4edf7e29147903b310fad544d33b1549ea2ca7/src/favicon.ico
--------------------------------------------------------------------------------
/src/images/ContentDetection.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSeaMap/depth_webfrontend/1f4edf7e29147903b310fad544d33b1549ea2ca7/src/images/ContentDetection.png
--------------------------------------------------------------------------------
/src/images/CreateDatabase.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSeaMap/depth_webfrontend/1f4edf7e29147903b310fad544d33b1549ea2ca7/src/images/CreateDatabase.png
--------------------------------------------------------------------------------
/src/images/CreateDatabaseOSMAPI.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSeaMap/depth_webfrontend/1f4edf7e29147903b310fad544d33b1549ea2ca7/src/images/CreateDatabaseOSMAPI.png
--------------------------------------------------------------------------------
/src/images/CreateExtension.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSeaMap/depth_webfrontend/1f4edf7e29147903b310fad544d33b1549ea2ca7/src/images/CreateExtension.png
--------------------------------------------------------------------------------
/src/images/HardwareLogger.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSeaMap/depth_webfrontend/1f4edf7e29147903b310fad544d33b1549ea2ca7/src/images/HardwareLogger.jpg
--------------------------------------------------------------------------------
/src/images/MeasurementsClassDiagram.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSeaMap/depth_webfrontend/1f4edf7e29147903b310fad544d33b1549ea2ca7/src/images/MeasurementsClassDiagram.png
--------------------------------------------------------------------------------
/src/images/NewUser.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSeaMap/depth_webfrontend/1f4edf7e29147903b310fad544d33b1549ea2ca7/src/images/NewUser.png
--------------------------------------------------------------------------------
/src/images/Overview-de.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSeaMap/depth_webfrontend/1f4edf7e29147903b310fad544d33b1549ea2ca7/src/images/Overview-de.jpg
--------------------------------------------------------------------------------
/src/images/Overview-en.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSeaMap/depth_webfrontend/1f4edf7e29147903b310fad544d33b1549ea2ca7/src/images/Overview-en.jpg
--------------------------------------------------------------------------------
/src/images/PositionClassDiagram.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSeaMap/depth_webfrontend/1f4edf7e29147903b310fad544d33b1549ea2ca7/src/images/PositionClassDiagram.png
--------------------------------------------------------------------------------
/src/images/Scale.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSeaMap/depth_webfrontend/1f4edf7e29147903b310fad544d33b1549ea2ca7/src/images/Scale.png
--------------------------------------------------------------------------------
/src/images/application_sl2.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
54 |
--------------------------------------------------------------------------------
/src/images/application_x-actisense.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSeaMap/depth_webfrontend/1f4edf7e29147903b310fad544d33b1549ea2ca7/src/images/application_x-actisense.png
--------------------------------------------------------------------------------
/src/images/application_x-actisense.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
82 |
--------------------------------------------------------------------------------
/src/images/application_x-flashfile.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSeaMap/depth_webfrontend/1f4edf7e29147903b310fad544d33b1549ea2ca7/src/images/application_x-flashfile.png
--------------------------------------------------------------------------------
/src/images/application_x-flashfile.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
82 |
--------------------------------------------------------------------------------
/src/images/application_x-gpx.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSeaMap/depth_webfrontend/1f4edf7e29147903b310fad544d33b1549ea2ca7/src/images/application_x-gpx.png
--------------------------------------------------------------------------------
/src/images/application_x-gpx.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
77 |
--------------------------------------------------------------------------------
/src/images/application_x-humminbird.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSeaMap/depth_webfrontend/1f4edf7e29147903b310fad544d33b1549ea2ca7/src/images/application_x-humminbird.png
--------------------------------------------------------------------------------
/src/images/application_x-humminbird.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
54 |
--------------------------------------------------------------------------------
/src/images/application_x-nmea0183.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSeaMap/depth_webfrontend/1f4edf7e29147903b310fad544d33b1549ea2ca7/src/images/application_x-nmea0183.png
--------------------------------------------------------------------------------
/src/images/application_x-nmea0183.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
54 |
--------------------------------------------------------------------------------
/src/images/application_x-nmea2000.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSeaMap/depth_webfrontend/1f4edf7e29147903b310fad544d33b1549ea2ca7/src/images/application_x-nmea2000.png
--------------------------------------------------------------------------------
/src/images/application_x-nmea2000.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
82 |
--------------------------------------------------------------------------------
/src/images/application_x-sharp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSeaMap/depth_webfrontend/1f4edf7e29147903b310fad544d33b1549ea2ca7/src/images/application_x-sharp.png
--------------------------------------------------------------------------------
/src/images/application_x-sharp.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
82 |
--------------------------------------------------------------------------------
/src/images/bootstrap-formhelpers-countries.flags-LICENSE.txt:
--------------------------------------------------------------------------------
1 | Copyright (c) 2012 Go Squared Ltd. http://www.gosquared.com/
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
4 |
5 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
6 |
7 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
8 |
--------------------------------------------------------------------------------
/src/images/bootstrap-formhelpers-countries.flags.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSeaMap/depth_webfrontend/1f4edf7e29147903b310fad544d33b1549ea2ca7/src/images/bootstrap-formhelpers-countries.flags.png
--------------------------------------------------------------------------------
/src/images/bootstrap-formhelpers-currencies.flags.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSeaMap/depth_webfrontend/1f4edf7e29147903b310fad544d33b1549ea2ca7/src/images/bootstrap-formhelpers-currencies.flags.png
--------------------------------------------------------------------------------
/src/images/bootstrap-formhelpers-googlefonts.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSeaMap/depth_webfrontend/1f4edf7e29147903b310fad544d33b1549ea2ca7/src/images/bootstrap-formhelpers-googlefonts.png
--------------------------------------------------------------------------------
/src/images/help.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSeaMap/depth_webfrontend/1f4edf7e29147903b310fad544d33b1549ea2ca7/src/images/help.png
--------------------------------------------------------------------------------
/src/images/openseamap-logo-32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSeaMap/depth_webfrontend/1f4edf7e29147903b310fad544d33b1549ea2ca7/src/images/openseamap-logo-32.png
--------------------------------------------------------------------------------
/src/images/tidal_scale_24.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSeaMap/depth_webfrontend/1f4edf7e29147903b310fad544d33b1549ea2ca7/src/images/tidal_scale_24.png
--------------------------------------------------------------------------------
/src/images/tracks_low.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSeaMap/depth_webfrontend/1f4edf7e29147903b310fad544d33b1549ea2ca7/src/images/tracks_low.jpg
--------------------------------------------------------------------------------
/src/images/undefined.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSeaMap/depth_webfrontend/1f4edf7e29147903b310fad544d33b1549ea2ca7/src/images/undefined.png
--------------------------------------------------------------------------------
/src/images/undefined.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
50 |
--------------------------------------------------------------------------------
/src/images/vessel.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSeaMap/depth_webfrontend/1f4edf7e29147903b310fad544d33b1549ea2ca7/src/images/vessel.png
--------------------------------------------------------------------------------
/src/images/vessels_low.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSeaMap/depth_webfrontend/1f4edf7e29147903b310fad544d33b1549ea2ca7/src/images/vessels_low.jpg
--------------------------------------------------------------------------------
/src/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | OpenSeaMap – Water Depths
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 | {{stage1}}
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 | {{stage2}}
34 |
35 |
36 |
37 |
--------------------------------------------------------------------------------
/src/js/init.js:
--------------------------------------------------------------------------------
1 | // -------------------------------------------------------------------------------------------------
2 | // OpenSeaMap Water Depth - Web frontend for depth data handling.
3 | //
4 | // Written in 2012 by Dominik Fässler dfa@bezono.org
5 | //
6 | // To the extent possible under law, the author(s) have dedicated all copyright
7 | // and related and neighboring rights to this software to the public domain
8 | // worldwide. This software is distributed without any warranty.
9 | //
10 | // You should have received a copy of the CC0 Public Domain Dedication along
11 | // with this software. If not, see .
12 | // -------------------------------------------------------------------------------------------------
13 |
14 | $(function() {
15 | OSeaM.init();
16 | if ( OSeaM.router.requestedView )
17 | console.log( OSeaM.router.requestedView );
18 | if ( !OSeaM.router.requestedView )
19 | OSeaM.frontend.startView('Home'); //RKu: fill for the first time the missing "Home"information into the container
20 | });
21 |
--------------------------------------------------------------------------------
/src/js/oseam-models-gauge.js:
--------------------------------------------------------------------------------
1 | // -------------------------------------------------------------------------------------------------
2 | // OpenSeaMap Water Depth - Web frontend for depth data handling.
3 | //
4 | // Written in 2012 by Dominik Fässler dfa@bezono.org
5 | //
6 | // To the extent possible under law, the author(s) have dedicated all copyright
7 | // and related and neighboring rights to this software to the public domain
8 | // worldwide. This software is distributed without any warranty.
9 | //
10 | // You should have received a copy of the CC0 Public Domain Dedication along
11 | // with this software. If not, see .
12 | // -------------------------------------------------------------------------------------------------
13 |
14 | OSeaM.models.Gauge = Backbone.Model.extend({
15 | defaults: {
16 | id : null,
17 | name : '',
18 | gaugeType : '',
19 | latitude: '',
20 | longitude: '',
21 | waterlevel: ''
22 |
23 | },
24 | url: function() {
25 | return OSeaM.apiUrl + 'gauge' ;
26 | }
27 | });
28 |
--------------------------------------------------------------------------------
/src/js/oseam-models-gaugemeasurement.js:
--------------------------------------------------------------------------------
1 | // -------------------------------------------------------------------------------------------------
2 | // OpenSeaMap Water Depth - Web frontend for depth data handling.
3 | //
4 | // Written in 2012 by Dominik Fässler dfa@bezono.org
5 | //
6 | // To the extent possible under law, the author(s) have dedicated all copyright
7 | // and related and neighboring rights to this software to the public domain
8 | // worldwide. This software is distributed without any warranty.
9 | //
10 | // You should have received a copy of the CC0 Public Domain Dedication along
11 | // with this software. If not, see .
12 | // -------------------------------------------------------------------------------------------------
13 |
14 | OSeaM.models.GaugeMeasurement = Backbone.Model.extend({
15 | defaults: {
16 | id : null,
17 | time : new Date(),
18 | value : null
19 | },
20 | urlRoot: function() {
21 | return OSeaM.apiUrl + 'gauge/' + this.get("gaugeid") + '/' + this.get('time');
22 | }
23 | });
24 |
--------------------------------------------------------------------------------
/src/js/oseam-models-gaugemeasurements.js:
--------------------------------------------------------------------------------
1 | // -------------------------------------------------------------------------------------------------
2 | // OpenSeaMap Water Depth - Web frontend for depth data handling.
3 | //
4 | // Written in 2012 by Dominik Fässler dfa@bezono.org
5 | //
6 | // To the extent possible under law, the author(s) have dedicated all copyright
7 | // and related and neighboring rights to this software to the public domain
8 | // worldwide. This software is distributed without any warranty.
9 | //
10 | // You should have received a copy of the CC0 Public Domain Dedication along
11 | // with this software. If not, see .
12 | // -------------------------------------------------------------------------------------------------
13 |
14 | OSeaM.models.GaugeMeasurements = Backbone.Collection.extend({
15 | model: OSeaM.models.GaugeMeasurement,
16 | // sortAttribute: "id",
17 | // sortDirection: 1,
18 | //
19 | // sortTracks: function (attr) {
20 | // this.sortAttribute = attr;
21 | // this.sort();
22 | // },
23 | //
24 | // comparator: function(a, b) {
25 | // var a = a.get(this.sortAttribute),
26 | // b = b.get(this.sortAttribute);
27 | //
28 | // if (a == b) return 0;
29 | //
30 | // if (this.sortDirection == 1) {
31 | // return a > b ? 1 : -1;
32 | // } else {
33 | // return a < b ? 1 : -1;
34 | // }
35 | // }
36 | });
37 |
--------------------------------------------------------------------------------
/src/js/oseam-models-gauges.js:
--------------------------------------------------------------------------------
1 | // -------------------------------------------------------------------------------------------------
2 | // OpenSeaMap Water Depth - Web frontend for depth data handling.
3 | //
4 | // Written in 2012 by Dominik Fässler dfa@bezono.org
5 | //
6 | // To the extent possible under law, the author(s) have dedicated all copyright
7 | // and related and neighboring rights to this software to the public domain
8 | // worldwide. This software is distributed without any warranty.
9 | //
10 | // You should have received a copy of the CC0 Public Domain Dedication along
11 | // with this software. If not, see .
12 | // -------------------------------------------------------------------------------------------------
13 |
14 | OSeaM.models.Gauges = Backbone.Collection.extend({
15 | model: OSeaM.models.Gauge,
16 | url: OSeaM.apiUrl + 'gauge'
17 | });
18 |
--------------------------------------------------------------------------------
/src/js/oseam-models-license.js:
--------------------------------------------------------------------------------
1 | // -------------------------------------------------------------------------------------------------
2 | // OpenSeaMap Water Depth - Web frontend for depth data handling.
3 | //
4 | // Written in 2012 by Dominik Fässler dfa@bezono.org
5 | //
6 | // To the extent possible under law, the author(s) have dedicated all copyright
7 | // and related and neighboring rights to this software to the public domain
8 | // worldwide. This software is distributed without any warranty.
9 | //
10 | // You should have received a copy of the CC0 Public Domain Dedication along
11 | // with this software. If not, see .
12 | // -------------------------------------------------------------------------------------------------
13 |
14 | OSeaM.models.License = Backbone.Model.extend({
15 | defaults: {
16 | id : null
17 | // shortName : '',
18 | // name : '',
19 | // text : '',
20 | // publicLicense: ''
21 |
22 | },
23 | url: function() {
24 | return OSeaM.apiUrl + 'license/' + this.get("id") ;
25 | }
26 | });
27 |
--------------------------------------------------------------------------------
/src/js/oseam-models-licenses.js:
--------------------------------------------------------------------------------
1 | // -------------------------------------------------------------------------------------------------
2 | // OpenSeaMap Water Depth - Web frontend for depth data handling.
3 | //
4 | // Written in 2012 by Dominik Fässler dfa@bezono.org
5 | //
6 | // To the extent possible under law, the author(s) have dedicated all copyright
7 | // and related and neighboring rights to this software to the public domain
8 | // worldwide. This software is distributed without any warranty.
9 | //
10 | // You should have received a copy of the CC0 Public Domain Dedication along
11 | // with this software. If not, see .
12 | // -------------------------------------------------------------------------------------------------
13 |
14 | OSeaM.models.Licenses = Backbone.Collection.extend({
15 | model: OSeaM.models.License,
16 | url: OSeaM.apiUrl + 'license',
17 | parse: function(response) {
18 | var licenses = new Array();
19 | for (var i = 0; i < response.length; i++) {
20 | var responseObject = response[i];
21 | var license = new OSeaM.models.License({
22 | id : responseObject.id,
23 | name : responseObject.name,
24 | shortName : responseObject.shortName,
25 | text : responseObject.text
26 | });
27 | licenses[i] = license;
28 | }
29 | return licenses;
30 | }
31 | });
32 |
--------------------------------------------------------------------------------
/src/js/oseam-models-offset.js:
--------------------------------------------------------------------------------
1 | // -------------------------------------------------------------------------------------------------
2 | // OpenSeaMap Water Depth - Web frontend for depth data handling.
3 | //
4 | // Written in 2012 by Dominik Fässler dfa@bezono.org
5 | //
6 | // To the extent possible under law, the author(s) have dedicated all copyright
7 | // and related and neighboring rights to this software to the public domain
8 | // worldwide. This software is distributed without any warranty.
9 | //
10 | // You should have received a copy of the CC0 Public Domain Dedication along
11 | // with this software. If not, see .
12 | // -------------------------------------------------------------------------------------------------
13 |
14 | OSeaM.models.Offset = Backbone.Model.extend({
15 | defaults: {
16 | distanceFromStern : '',
17 | distanceFromCenter : '',
18 | distanceWaterline : '',
19 | offsetKeel : '',
20 | manufacturer : '',
21 | model : '',
22 | offsetType : ''
23 | }
24 | });
25 |
--------------------------------------------------------------------------------
/src/js/oseam-models-stats.js:
--------------------------------------------------------------------------------
1 | // -------------------------------------------------------------------------------------------------
2 | // OpenSeaMap Water Depth - Web frontend for depth data handling.
3 | //
4 | // Written in 2012 by Dominik Fässler dfa@bezono.org
5 | //
6 | // To the extent possible under law, the author(s) have dedicated all copyright
7 | // and related and neighboring rights to this software to the public domain
8 | // worldwide. This software is distributed without any warranty.
9 | //
10 | // You should have received a copy of the CC0 Public Domain Dedication along
11 | // with this software. If not, see .
12 | // -------------------------------------------------------------------------------------------------
13 |
14 | OSeaM.models.Stats = Backbone.Model.extend({
15 | defaults: {
16 | usercount : null,
17 | trackscount : '',
18 | description : '',
19 | contributedpoints : ''
20 | },
21 | url: function() {
22 | return OSeaM.apiUrl + 'stats';
23 | }
24 | });
25 |
--------------------------------------------------------------------------------
/src/js/oseam-models-tracks.js:
--------------------------------------------------------------------------------
1 | // -------------------------------------------------------------------------------------------------
2 | // OpenSeaMap Water Depth - Web frontend for depth data handling.
3 | //
4 | // Written in 2012 by Dominik Fässler dfa@bezono.org
5 | //
6 | // To the extent possible under law, the author(s) have dedicated all copyright
7 | // and related and neighboring rights to this software to the public domain
8 | // worldwide. This software is distributed without any warranty.
9 | //
10 | // You should have received a copy of the CC0 Public Domain Dedication along
11 | // with this software. If not, see .
12 | // -------------------------------------------------------------------------------------------------
13 |
14 | OSeaM.models.Tracks = Backbone.Collection.extend({
15 | model: OSeaM.models.Track,
16 | url: OSeaM.apiUrl + 'track',
17 | uploadFile: function(file) {
18 | var track = new OSeaM.models.Track();
19 | this.add(track);
20 | track.uploadFile(file);
21 | },
22 | sortAttribute: "id",
23 | sortDirection: 1,
24 |
25 | sortTracks: function (attr) {
26 | this.sortAttribute = attr;
27 | this.sort();
28 | },
29 |
30 | comparator: function(a, b) {
31 | var a = a.get(this.sortAttribute),
32 | b = b.get(this.sortAttribute);
33 |
34 | if (a == b) return 0;
35 |
36 | if (this.sortDirection == 1) {
37 | return a > b ? 1 : -1;
38 | } else {
39 | return a < b ? 1 : -1;
40 | }
41 | }
42 | });
43 |
--------------------------------------------------------------------------------
/src/js/oseam-models-user.js:
--------------------------------------------------------------------------------
1 | // -------------------------------------------------------------------------------------------------
2 | // OpenSeaMap Water Depth - Web frontend for depth data handling.
3 | //
4 | // Written in 2012 by Dominik Fässler dfa@bezono.org
5 | //
6 | // To the extent possible under law, the author(s) have dedicated all copyright
7 | // and related and neighboring rights to this software to the public domain
8 | // worldwide. This software is distributed without any warranty.
9 | //
10 | // You should have received a copy of the CC0 Public Domain Dedication along
11 | // with this software. If not, see .
12 | // -------------------------------------------------------------------------------------------------
13 |
14 | OSeaM.models.User = Backbone.Model.extend({
15 | defaults: {
16 | user_name : null,
17 | forname : null,
18 | surname : null,
19 | acceptedEmailContact: null,
20 | organisation: null,
21 | country : null,
22 | language : null,
23 | phone : null
24 | },
25 | urlRoot: function() {
26 | return OSeaM.apiUrl + 'users/current';
27 | }
28 | });
29 |
--------------------------------------------------------------------------------
/src/js/oseam-models-vessel.js:
--------------------------------------------------------------------------------
1 | // -------------------------------------------------------------------------------------------------
2 | // OpenSeaMap Water Depth - Web frontend for depth data handling.
3 | //
4 | // Written in 2012 by Dominik Fässler dfa@bezono.org
5 | //
6 | // To the extent possible under law, the author(s) have dedicated all copyright
7 | // and related and neighboring rights to this software to the public domain
8 | // worldwide. This software is distributed without any warranty.
9 | //
10 | // You should have received a copy of the CC0 Public Domain Dedication along
11 | // with this software. If not, see .
12 | // -------------------------------------------------------------------------------------------------
13 |
14 | OSeaM.models.Vessel = Backbone.Model.extend({
15 | defaults: {
16 | id : null,
17 | name : '',
18 | description : '',
19 | mmsi : '',
20 | manufacturer : '',
21 | model : '',
22 | loa : '',
23 | breadth : '',
24 | draft : '',
25 | height : '',
26 | displacement : '',
27 | maximumspeed : '',
28 | sbasoffset : new OSeaM.models.Offset(),
29 | depthoffset : new OSeaM.models.Offset()
30 | },
31 | url: function() {
32 | return OSeaM.apiUrl + 'vesselconfig/' + this.get("id");
33 | }
34 | });
35 |
--------------------------------------------------------------------------------
/src/js/oseam-models-vessels.js:
--------------------------------------------------------------------------------
1 | // -------------------------------------------------------------------------------------------------
2 | // OpenSeaMap Water Depth - Web frontend for depth data handling.
3 | //
4 | // Written in 2012 by Dominik Fässler dfa@bezono.org
5 | //
6 | // To the extent possible under law, the author(s) have dedicated all copyright
7 | // and related and neighboring rights to this software to the public domain
8 | // worldwide. This software is distributed without any warranty.
9 | //
10 | // You should have received a copy of the CC0 Public Domain Dedication along
11 | // with this software. If not, see .
12 | // -------------------------------------------------------------------------------------------------
13 |
14 | OSeaM.models.Vessels = Backbone.Collection.extend({
15 | model: OSeaM.models.Vessel,
16 | url: OSeaM.apiUrl + 'vesselconfig',
17 | parse: function(response) {
18 | var vessels = new Array();
19 | for (var i = 0; i < response.length; i++) {
20 | var responseObject = response[i];
21 |
22 | var newsbasoffset = new OSeaM.models.Offset();
23 | var x = responseObject.sbasoffset;
24 | newsbasoffset.set('distanceFromStern', x['distanceFromStern']);
25 | newsbasoffset.set('distanceFromCenter', x['distanceFromCenter']);
26 | newsbasoffset.set('distanceWaterline', x['distanceWaterline']);
27 | newsbasoffset.set('manufacturer', x['manufacturer']);
28 | newsbasoffset.set('model', x['model']);
29 |
30 | var newdepthoffset = new OSeaM.models.Offset();
31 | var y = responseObject.depthoffset;
32 | newdepthoffset.set('distanceFromStern', y['distanceFromStern']);
33 | newdepthoffset.set('distanceFromCenter', y['distanceFromCenter']);
34 | newdepthoffset.set('distanceWaterline', y['distanceWaterline']);
35 | newdepthoffset.set('offsetKeel', y['offsetKeel']);
36 | newdepthoffset.set('offsetType', y['offsetType']);
37 | newdepthoffset.set('manufacturer', y['manufacturer']);
38 | newdepthoffset.set('model', y['model']);
39 |
40 | var vessel = new OSeaM.models.Vessel({
41 | id : responseObject.id,
42 | name : responseObject.name,
43 | description : responseObject.description,
44 | manufacturer : responseObject.manufacturer,
45 | model : responseObject.model,
46 | loa : responseObject.loa,
47 | breadth : responseObject.breadth,
48 | draft : responseObject.draft,
49 | height : responseObject.height,
50 | displacement : responseObject.displacement,
51 | maximumspeed : responseObject.maximumspeed,
52 | vesselType : responseObject.vesselType,
53 | sbasoffset : newsbasoffset,
54 | depthoffset : newdepthoffset
55 | });
56 | vessels[i] = vessel;
57 | }
58 | return vessels;
59 | },
60 | sortAttribute: "id",
61 | sortDirection: 1,
62 |
63 | sortVessels: function (attr) {
64 | this.sortAttribute = attr;
65 | this.sort();
66 | },
67 |
68 | comparator: function(a, b) {
69 | var a = a.get(this.sortAttribute),
70 | b = b.get(this.sortAttribute);
71 |
72 | if (a == b) return 0;
73 |
74 | if (this.sortDirection == 1) {
75 | return a > b ? 1 : -1;
76 | } else {
77 | return a < b ? 1 : -1;
78 | }
79 | }});
80 |
--------------------------------------------------------------------------------
/src/js/oseam-utils-validation.js:
--------------------------------------------------------------------------------
1 | // -------------------------------------------------------------------------------------------------
2 | // OpenSeaMap Water Depth - Web frontend for depth data handling.
3 | //
4 | // Written in 2012 by Dominik Fässler dfa@bezono.org
5 | //
6 | // To the extent possible under law, the author(s) have dedicated all copyright
7 | // and related and neighboring rights to this software to the public domain
8 | // worldwide. This software is distributed without any warranty.
9 | //
10 | // You should have received a copy of the CC0 Public Domain Dedication along
11 | // with this software. If not, see .
12 | // -------------------------------------------------------------------------------------------------
13 |
14 | OSeaM.utils.Validation = {
15 | username : function(value) {
16 | return OSeaM.utils.Validation.email(value);
17 | },
18 |
19 | email : function(value) {
20 | // var reg = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
21 | var reg = /^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9_\-\+])+\.)+([a-zA-Z0-9]{2,4})+$/; RKu:
22 | return reg.test(value);
23 | },
24 |
25 | configname : function(value) {
26 | // test for special characters
27 | var reg = /^[a-z A-Z0-9]+$/;
28 | return reg.test(value);
29 | },
30 |
31 | distanceY: function(value) {
32 | // test for decimal
33 | var reg = /^\d*(,|\.)?\d*$/;
34 | return reg.test(value);
35 | },
36 |
37 | loa: function(value) {
38 | // test for decimal
39 | // old, only . not ,
40 | //var reg = /^\d*\.?\d*$/;
41 | var reg = /^\d*(,|\.)?\d*$/;
42 | return reg.test(value);
43 | },
44 |
45 | depth_distanceFromStern: function(value) {
46 | // test for decimal
47 | var reg = /^-?\d*(,|\.)?\d*$/;
48 | return reg.test(value);
49 | },
50 |
51 | depth_distanceFromCenter: function(value) {
52 | // test for decimal
53 | var reg = /^-?\d*(,|\.)?\d*$/;
54 | return reg.test(value);
55 | },
56 |
57 | depth_distanceWaterline: function(value) {
58 | // test for decimal
59 | var reg = /^\d*(,|\.)?\d*$/;
60 | return reg.test(value);
61 | },
62 |
63 |
64 | depth_offsetKeel: function(value) {
65 | // test for decimal
66 | var reg = /^\d*(,|\.)?\d*$/;
67 | return reg.test(value);
68 | },
69 |
70 | gps_distanceFromStern: function(value) {
71 | // test for decimal
72 | var reg = /^-?\d*(,|\.)?\d*$/;
73 | return reg.test(value);
74 | },
75 |
76 | gps_distanceFromCenter: function(value) {
77 | // test for decimal
78 | var reg = /^-?\d*(,|\.)?\d*$/;
79 | return reg.test(value);
80 | },
81 |
82 | gps_distanceWaterline: function(value) {
83 | // test for decimal
84 | var reg = /^\d*(,|\.)?\d*$/;
85 | return reg.test(value);
86 | },
87 |
88 | gauge: function(value) {
89 | // test for decimal
90 | var reg = /^\d*(,|\.)?\d*$/;
91 | return reg.test(value);
92 | },
93 |
94 | distanceX: function(value) {
95 | // test for decimal
96 | var reg = /^\d*(,|\.)?\d*$/;
97 | return reg.test(value);
98 | },
99 |
100 | breadth: function(value) {
101 | // test for decimal
102 | var reg = /^\d+(,|\.)?\d*$/;
103 | return reg.test(value);
104 | },
105 |
106 | draft: function(value) {
107 | // test for decimal
108 | var reg = /^\d*(,|\.)?\d*$/;
109 | return reg.test(value);
110 | },
111 |
112 | displacement: function(value) {
113 | // test for decimal
114 | var reg = /^\d*(,|\.)?\d*$/;
115 | return reg.test(value);
116 | },
117 |
118 | height: function(value) {
119 | // test for decimal
120 | var reg = /^\d*(,|\.)?\d*$/;
121 | return reg.test(value);
122 | },
123 |
124 | slidingspeed: function(value) {
125 | // test for decimal
126 | var reg = /^\d*(,|\.)?\d*$/;
127 | return reg.test(value);
128 | },
129 |
130 | idDepthMeasured: function(value) {
131 | // test for decimal
132 | var reg = /^\d*(,|\.)?\d*$/;
133 | return reg.test(value);
134 | },
135 |
136 | idDepthDisplayed: function(value) {
137 | // test for decimal
138 | var reg = /^\d*(,|\.)?\d*$/;
139 | return reg.test(value);
140 | }
141 |
142 | };
143 |
--------------------------------------------------------------------------------
/src/js/oseam-views-about.js:
--------------------------------------------------------------------------------
1 | // -------------------------------------------------------------------------------------------------
2 | // OpenSeaMap Water Depth - Web frontend for depth data handling.
3 | //
4 | // Written in 2012 by Dominik Fässler dfa@bezono.org
5 | //
6 | // To the extent possible under law, the author(s) have dedicated all copyright
7 | // and related and neighboring rights to this software to the public domain
8 | // worldwide. This software is distributed without any warranty.
9 | //
10 | // You should have received a copy of the CC0 Public Domain Dedication along
11 | // with this software. If not, see .
12 | // -------------------------------------------------------------------------------------------------
13 |
14 | OSeaM.views.About = OSeaM.View.extend({
15 | initialize: function() {
16 | OSeaM.frontend.on('change:language', this.render, this);
17 | },
18 | render: function() {
19 | var language = OSeaM.frontend.getLanguage();
20 | var template = OSeaM.loadTemplate('about-' + language);
21 | var content = $(template());
22 | OSeaM.frontend.translate(content);
23 | this.$el.html(content);
24 | return this;
25 | }
26 | });
27 |
--------------------------------------------------------------------------------
/src/js/oseam-views-attributions.js:
--------------------------------------------------------------------------------
1 | // -------------------------------------------------------------------------------------------------
2 | // OpenSeaMap Water Depth - Web frontend for depth data handling.
3 | //
4 | // Written in 2012 by Dominik Fässler dfa@bezono.org
5 | //
6 | // To the extent possible under law, the author(s) have dedicated all copyright
7 | // and related and neighboring rights to this software to the public domain
8 | // worldwide. This software is distributed without any warranty.
9 | //
10 | // You should have received a copy of the CC0 Public Domain Dedication along
11 | // with this software. If not, see .
12 | // -------------------------------------------------------------------------------------------------
13 |
14 | OSeaM.views.Attributions = OSeaM.View.extend({
15 |
16 | initialize: function() {
17 | OSeaM.frontend.on('change:language', this.render, this);
18 | },
19 |
20 | render: function() {
21 | var language = OSeaM.frontend.getLanguage(); //RKu: add language diversification
22 | var template = OSeaM.loadTemplate('attributions-' + language); //RKu: add language selection
23 | var content = $(template({
24 | javascript:[{
25 | name:'Bootstrap',
26 | url:'http://twitter.github.com/bootstrap'
27 | },{
28 | name:'BACKBONE.JS',
29 | url:'http://backbonejs.org'
30 | },{
31 | name:'handlebars',
32 | url:'http://handlebarsjs.com'
33 | },{
34 | name:'jQuery',
35 | url:'http://jquery.com'
36 | },{
37 | name:'jQuery SHA1 (plugin)',
38 | url:'http://jquery.tiddlywiki.org/encoding.digests.sha1.html'
39 | }],
40 | images:[{
41 | name:'GLYPHICONS',
42 | url:'http://glyphicons.com'
43 | }]
44 | }));
45 | OSeaM.frontend.translate(content);
46 | this.$el.html(content);
47 | return this;
48 | }
49 | });
50 |
--------------------------------------------------------------------------------
/src/js/oseam-views-contact.js:
--------------------------------------------------------------------------------
1 | // -------------------------------------------------------------------------------------------------
2 | // OpenSeaMap Water Depth - Web frontend for depth data handling.
3 | //
4 | // Written in 2012 by Dominik Fässler dfa@bezono.org
5 | //
6 | // To the extent possible under law, the author(s) have dedicated all copyright
7 | // and related and neighboring rights to this software to the public domain
8 | // worldwide. This software is distributed without any warranty.
9 | //
10 | // You should have received a copy of the CC0 Public Domain Dedication along
11 | // with this software. If not, see .
12 | // -------------------------------------------------------------------------------------------------
13 |
14 |
15 | //RKu: ++
16 | OSeaM.views.Contact = OSeaM.View.extend({
17 | initialize: function() {
18 | OSeaM.frontend.on('change:language', this.render, this);
19 | },
20 | render: function() {
21 | var language = OSeaM.frontend.getLanguage();
22 | var template = OSeaM.loadTemplate('contact-' + language);
23 | var content = $(template());
24 | OSeaM.frontend.translate(content);
25 | this.$el.html(content);
26 | return this;
27 | }
28 | });
29 | //RKu: --
30 |
--------------------------------------------------------------------------------
/src/js/oseam-views-contribute.js:
--------------------------------------------------------------------------------
1 | // -------------------------------------------------------------------------------------------------
2 | // OpenSeaMap Water Depth - Web frontend for depth data handling.
3 | //
4 | // Written in 2012 by Dominik Fässler dfa@bezono.org
5 | //
6 | // To the extent possible under law, the author(s) have dedicated all copyright
7 | // and related and neighboring rights to this software to the public domain
8 | // worldwide. This software is distributed without any warranty.
9 | //
10 | // You should have received a copy of the CC0 Public Domain Dedication along
11 | // with this software. If not, see .
12 | // -------------------------------------------------------------------------------------------------
13 |
14 | OSeaM.views.Contribute = OSeaM.View.extend({
15 | initialize: function() {
16 | OSeaM.frontend.on('change:language', this.render, this);
17 | },
18 | render: function() {
19 | var language = OSeaM.frontend.getLanguage();
20 | var template = OSeaM.loadTemplate('contribute-' + language);
21 | var content = $(template());
22 | OSeaM.frontend.translate(content);
23 | this.$el.html(content);
24 | return this;
25 | }
26 | });
27 |
--------------------------------------------------------------------------------
/src/js/oseam-views-documentation.js:
--------------------------------------------------------------------------------
1 | // -------------------------------------------------------------------------------------------------
2 | // OpenSeaMap Water Depth - Web frontend for depth data handling.
3 | //
4 | // Written in 2012 by Dominik Fässler dfa@bezono.org
5 | //
6 | // To the extent possible under law, the author(s) have dedicated all copyright
7 | // and related and neighboring rights to this software to the public domain
8 | // worldwide. This software is distributed without any warranty.
9 | //
10 | // You should have received a copy of the CC0 Public Domain Dedication along
11 | // with this software. If not, see .
12 | // -------------------------------------------------------------------------------------------------
13 |
14 | OSeaM.views.Documentation = OSeaM.View.extend({
15 | initialize: function() {
16 | OSeaM.frontend.on('change:language', this.render, this);
17 | },
18 | render: function() {
19 | var language = OSeaM.frontend.getLanguage(); //
20 | var template = OSeaM.loadTemplate('documentation-' + language); //RKu: defined in "oseam.js" - load the function, that may load the content of the file e.g. "documentation-de" to the variable template
21 | var content = $(template()); //RKu: call jQuery to compile context and load the content of the whole file to the variable "content"
22 | OSeaM.frontend.translate(content); //RKu: make sure language sensitiv tags become the right language strings.
23 | this.$el.html(content); //RKu: load the "text" of content to the
but not the attributes we need to jump to anchor inside this document
24 | return this;
25 | }
26 | });
27 |
--------------------------------------------------------------------------------
/src/js/oseam-views-gauge.js:
--------------------------------------------------------------------------------
1 | // -------------------------------------------------------------------------------------------------
2 | // OpenSeaMap Water Depth - Web frontend for depth data handling.
3 | //
4 | // Written in 2013 by Dominik Fässler dfa@bezono.org
5 | //
6 | // To the extent possible under law, the author(s) have dedicated all copyright
7 | // and related and neighboring rights to this software to the public domain
8 | // worldwide. This software is distributed without any warranty.
9 | //
10 | // You should have received a copy of the CC0 Public Domain Dedication along
11 | // with this software. If not, see .
12 | // -------------------------------------------------------------------------------------------------
13 |
14 | OSeaM.views.Gauge = OSeaM.View.extend({
15 | events: {
16 | 'click .icon-trash' : 'onDelete'
17 | },
18 | initialize: function() {
19 | this._views = [];
20 | this.model.on('change:id', this.render, this);
21 | this.gaugemeasurements = new OSeaM.models.GaugeMeasurements();
22 | this.gaugemeasurements.url = OSeaM.apiUrl + 'gauge/' + this.model.get('id') + '/measurement';
23 | this.listenTo(this.gaugemeasurements, 'reset', this.addAndRenderViews);
24 | this.gaugemeasurements.fetch({wait:true});
25 |
26 | },
27 | render: function() {
28 | var template = OSeaM.loadTemplate('gauge');
29 | var content = $(template({
30 | id : this.model.get('id'),
31 | name : this.model.get('name'),
32 | gaugeType : this.model.get('gaugeType'),
33 | latitude : this.model.get('latitude'),
34 | longitude : this.model.get('longitude'),
35 | waterlevel : this.model.get('waterlevel')
36 | }));
37 | OSeaM.frontend.translate(content);
38 | this.$el.html(content);
39 | this.renderContent();
40 | return this;
41 | },
42 | addAndRenderViews : function() {
43 | this.addViews();
44 | this.render();
45 | },
46 | addViews : function() {
47 | this.listEl.empty();
48 | var self = this;
49 | this.gaugemeasurements.each(function(model) {
50 | self._views.push(new OSeaM.views.GaugeMeasurement({
51 | model : model
52 | }));
53 | });
54 | },
55 | onDelete: function() {
56 | this.model.destroy();
57 | },
58 | onAddItem : function(model) {
59 | var view = new OSeaM.views.GaugeMeasurement({
60 | model : model
61 | });
62 | this._views.push(view);
63 |
64 | this.listEl.append(view.render().el);
65 | return this;
66 | },
67 | onRemoveItem: function(model) {
68 | var view = _(this._views).select(function(cv) {
69 | return cv.model === model; })[0];
70 | $(view.el).remove();
71 | return this;
72 | },
73 | renderContent : function() {
74 | this.listEl = this.$el.find('tbody');
75 | this.listEl.empty();
76 | var container = document.createDocumentFragment();
77 |
78 | _.each(this._views, function(subview) {
79 | container.appendChild(subview.render().el)
80 | });
81 | this.listEl.append(container);
82 | }
83 | });
--------------------------------------------------------------------------------
/src/js/oseam-views-gaugedialog.js:
--------------------------------------------------------------------------------
1 | OSeaM.views.GaugeDialog = OSeaM.View.extend({
2 |
3 | events : {
4 | 'click #oseam-cancel' : 'onCancel',
5 | 'click #close' : 'onCancel',
6 | 'click #oseam-save' : 'onSave',
7 | 'change input' : 'modify',
8 | 'change select' : 'modify',
9 | },
10 | initialize : function() {
11 | OSeaM.frontend.on("change:language", this.render, this);
12 | },
13 | render : function() {
14 | var language = OSeaM.frontend.getLanguage();
15 | var template = OSeaM.loadTemplate('gaugedialog-' + language);
16 | //var template = OSeaM.loadTemplate('vessel');
17 | this.renderParams = {
18 | name : this.model.get('name')
19 | };
20 | var content = $(template(this.renderParams));
21 | OSeaM.frontend.translate(content);
22 | this.$el.append(content);
23 | this.el = content;
24 | return content;
25 | },
26 | onCancel : function(evt) {
27 | // removes the inserted dialog div and stops listening for events
28 | // this.wizard.remove();
29 | this.el.remove();
30 | this.undelegateEvents();
31 | },
32 | onSave : function(evt) {
33 | /*
34 | * If this is new project it won't have the ID attribute defined
35 | */
36 | if (null == this.model.id) {
37 | /*
38 | * We are creating our model through its collection (this way we'll automatically update its views and persist it to DB)
39 | */
40 | this.model.save();
41 | this.collection.add(this.model);
42 | } else {
43 | /*
44 | * Simple save will persist the model to the DB and update its view
45 | */
46 | this.model.save();
47 | }
48 | /*
49 | * Hiding modal dialog window
50 | * removes the inserted dialog div and stops listening for events
51 | */
52 | //
53 | // this.wizard.remove();
54 | this.el.remove();
55 | this.undelegateEvents();
56 | },
57 | modify: function(e) {
58 | var attribute = {};
59 | attribute[e.currentTarget.name] = e.currentTarget.value;
60 | this.model.set(attribute);
61 | }
62 |
63 | });
--------------------------------------------------------------------------------
/src/js/oseam-views-gaugemeasurement.js:
--------------------------------------------------------------------------------
1 | // -------------------------------------------------------------------------------------------------
2 | // OpenSeaMap Water Depth - Web frontend for depth data handling.
3 | //
4 | // Written in 2013 by Dominik Fässler dfa@bezono.org
5 | //
6 | // To the extent possible under law, the author(s) have dedicated all copyright
7 | // and related and neighboring rights to this software to the public domain
8 | // worldwide. This software is distributed without any warranty.
9 | //
10 | // You should have received a copy of the CC0 Public Domain Dedication along
11 | // with this software. If not, see .
12 | // -------------------------------------------------------------------------------------------------
13 |
14 | OSeaM.views.GaugeMeasurement = OSeaM.View.extend({
15 | tagName: 'tr',
16 | events: {
17 | 'click .icon-trash' : 'onDelete'
18 | },
19 | initialize: function() {
20 | this.model.on('change:id', this.render, this);
21 | },
22 | render: function() {
23 | var template = OSeaM.loadTemplate('gaugemeasurement');
24 | var dateX = new Date(this.model.get('timestamp'));
25 | var content = $(template({
26 | date : dateX.getUTCFullYear() +"-"+
27 | ("0" + (dateX.getMonth()+1)).slice(-2) +"-"+
28 | ("0" + dateX.getDate()).slice(-2) + " " +
29 | ("0" + dateX.getHours()).slice(-2) + ":" +
30 | ("0" + dateX.getMinutes()).slice(-2),
31 | value : this.model.get('value')
32 | }));
33 | OSeaM.frontend.translate(content);
34 | this.$el.html(content);
35 | return this;
36 | },
37 | onDelete: function() {
38 | if(confirm('Do you really want to delete that value ?')) {
39 | this.model.destroy();
40 | }
41 | }
42 | });
--------------------------------------------------------------------------------
/src/js/oseam-views-goodby.js:
--------------------------------------------------------------------------------
1 | // -------------------------------------------------------------------------------------------------
2 | // OpenSeaMap Water Depth - Web frontend for depth data handling.
3 | //
4 | // Written in 2012 by Dominik Fässler dfa@bezono.org
5 | //
6 | // To the extent possible under law, the author(s) have dedicated all copyright
7 | // and related and neighboring rights to this software to the public domain
8 | // worldwide. This software is distributed without any warranty.
9 | //
10 | // You should have received a copy of the CC0 Public Domain Dedication along
11 | // with this software. If not, see .
12 | // -------------------------------------------------------------------------------------------------
13 |
14 | //RKu ++ new function "say goodbye to a user after successful logout"
15 |
16 | OSeaM.views.Goodby = OSeaM.View.extend({
17 | initialize: function() {
18 | OSeaM.frontend.on('change:language', this.render, this);
19 | },
20 | render: function() {
21 | var usermodel = OSeaM.frontend.getUser(); //RKu:
22 | var language = OSeaM.frontend.getLanguage();
23 | var template = OSeaM.loadTemplate('goodby-' + language);
24 | var content = $(template({
25 | firstname : usermodel.attributes.forname //RKu: get first name of current user
26 | }));
27 | OSeaM.frontend.translate(content);
28 | this.$el.html(content);
29 | return this;
30 | }
31 | });
32 |
33 | //RKu --
34 |
--------------------------------------------------------------------------------
/src/js/oseam-views-home.js:
--------------------------------------------------------------------------------
1 | // -------------------------------------------------------------------------------------------------
2 | // OpenSeaMap Water Depth - Web frontend for depth data handling.
3 | //
4 | // Written in 2012 by Dominik Fässler dfa@bezono.org
5 | //
6 | // To the extent possible under law, the author(s) have dedicated all copyright
7 | // and related and neighboring rights to this software to the public domain
8 | // worldwide. This software is distributed without any warranty.
9 | //
10 | // You should have received a copy of the CC0 Public Domain Dedication along
11 | // with this software. If not, see .
12 | // -------------------------------------------------------------------------------------------------
13 |
14 | OSeaM.views.Home = OSeaM.View.extend({
15 | initialize: function() {
16 | OSeaM.frontend.on('change:language', this.render, this);
17 | },
18 | render: function() {
19 | var language = OSeaM.frontend.getLanguage();
20 | var template = OSeaM.loadTemplate('home-' + language);
21 | var content = $(template());
22 | OSeaM.frontend.translate(content);
23 | this.$el.html(content);
24 | return this;
25 | }
26 | });
27 |
--------------------------------------------------------------------------------
/src/js/oseam-views-instructions.js:
--------------------------------------------------------------------------------
1 | // -------------------------------------------------------------------------------------------------
2 | // OpenSeaMap Water Depth - Web frontend for depth data handling.
3 | //
4 | // Written in 2012 by Dominik Fässler dfa@bezono.org
5 | //
6 | // To the extent possible under law, the author(s) have dedicated all copyright
7 | // and related and neighboring rights to this software to the public domain
8 | // worldwide. This software is distributed without any warranty.
9 | //
10 | // You should have received a copy of the CC0 Public Domain Dedication along
11 | // with this software. If not, see .
12 | // -------------------------------------------------------------------------------------------------
13 |
14 | OSeaM.views.Instructions = OSeaM.View.extend({
15 | initialize: function() {
16 | OSeaM.frontend.on('change:language', this.render, this);
17 | },
18 | render: function() {
19 | var language = OSeaM.frontend.getLanguage();
20 | var template = OSeaM.loadTemplate('instructions-' + language);
21 | var content = $(template());
22 | OSeaM.frontend.translate(content);
23 | this.$el.html(content);
24 | return this;
25 | }
26 | });
27 |
--------------------------------------------------------------------------------
/src/js/oseam-views-introduction.js:
--------------------------------------------------------------------------------
1 | // -------------------------------------------------------------------------------------------------
2 | // OpenSeaMap Water Depth - Web frontend for depth data handling.
3 | //
4 | // Written in 2012 by Dominik Fässler dfa@bezono.org
5 | //
6 | // To the extent possible under law, the author(s) have dedicated all copyright
7 | // and related and neighboring rights to this software to the public domain
8 | // worldwide. This software is distributed without any warranty.
9 | //
10 | // You should have received a copy of the CC0 Public Domain Dedication along
11 | // with this software. If not, see .
12 | // -------------------------------------------------------------------------------------------------
13 |
14 | OSeaM.views.Introduction = OSeaM.View.extend({
15 | initialize: function() {
16 | OSeaM.frontend.on('change:language', this.render, this);
17 | },
18 | render: function() {
19 | var language = OSeaM.frontend.getLanguage();
20 | var template = OSeaM.loadTemplate('introduction-' + language);
21 | var content = $(template());
22 | OSeaM.frontend.translate(content);
23 | this.$el.html(content);
24 | return this;
25 | }
26 | });
27 |
--------------------------------------------------------------------------------
/src/js/oseam-views-license.js:
--------------------------------------------------------------------------------
1 | // -------------------------------------------------------------------------------------------------
2 | // OpenSeaMap Water Depth - Web frontend for depth data handling.
3 | //
4 | // Written in 2012 by Dominik Fässler dfa@bezono.org
5 | //
6 | // To the extent possible under law, the author(s) have dedicated all copyright
7 | // and related and neighboring rights to this software to the public domain
8 | // worldwide. This software is distributed without any warranty.
9 | //
10 | // You should have received a copy of the CC0 Public Domain Dedication along
11 | // with this software. If not, see .
12 | // -------------------------------------------------------------------------------------------------
13 |
14 | OSeaM.views.License = OSeaM.View.extend({
15 | initialize: function() {
16 | OSeaM.frontend.on('change:language', this.render, this);
17 | },
18 | render: function() {
19 | var language = OSeaM.frontend.getLanguage();
20 | var template = OSeaM.loadTemplate('license-' + language);
21 | var content = $(template());
22 | OSeaM.frontend.translate(content);
23 | this.$el.html(content);
24 | return this;
25 | }
26 | });
27 |
--------------------------------------------------------------------------------
/src/js/oseam-views-login.js:
--------------------------------------------------------------------------------
1 | // -------------------------------------------------------------------------------------------------
2 | // OpenSeaMap Water Depth - Web frontend for depth data handling.
3 | //
4 | // Written in 2012 by Dominik Fässler dfa@bezono.org
5 | //
6 | // To the extent possible under law, the author(s) have dedicated all copyright
7 | // and related and neighboring rights to this software to the public domain
8 | // worldwide. This software is distributed without any warranty.
9 | //
10 | // You should have received a copy of the CC0 Public Domain Dedication along
11 | // with this software. If not, see .
12 | // -------------------------------------------------------------------------------------------------
13 |
14 | OSeaM.views.Login = OSeaM.views.Logindlg.extend({
15 |
16 | initialize: function() {
17 | OSeaM.frontend.on('change:language', this.render, this); //RKu: refresh view if user changes language
18 | },
19 |
20 | events: {
21 | 'submit form' : 'onFormSubmit' //RKu: event triggered from submit button in toolbar.handlebares
22 | },
23 | render: function()
24 | {
25 | var language = OSeaM.frontend.getLanguage(); //RKu: get current display language
26 | var template = OSeaM.loadTemplate('login-' + language); //RKu: load the right handlebar language template
27 | /*
28 | this.renderParams = {
29 | title : '1009:Sign in!',
30 | msg : '1032:Please sign in proper to use this part.'
31 | };
32 | */
33 | var renderParams = {
34 | idUsername : OSeaM.id(), //RKu: transfer Handlebars "{{idUsername}}" from file toolbar.handlebares to a variable
35 | idPassword : OSeaM.id(), //RKu: transfer Handlebars "{{idPassword}}" from file toolbar.handlebares to a variable
36 | idSubmit : OSeaM.id(), //RKu: transfer Handlebars "{{idSubmit}}" from file toolbar.handlebares to a variable
37 | };
38 |
39 | var content = $(template(renderParams));
40 | OSeaM.frontend.translate(content);
41 | this.$el.html(content);
42 |
43 | this.fieldUsername = this.$el.find('#' + renderParams.idUsername);
44 | this.fieldPassword = this.$el.find('#' + renderParams.idPassword);
45 | this.buttonSubmit = this.$el.find('#' + renderParams.idSubmit);
46 |
47 | // this.$el.find('legend').after(content);
48 | return this;
49 | }
50 | });
51 |
--------------------------------------------------------------------------------
/src/js/oseam-views-meta3.js:
--------------------------------------------------------------------------------
1 | // -------------------------------------------------------------------------------------------------
2 | // OpenSeaMap Water Depth - Web frontend for depth data handling.
3 | //
4 | // Written in 2012 by Dominik Fässler dfa@bezono.org
5 | //
6 | // To the extent possible under law, the author(s) have dedicated all copyright
7 | // and related and neighboring rights to this software to the public domain
8 | // worldwide. This software is distributed without any warranty.
9 | //
10 | // You should have received a copy of the CC0 Public Domain Dedication along
11 | // with this software. If not, see .
12 | // -------------------------------------------------------------------------------------------------
13 |
14 | OSeaM.views.meta3 = OSeaM.View.extend({
15 | modalDialog:null,
16 | render: function() {
17 | var language = OSeaM.frontend.getLanguage();
18 | var template = OSeaM.loadTemplate('meta3-' + language);
19 |
20 | var content = $(template({
21 |
22 | slidingspeed:this.model.get('slidingspeed'),
23 | sailingYacht:this.model.get('sailingYacht'),
24 | motorYacht:this.model.get('motorYacht'),
25 | motorYachtDisplacer:this.model.get('motorYachtDisplacer')
26 |
27 |
28 |
29 | }));
30 | OSeaM.frontend.translate(content);
31 | this.$el.html(content);
32 | return this;
33 |
34 |
35 | },
36 | validate: function() {
37 |
38 | this.removeAlerts();
39 | var errors = [];
40 |
41 | if (OSeaM.utils.Validation.slidingspeed(this.model.get('slidingspeed')) !== true){
42 | this.markInvalid($('#slidingspeed'), '1103:Please enter a decimal (e.g. 5.5)');
43 | //what is this for?
44 | //errors.push('1004:Email');
45 | }
46 |
47 | return this.isValid;
48 |
49 | },
50 | markInvalid: function(field, text) {
51 | field.parents('.control-group').addClass('error');
52 | //field.next('.help-inline').attr('data-trt', text);
53 | // if addon span exists
54 | this.$el.find('.help-inline').attr('data-trt', text);
55 | OSeaM.frontend.translate(this.$el);
56 | this.isValid = false;
57 | },
58 | removeAlerts: function() {
59 | this.$el.find('.alert').remove();
60 | this.$el.find('.control-group').removeClass('error');
61 | this.$el.find('.help-inline').removeAttr('data-trt');
62 | this.$el.find('.help-inline').html('');
63 | this.isValid = true;
64 | }
65 | });
--------------------------------------------------------------------------------
/src/js/oseam-views-meta4.js:
--------------------------------------------------------------------------------
1 | // -------------------------------------------------------------------------------------------------
2 | // OpenSeaMap Water Depth - Web frontend for depth data handling.
3 | //
4 | // Written in 2012 by Dominik Fässler dfa@bezono.org
5 | //
6 | // To the extent possible under law, the author(s) have dedicated all copyright
7 | // and related and neighboring rights to this software to the public domain
8 | // worldwide. This software is distributed without any warranty.
9 | //
10 | // You should have received a copy of the CC0 Public Domain Dedication along
11 | // with this software. If not, see .
12 | // -------------------------------------------------------------------------------------------------
13 |
14 | OSeaM.views.meta4 = OSeaM.View.extend({
15 | modalDialog:null,
16 | render: function() {
17 | var language = OSeaM.frontend.getLanguage();
18 | var template = OSeaM.loadTemplate('meta4-' + language);
19 |
20 | var content = $(template({
21 | idDepthMeasured:this.model.get('idDepthMeasured'),
22 | idDepthDisplayed:this.model.get('idDepthDisplayed')
23 | }));
24 | OSeaM.frontend.translate(content);
25 | this.$el.html(content);
26 | return this;
27 | },
28 | validate: function() {
29 | this.removeAlerts();
30 | var errors = [];
31 |
32 | if (OSeaM.utils.Validation.idDepthMeasured(this.model.get('idDepthMeasured')) !== true){
33 | this.markInvalid($('#idDepthMeasured'), '1103:Please enter a decimal (e.g. 5.5)');
34 | //what is this for?
35 | //errors.push('1004:Email');
36 | }
37 |
38 | if (OSeaM.utils.Validation.idDepthDisplayed(this.model.get('idDepthDisplayed')) !== true){
39 | this.markInvalid($('#idDepthDisplayed'), '1103:Please enter a decimal (e.g. 5.5)');
40 | //what is this for?
41 | //errors.push('1004:Email');
42 | }
43 | return this.isValid;
44 |
45 | },
46 | markInvalid: function(field, text) {
47 | field.parents('.control-group').addClass('error');
48 | //field.next('.help-inline').attr('data-trt', text);
49 | // if addon span exists
50 | this.$el.find('.help-inline').attr('data-trt', text);
51 | OSeaM.frontend.translate(this.$el);
52 | this.isValid = false;
53 | },
54 | removeAlerts: function() {
55 | this.$el.find('.alert').remove();
56 | this.$el.find('.control-group').removeClass('error');
57 | this.$el.find('.help-inline').removeAttr('data-trt');
58 | this.$el.find('.help-inline').html('');
59 | this.isValid = true;
60 | }
61 |
62 | });
--------------------------------------------------------------------------------
/src/js/oseam-views-navbar.js:
--------------------------------------------------------------------------------
1 | // -------------------------------------------------------------------------------------------------
2 | // OpenSeaMap Water Depth - Web frontend for depth data handling.
3 | //
4 | // Written in 2012 by Dominik Fässler dfa@bezono.org
5 | //
6 | // To the extent possible under law, the author(s) have dedicated all copyright
7 | // and related and neighboring rights to this software to the public domain
8 | // worldwide. This software is distributed without any warranty.
9 | //
10 | // You should have received a copy of the CC0 Public Domain Dedication along
11 | // with this software. If not, see .
12 | // -------------------------------------------------------------------------------------------------
13 |
14 | OSeaM.views.NavBar = OSeaM.View.extend({
15 | render: function() {
16 | var template = OSeaM.loadTemplate('navbar');
17 | var content = $(template());
18 | OSeaM.frontend.translate(content);
19 | this.$el.html(content);
20 | return this;
21 | },
22 | setActive: function(name) {
23 | this.$el.find('li').removeClass('active');
24 | this.$el.find('[href=#' + name + ']').parent('li').addClass('active');
25 | }
26 | });
27 |
--------------------------------------------------------------------------------
/src/js/oseam-views-selection.js:
--------------------------------------------------------------------------------
1 | // -------------------------------------------------------------------------------------------------
2 | // OpenSeaMap Water Depth - Web frontend for depth data handling.
3 | //
4 | // Written in 2012 by Dominik Fässler dfa@bezono.org
5 | //
6 | // To the extent possible under law, the author(s) have dedicated all copyright
7 | // and related and neighboring rights to this software to the public domain
8 | // worldwide. This software is distributed without any warranty.
9 | //
10 | // You should have received a copy of the CC0 Public Domain Dedication along
11 | // with this software. If not, see .
12 | // -------------------------------------------------------------------------------------------------
13 |
14 | OSeaM.views.Selection = OSeaM.View.extend({
15 | initialize : function() {
16 | _.bindAll(this, 'addOne', 'addAll');
17 | this.addAll();
18 | this.listenTo(this.collection, 'add', this.addOne);
19 |
20 | },
21 | addOne : function(model) {
22 | $(this.el).append(new OSeaM.views.SelectionItem({
23 | model : model
24 | }).render().el);
25 | },
26 | addAll : function() {
27 | this.collection.each(this.addOne);
28 | }
29 | });
30 |
--------------------------------------------------------------------------------
/src/js/oseam-views-selectionitem.js:
--------------------------------------------------------------------------------
1 | // -------------------------------------------------------------------------------------------------
2 | // OpenSeaMap Water Depth - Web frontend for depth data handling.
3 | //
4 | // Written in 2012 by Dominik Fässler dfa@bezono.org
5 | //
6 | // To the extent possible under law, the author(s) have dedicated all copyright
7 | // and related and neighboring rights to this software to the public domain
8 | // worldwide. This software is distributed without any warranty.
9 | //
10 | // You should have received a copy of the CC0 Public Domain Dedication along
11 | // with this software. If not, see .
12 | // -------------------------------------------------------------------------------------------------
13 |
14 | OSeaM.views.SelectionItem = OSeaM.View.extend({
15 | tagName : "option",
16 | initialize: function(){
17 | _.bindAll(this, 'render');
18 | },
19 | render: function(){
20 | $(this.el).attr('value',
21 | this.model.get('id')).html(this.model.get('name'));
22 | return this;
23 | }
24 |
25 | });
26 |
--------------------------------------------------------------------------------
/src/js/oseam-views-vesselitem.js:
--------------------------------------------------------------------------------
1 | // -------------------------------------------------------------------------------------------------
2 | // OpenSeaMap Water Depth - Web frontend for depth data handling.
3 | //
4 | // Written in 2013 by Dominik Fässler dfa@bezono.org
5 | //
6 | // To the extent possible under law, the author(s) have dedicated all copyright
7 | // and related and neighboring rights to this software to the public domain
8 | // worldwide. This software is distributed without any warranty.
9 | //
10 | // You should have received a copy of the CC0 Public Domain Dedication along
11 | // with this software. If not, see .
12 | // -------------------------------------------------------------------------------------------------
13 |
14 | OSeaM.views.Vesselitem = OSeaM.View.extend({
15 | tagName: 'tr',
16 | events: {
17 | 'click .icon-trash' : 'onDelete',
18 | 'dblclick .vessel': 'edit',
19 | 'click .icon-pencil' : 'edit'
20 | },
21 | initialize: function() {
22 | this.model.on('change:id', this.render, this);
23 | },
24 | render: function() {
25 | var template = OSeaM.loadTemplate('vesselitem');
26 | var content = $(template({
27 | id : this.model.get('id'),
28 | name : this.model.get('name'),
29 | description : this.model.get('description')
30 | }));
31 | OSeaM.frontend.translate(content);
32 | this.$el.html(content);
33 | return this;
34 | },
35 | edit: function(model) {
36 | view = new OSeaM.views.Vessel({
37 | el: this.$el,
38 | model: this.model
39 | });
40 | view.render().modal('show');
41 |
42 | },
43 | onDelete: function() {
44 | this.model.destroy();
45 | }
46 | });
--------------------------------------------------------------------------------
/src/js/oseam.js:
--------------------------------------------------------------------------------
1 | // -------------------------------------------------------------------------------------------------
2 | // OpenSeaMap Water Depth - Web frontend for depth data handling.
3 | //
4 | // Written in 2012 by Dominik Fässler dfa@bezono.org
5 | //
6 | // To the extent possible under law, the author(s) have dedicated all copyright
7 | // and related and neighboring rights to this software to the public domain
8 | // worldwide. This software is distributed without any warranty.
9 | //
10 | // You should have received a copy of the CC0 Public Domain Dedication along
11 | // with this software. If not, see .
12 | // -------------------------------------------------------------------------------------------------
13 |
14 | function GetApiUrl()
15 | {
16 | var apiUrl = 'APIURL_PLACEHOLDER';
17 |
18 | if ( apiUrl == 'APIURL' + '_' + 'PLACEHOLDER' ) // must assemble here so jenkins does NOT replace it
19 | {
20 | // your debug api url goes here. You need not change it before checking in this file,
21 | // because the above placeholder will be replaced by jenkins during rollout.
22 | return '/org.osm.depth.upload/api2/';
23 | }
24 | else
25 | return apiUrl;
26 | }
27 |
28 | OSeaM = {
29 | models: {},
30 | routers: {},
31 | views: {},
32 | utils: {},
33 | container: null,
34 | frontend: null,
35 | router: null,
36 | // apiUrl: 'http://localhost:8080/org.osm.depth.upload/api2/',
37 | apiUrl: GetApiUrl(),
38 | autoId: 0,
39 |
40 | init: function() {
41 | // alert ( "apiUrl: " + this.apiUrl );
42 | // $.ajaxSetup({ beforeSend: addCredsToRequest }) // function in oseam-models-auth
43 | OSeaM.configureBackboneSync(); //RKu: set up the server communication defaults
44 | this.frontend = new OSeaM.models.Frontend(); //RKu: define the business logic of the initial frontend functions (oseam-models-frontend.js)
45 | if(localStorage.language == null) {
46 | localStorage.language = 'en'; //RKu: set default language to "en"
47 | }
48 | this.frontend.setLanguage(localStorage.language);
49 | this.container = $('.oseam-container'); //RKu: set up the place, where all the displays go to
50 | this.router = new OSeaM.routers.Router(); //RKu: set up the Routing functions
51 | Backbone.history.start(); //RKu: start monitoring events and dispatching routes
52 |
53 | // helper for setting default option
54 | window.Handlebars.registerHelper('select', function( value, options ){
55 | var $el = $('').html( options.fn(this) );
56 | $el.find('[value="' + value + '"]').attr({'selected':'selected'});
57 | return $el.html();
58 | });
59 | //RKu: this might be a good place to check the backend status if it is reachable and up and running
60 | //RKu: not jet implemented
61 | },
62 |
63 | configureBackboneSync: function() {
64 | var originalSync = Backbone.sync;
65 | Backbone.sync = function(method, model, options) {
66 | options = options || {};
67 | options.crossDomain = true;
68 | options.xhrFields = {
69 | withCredentials: true
70 | };
71 | return originalSync(method, model, options);
72 | };
73 | },
74 |
75 | loadTemplate: function(template) {
76 | return Handlebars.templates[template];
77 | },
78 |
79 | id: function(prefix) {
80 | prefix = prefix || 'oseam-';
81 | this.autoId++;
82 | return prefix + this.autoId;
83 | }
84 | };
85 |
86 |
87 | OSeaM.View = Backbone.View.extend({
88 | close: function() {
89 | this.$el.empty();
90 | this.undelegateEvents();
91 | }
92 | });
93 |
--------------------------------------------------------------------------------
/src/js/templates/Disabledcontribute-de.handlebars:
--------------------------------------------------------------------------------
1 |
Beitragen
2 |
3 |
Erweiterungen und Fehlersuche
4 | Offene Erweiterungen und Fehler sind hier zu finden.
5 | Dort können auch weitere Fehler der Webseite berichtet werden.
6 | Serverseitige Fehler sind dort ebenfalls zu berichten.
7 | Wenn der Track falsch prozessiert wurde, kann hier ebenfalls ein Issue eingestellt werden mit der zugehörigen Track Id
8 |
9 |
Quellen
10 | Die Webseite ist auf Github gehosted.
11 | Die Quellen für den Server liegen aktuell bei SourceForge.
12 | Die Backend-Prozessierung ist nur teilweise freigegeben, da noch Lizenzinformationen, Programmfreigaben und die nötige Code-Qualität fehlt.
13 | Freigegebene Teile sind bei SourceForge zu finden.
14 |
15 |
Ressourcen
16 | Die Entwicklerkommunikation wird über Mailingliste abgewickelt.
17 | Die Dokumentation ist im OpenSeaMap Developer Wiki zu finden.
18 | Einige Dateiformate sind im OpenStreetMap Wiki beschrieben.
19 |
20 |
--------------------------------------------------------------------------------
/src/js/templates/about-de.handlebars:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
Impressum
5 |
6 |
Anbieter und Verantwortlicher für den Inhalt von openseamap.org
7 |
Olaf Hannemann Dorfstraße 17 23847 Stubben
8 |
ohannemann@opensource-werkstatt-stubben.org
9 |
Rechtliche Hinweise
10 |
1. Haftungsbeschränkung
11 |
Die Inhalte dieser Website werden mit größtmöglicher Sorgfalt erstellt. Der Anbieter übernimmt jedoch keine Gewähr für die Richtigkeit, Vollständigkeit und Aktualität der bereitgestellten Inhalte. Die Nutzung der Inhalte der Website erfolgt auf eigene Gefahr des Nutzers. Namentlich gekennzeichnete Beiträge geben die Meinung des jeweiligen Autors und nicht immer die Meinung des Anbieters wieder.
12 |
13 |
14 |
2. Amtliche Seekarten
15 |
Die Benutzung aktueller amtlicher Seekarten gehört zu einer guten Seemannschaft. OpenSeaMap dient zur Törnvorbereitung und als Übersicht und Ergänzung zu anderen Seekarten. OpenSeaMap kann keine amtliche Karte ersetzen.
16 |
17 |
18 |
3. Externe Links
19 |
Diese Website enthält Verknüpfungen zu Websites Dritter ("externe Links"). Diese Websites unterliegen der Haftung der jeweiligen Betreiber. Der Anbieter hat bei der erstmaligen Verknüpfung der externen Links die fremden Inhalte daraufhin überprüft, ob etwaige Rechtsverstöße bestehen. Zu dem Zeitpunkt waren keine Rechtsverstöße ersichtlich. Der Anbieter hat keinerlei Einfluss auf die aktuelle und zukünftige Gestaltung und auf die Inhalte der verknüpften Seiten. Das Setzen von externen Links bedeutet nicht, dass sich der Anbieter die hinter dem Verweis oder Link liegenden Inhalte zu Eigen macht. Eine ständige Kontrolle dieser externen Links ist für den Anbieter ohne konkrete Hinweise auf Rechtsverstöße nicht zumutbar. Bei Kenntnis von Rechtsverstößen werden jedoch derartige externe Links unverzüglich gelöscht.
The content on this site will be monitored with the greatest possible care, however the provider does not vouch for the accuracy and completeness of the content. Usage of the content of the website is at the users own risk. Named contributions do not reflect the views of the author or the provider.
17 |
18 |
2. Official Charts
19 |
Good seamanship requires the use of official charts. OpenSeaMap is for use with other charts and cannot replace official charts. Use is at your own risk.
20 |
21 |
3. External Links
22 |
This website contains links to third party websites. These sites are the property and liability of their respective owners. The supplier has checked the links when they were added; at the time there were no apparent bad sites. However, the provider has no control over the current revisions. The provision of these external links does not mean the provider controls the content or takes responsibility for that content. If notified of dangerous sites, these links will be removed.
23 |
24 |
Please note; these notices were translated from the original German and therefore should not be taken as completely correct.
16 | Hilf uns Wassertiefen-Daten zu sammeln! GPS, Echolot und PC
17 | reichen aus. Wir generieren daraus Tiefenlinien für die
18 | Karte. Weltweit.
19 |
25 | Aus Deinen Rohdaten berechnen wir die Wassertiefe. Wir
26 | beschicken sie mit Welle und Tide. Aus tausenden Datenpunkten
27 | erzeugen wir mit statistischen Methoden ein möglichst genaues
28 | Geländeprofil.
29 |
16 | Help us collecting water depth data! GPS, sounder and PC is
17 | all you need. We then will calculate depth contour lines for
18 | the chart. Worldwide.
19 |
25 | Using your raw data we calculate water depths. We feed it with
26 | heel and tide data. Using statistical methods, we calculate a
27 | digital elevation model from thousands of measurements.
28 |
19 | Hilf uns Wassertiefen-Daten zu sammeln! GPS, Echolot und PC
20 | reichen aus. Wir generieren daraus Tiefenlinien für die
21 | Karte. Weltweit.
22 |
28 | Aus Deinen Rohdaten berechnen wir die Wassertiefe. Wir
29 | beschicken sie mit Welle und Tide. Aus tausenden Datenpunkten
30 | erzeugen wir mit statistischen Methoden ein möglichst genaues
31 | Geländeprofil.
32 |
19 | Help us collecting water depths data! GPS, sounder and PC is
20 | all you need. We then will calculate depth contour lines for
21 | the chart. Worldwide.
22 |
28 | Using your raw data we calculate water depths. We feed it with
29 | heel and tide data. Using statistical methods, we calculate a
30 | digital elevation model from thousands of measurements.
31 |
Dieser Text wurde zunächst einmal grob übersetzt, muss jedoch noch einmal überprüft und ergänzt werden.
4 |
5 |
Unterstützte Formate sind:
6 |
7 |
NMEA0183
8 |
Actisense® NMEA 2000
9 |
Humminbird® SON
10 |
Raymarine® FSH
11 |
Lowrance® SL2
12 |
Winprofile® Sharp Files
13 |
14 |
15 |
Nicht unterstützte Formate sind:
16 |
17 |
Generic NMEA 2000 (CAN Recordings)
18 |
Lowrance® SLG Files
19 |
20 |
21 |
Unterstützte Kompressionsverfahren sind:
22 |
23 |
ZIP
24 |
GZIP
25 |
26 |
27 |
Nicht unterstützte Kompressionsverfahren sind:
28 |
29 |
7z
30 |
rar
31 |
tar
32 |
33 |
34 |
Hinweise zum Dateiformat
35 |
36 |
NMEA0183
37 |
38 |
39 | Den Sätzen kann eine genaue Zeit vorangestellt werden, sie muss jedoch nicht zwingend
40 | vorangestellt sein. Beide Formen von Daten-Sätzen werden verarbeitet:
41 |
43 | Die genaue Zeit wird derzeit noch nicht weiter berücksichtigt.
44 |
45 |
46 | Die Datensätze (z.B. GLL / RMC oder DPT / DBT) mit der höchsten Aktualisierungsrate
47 | und den meisten Messungen werden berücksichtigt und zur Anzeige ausgewählt.
48 |
49 |
50 |
NMEA2000
51 | Das Binaray-Format Actisense * .dat kann gelesen werden. Das Rapid-Position-Update-PGN
52 | wird derzeit nicht verwendet, da es keine Messzeit hat.
53 |
54 |
Raymarine® FSH
55 | Beim Raymarine Datenformat fehlen wesentliche Informationen wie die Messzeit und
56 | eine regelmäßige Tiefenmessung. Diese Information ist entscheidend für die
57 | Beseitigung systematischer Fehler in den Messdaten. Wenn Sie eine andere Möglichkeit
58 | zum Aufzeichnen von Daten wie z.B. NMEA0183 haben, verwenden Sie bitte diese
59 | anstelle des Raymarine Datenformats.
60 |
61 |
Humminbird® SON
62 | Die übermittelten Dateien müssen für eine einzelne Aufnahme gepackt werden. Die
63 | ZIP-Datei muss mindestens eine DAT-Datei und einen Ordner des ersten Sensors
64 | enthalten, der eine IDX- und eine .son-Datei enthält. Die enthaltenen Daten können
65 | möglicherweise von mehreren Tiefensensoren wie einem Tiefensensor oder einem
66 | Side-Scan-Bild aufgezeichnet sein. Jedoch können nur die Tiefenangaben aus der
67 | regulären Tiefenmessung berücksichtigt werden. Side-Scan-Bilder vermitteln nur eine
68 | Vorstellung vom Bodenprofil, aber keine genauen Tiefenmessungen.
69 |
70 |
71 |
72 |
Paketierungshinweise
73 |
74 |
Stellen Sie Datendateien nur EINMAL in einem unterstützten Format bereit. Durch
75 | das Bereitstellen von Datendateien in mehreren Formaten wird die Gesamtqualität
76 | beeinträchtigt.
77 |
Wenn Sie ein Format vermissen, öffnen Sie bitte auf Github ein Ticket mit einer
78 | Beispieldatei, sodass wir die Verarbeitungsmöglichkeiten hinzufügen können.
79 |
Sie können eine einzelne Datei in eine ZIP-Datei oder mehrere Dateien in eine
80 | ZIP-Datei packen, mit Ausnahme von Humminbird® SON-Dateien.
81 |
Obwohl wir versuchen, ZIP-Dateien mit unterschiedlichen Formatinhalten zu
82 | verarbeiten, unterstützen wir dies nicht aktiv. Bitte erstellen Sie für jedes
83 | Dateiformat, das Sie haben, eine separate ZIP-Dateien.
84 |
85 |
86 |
Bearbeitungshinweis
87 |
88 |
Der Kalman-Filter ist derzeit deaktiviert. Es ist geplant, eine zweite Schicht
89 | bereitzustellen, in der die von Kalman gefilterte Daten angezeigt werden.
41 | The accurate time is not being analyzed, yet.
42 |
43 |
44 | The sentence (i.e. GLL/RMC or DPT/DBT) with the highest update rate and most measurements is chosen to be displayed.
45 |
46 |
47 |
NMEA2000
48 | The binaray Actisense *.dat format can be read. The Rapid Position Update PGN is not being used right know as it does not have the measurement time.
49 |
50 |
Raymarine® FSH
51 | The contents of these recordings miss substantial information such as the measurment time and a regular depth measurment.
52 | If you have any other option to record data like NMEA0183, use it instead of this format.
53 |
54 |
Humminbird® SON
55 | The submitted files must be zipped for a single recording.
56 | The zip file must contain at least a .dat file and a folder of the first sensor that contains an .idx and a .son file.
57 | The data contained may have been recorded from several depth sensors like a depth sensor or a side scan image but only the depths from the regular depth measurment can be accounted for.
58 | Side scan imagery only conveys an idea of the sea profile but no accurate depth measurements.
59 |
60 |
61 |
62 |
Packing Notes
63 |
64 |
Provide data files only ONCE in a format that is supported. Providing data files in multiple formats will degrade the overall quality.
65 |
If you miss a format supply a git ticket with an example file, so we may add the processing facilities.
66 |
You may pack a single file into a zip or multiple files into a zip with the exception of Humminbird® SON files.
67 |
Although we try to handle zip files with different format contents, we do not actively support it. Create zip files for every format you have.
68 |
69 |
70 |
Processing Notes
71 |
72 |
The Kalman Filter is currently disabled. It is planned to supply a second layer where Kalman filtered data will be displayed.
13 | Du benötigst ein GPS-Gerät, ein Echolot und einen Logger
14 | um Positions- und Tiefendaten deines Schiffes aufzuzeichnen. Zusätzlich
15 | musst du das Schiff und die Messgeräte beschreiben:
16 |
17 |
18 |
19 |
20 |
Software Logger
21 |
22 | Der OpenSeaMap Software Logger sammelt deine
23 | NMEA-Daten auf einer Festplatte oder einem USB-Stick. Die kostenlose Software läuft auf Windows und Linux.
24 | Sie ist gleichzeitig ein Navigations-Programm und zeigt die OpenSeaMap-Karte
25 | zusammen mit der Schiffsposition und weiteren Navigationsdaten
26 | wie Geschwindigkeit, Kurs, Tiefe und Wind. Zum Anschliessen der Geräte benötigst du
27 | einen USB-Adapter.
28 |
36 | Einige Kartenplotter, beispielsweise von Raymarine, Lowrance und Garmin haben
37 | einen eingebauten SD-Karten-Slot und können Tiefendaten direkt
38 | speichern. Diese Daten können wir ebenfalls verarbeiten.
39 |
46 | Wir haben einen Hardware-Logger gebaut, der direkt an der Navigation
47 | angeschlossen wird, und der die Daten automatisch auf eine
48 | SD-Karte schreibt. NMEA-0183 und Seatalk-1 kann mit dem Gerät aufgezeichnet werden.
49 |
13 | You need a GPS device, a sounder and a data logger to record your
14 | vessels position and depth data. Additionally, you need to describe the ship and the devices.
15 |
16 |
17 |
Software Logger
18 |
19 | The software logger OpenSeaMap Data Logger records your
20 | NMEA data on a hard disk or on a USB stick. This free software runs on Windows and Linux.
21 | It is also a navigation program and displays the OpenSeaMap chart together with
22 | your vessels position and additional navigational data like speed,
23 | direction, depth and wind. Normally, you'll need a USB device which
24 | converts the received NMEA data.
25 |
33 | Some chart plotters like Raymarine, Lowrance and Garmin can store dept data
34 | directly to a built in SD card. We can proceed such data too.
35 |
42 | We developed a hardware logger which can be
43 | connected directly to the ship's network. It may be connected to a NMEA-0183 or Seatalk-1 bus.
44 |
3 | Für das Bereitstellen und Hochladen der aufgezeichneten Tracks, erklärst Du dich mit den Bedingungen der
4 | ODC Public Domain Dedication and Licence (PDDL)
5 | einverstanden. Zusätzliche Daten, die nicht in den Rohdaten enthalten sind, sind ebenfalls unter dieser Lizenz lizensiert.
6 |
7 |
Karte
8 |
9 | Die Karte kann Daten anzeigen, welche die Nennung von Datenspendern erfordert.
10 | So lange die Karte sich in der Testphase befindet, darf sie daher noch nicht frei verwendet werden.
11 |
3 | If you are uploading tracks you agree to the terms of the
4 | ODC Public Domain Dedication and Licence (PDDL).
5 | If you provide additional data that is not stored in the track file this data is licensed under the terms of PDDL as well.
6 |
7 |
8 |
9 | Recorded Tracks are sensitive personal data because they show where you have been at what point in time.
10 |
11 |
Chart
12 |
13 | The chart may show data that requires attributions to contributors.
14 | As long as the chart is in a testing phase it may not be used publically
15 |
18 | Hilf uns Wassertiefen-Daten zu sammeln! GPS, Echolot und PC
19 | reichen aus. Wir generieren daraus Tiefenlinien für die
20 | Karte. Weltweit.
21 |
27 | Aus Deinen Rohdaten berechnen wir die Wassertiefe. Wir
28 | beschicken sie mit Welle und Tide. Aus tausenden Datenpunkten
29 | erzeugen wir mit statistischen Methoden ein möglichst genaues
30 | Geländeprofil.
31 |
17 | Help us collecting water depths data! GPS, sounder and PC is
18 | all you need. We then will calculate depth contour lines for
19 | the chart. Worldwide.
20 |
26 | Using your raw data we calculate water depths. We feed it with
27 | heel and tide data. Using statistical methods, we calculate a
28 | digital elevation model from thousands of measurements.
29 |