@jjlmoya/utils-nautical 1.17.0 → 1.19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +5 -3
- package/src/category/index.ts +2 -1
- package/src/data.ts +0 -6
- package/src/entries.ts +5 -1
- package/src/index.ts +9 -7
- package/src/tests/diacritics_density.test.ts +1 -1
- package/src/tests/inverted_punctuation.test.ts +1 -1
- package/src/tests/locale_completeness.test.ts +2 -2
- package/src/tests/pagespeed_best_practices.test.ts +198 -0
- package/src/tests/script_density.test.ts +1 -1
- package/src/tests/title_quality.test.ts +1 -1
- package/src/tests/tool_validation.test.ts +2 -2
- package/src/tool/anchorScope/anchorScope.css +507 -0
- package/src/tool/anchorScope/bibliography.astro +6 -0
- package/src/tool/anchorScope/bibliography.ts +14 -0
- package/src/tool/anchorScope/component.astro +219 -0
- package/src/tool/anchorScope/constants.ts +51 -0
- package/src/tool/anchorScope/controller.ts +251 -0
- package/src/tool/anchorScope/dom-views.ts +106 -0
- package/src/tool/anchorScope/entry.ts +31 -0
- package/src/tool/anchorScope/evaluator.ts +61 -0
- package/src/tool/anchorScope/i18n/de.ts +201 -0
- package/src/tool/anchorScope/i18n/en.ts +223 -0
- package/src/tool/anchorScope/i18n/es.ts +223 -0
- package/src/tool/anchorScope/i18n/fr.ts +201 -0
- package/src/tool/anchorScope/i18n/id.ts +201 -0
- package/src/tool/anchorScope/i18n/it.ts +201 -0
- package/src/tool/anchorScope/i18n/ja.ts +201 -0
- package/src/tool/anchorScope/i18n/ko.ts +201 -0
- package/src/tool/anchorScope/i18n/nl.ts +201 -0
- package/src/tool/anchorScope/i18n/pl.ts +201 -0
- package/src/tool/anchorScope/i18n/pt.ts +201 -0
- package/src/tool/anchorScope/i18n/ru.ts +201 -0
- package/src/tool/anchorScope/i18n/sv.ts +201 -0
- package/src/tool/anchorScope/i18n/tr.ts +201 -0
- package/src/tool/anchorScope/i18n/zh.ts +201 -0
- package/src/tool/anchorScope/index.ts +10 -0
- package/src/tool/anchorScope/logic.test.ts +100 -0
- package/src/tool/anchorScope/logic.ts +84 -0
- package/src/tool/anchorScope/presets.ts +12 -0
- package/src/tool/anchorScope/seo.astro +14 -0
- package/src/tool/anchorScope/storage.ts +25 -0
- package/src/tool/anchorScope/types.ts +33 -0
- package/src/tool/anchorScope/ui.ts +63 -0
- package/src/tool/endurance/component.astro +10 -10
- package/src/tool/endurance/index.ts +2 -1
- package/src/tool/nauticalConverter/component.astro +15 -15
- package/src/tool/sailArea/component.astro +13 -13
- package/src/tool/tideCalculator/component.astro +5 -5
- package/src/tool/underKeel/component.astro +7 -7
- package/src/tools.ts +3 -0
- package/src/types.ts +3 -1
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
2
|
+
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
3
|
+
import type { AnchorScopeLocaleContent } from '../entry';
|
|
4
|
+
import type { AnchorScopeUI } from '../ui';
|
|
5
|
+
|
|
6
|
+
const slug = 'anker-kettinglengte-calculator';
|
|
7
|
+
const title = 'Anker Kettinglengte en Zwaaicirkel Calculator';
|
|
8
|
+
const description =
|
|
9
|
+
'Bereken de optimale ankerkettinglengte, scope ratio en zwaaicirkel voor veilig ankeren op basis van waterdiepte, boeghoogte en getij.';
|
|
10
|
+
|
|
11
|
+
const ui: AnchorScopeUI = {
|
|
12
|
+
parametersTitle: 'Parameters',
|
|
13
|
+
waterDepthLabel: 'Kaartdiepte',
|
|
14
|
+
bowHeightLabel: 'Boeg Vrijboord',
|
|
15
|
+
tideRangeLabel: 'Getijverschil',
|
|
16
|
+
boatLengthLabel: 'Scheepslengte (LOA)',
|
|
17
|
+
rodeTypeLabel: 'Ankerlijn Type',
|
|
18
|
+
windConditionLabel: 'Wind & Verwachting',
|
|
19
|
+
seabedTypeLabel: 'Bodemtype',
|
|
20
|
+
presetProtected: 'Beschutte Baai',
|
|
21
|
+
presetOpen: 'Open Kust',
|
|
22
|
+
presetStorm: 'Stormwaarschuwing',
|
|
23
|
+
seabedTag: 'Bodem Grip Factor',
|
|
24
|
+
catenaryTag: 'Kettinglijn Demping',
|
|
25
|
+
unitM: 'm',
|
|
26
|
+
unitFt: 'ft',
|
|
27
|
+
unitMeters: 'Metrisch (m)',
|
|
28
|
+
unitFeet: 'Imperiaal (ft)',
|
|
29
|
+
allChainOption: 'Volledig Ketting (Zware Kettinglijn)',
|
|
30
|
+
ropeChainOption: 'Combinatie Lijn en Ketting',
|
|
31
|
+
allRopeOption: 'Volledig Ankerlijn',
|
|
32
|
+
calmWindOption: 'Rustig / Lichte Bries (< 15 kn)',
|
|
33
|
+
moderateWindOption: 'Matige Bries (15 - 25 kn)',
|
|
34
|
+
strongWindOption: 'Harde Wind (25 - 35 kn)',
|
|
35
|
+
stormWindOption: 'Stormkracht (> 35 kn)',
|
|
36
|
+
sandOption: 'Zand (Optimale Grip)',
|
|
37
|
+
mudOption: 'Slib / Modder (Goede Grip)',
|
|
38
|
+
clayOption: 'Klei (Uitstekend)',
|
|
39
|
+
gravelOption: 'Grind / Steentjes (Matig)',
|
|
40
|
+
rockOption: 'Rotsbodem (Vastlooprisico)',
|
|
41
|
+
weedOption: 'Zeegras / Wier (Weinig Grip)',
|
|
42
|
+
resultsTitle: 'Anker Analyse en Afmetingen',
|
|
43
|
+
scopeRatioLabel: 'Effectieve Scope Verhouding',
|
|
44
|
+
totalDepthLabel: 'Totale Verticale Hoogte',
|
|
45
|
+
recommendedRodeLabel: 'Aanbevolen Kettinglengte',
|
|
46
|
+
horizontalDistanceLabel: 'Horizontale Afstand',
|
|
47
|
+
swingRadiusLabel: 'Geschatte Zwaaicirkel',
|
|
48
|
+
minSafeRodeLabel: 'Minimum bij Rustig Weer',
|
|
49
|
+
heavyWeatherRodeLabel: 'Kettinglengte bij Storm',
|
|
50
|
+
statusOptimalTitle: 'Veilige en Stabiele Verankering',
|
|
51
|
+
statusOptimalDesc: 'De berekende lengte biedt een dempende kettinglijn en vlakke trekkracht op de ankerschacht.',
|
|
52
|
+
statusCautionTitle: 'Acceptabel: Weersveranderingen Volgen',
|
|
53
|
+
statusCautionDesc: 'Geschikt voor matige wind. Steek meer ketting als de wind of deining toeneemt.',
|
|
54
|
+
statusDangerTitle: 'Onvoldoende Lengte: Krabgevaar',
|
|
55
|
+
statusDangerDesc: 'Kritieke verhouding. Het anker wordt omhoog getrokken en kan losbreken.',
|
|
56
|
+
adviceSand: 'Zand biedt uitstekende grip. Sla het anker stevig vast met achteruitgas.',
|
|
57
|
+
adviceMud: 'Zachte modder vereist brede vloeien en meer ketting om vaste grond te bereiken.',
|
|
58
|
+
adviceClay: 'Klei houdt stevig maar vereist een scherpe ankerpunt om in te dringen.',
|
|
59
|
+
adviceGravel: 'Los grind verschuift bij schokken. Verleng de ketting met minimaal 25 procent.',
|
|
60
|
+
adviceRock: 'Groot risico op klemmen. Gebruik altijd een neuringlijn met boei.',
|
|
61
|
+
adviceWeed: 'Dicht zeegras verhindert ingraven. Controleer grip zorgvuldig met de motor.',
|
|
62
|
+
catenaryAllChain: 'Het gewicht van de ketting vangt golven op en houdt de trekhoek horizontaal.',
|
|
63
|
+
catenaryRopeChain: 'Een combinatielijn vereist minimaal een 7 op 1 verhouding ter compensatie.',
|
|
64
|
+
catenaryAllRope: 'Lijn vereist 8 op 1 of 10 op 1 om te voorkomen dat het anker omhoog wipt.',
|
|
65
|
+
resetButton: 'Standaardwaarden',
|
|
66
|
+
visualProfileTitle: 'Kettinglijn Profiel',
|
|
67
|
+
waterlineLabel: 'Waterlijn',
|
|
68
|
+
seabedLabel: 'Zeebodem',
|
|
69
|
+
anchorLabel: 'Anker',
|
|
70
|
+
catenaryCurveLabel: 'Kettingboog',
|
|
71
|
+
swingCircleLabel: 'Zwaaicirkel',
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
const faq: AnchorScopeLocaleContent['faq'] = [
|
|
75
|
+
{
|
|
76
|
+
question: 'Wat is de scope verhouding bij het ankeren?',
|
|
77
|
+
answer: 'Scope is de verhouding tussen de uitgevierde kettinglengte en de totale verticale afstand van de bodem tot de boegrol.',
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
question: 'Waarom moeten vrijboord en getij worden meegerekend?',
|
|
81
|
+
answer: 'De dieptemeter meet alleen onder de kiel. Het boegbeslag en het getij vergroten de werkelijke hoogte aanzienlijk.',
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
question: 'Wat is het verschil in ratio tussen ketting en lijn?',
|
|
85
|
+
answer: 'Ketting vormt een doorhangende boog (4:1 tot 5:1). Lichte lijn trekt strak en vereist 7:1 tot 10:1.',
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
question: 'Hoe wordt de zwaaicirkel berekend?',
|
|
89
|
+
answer: 'Via de stelling van Pythagoras bereken je de horizontale ankerlijn, plus de scheepslengte en 3 tot 5 meter reserve.',
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
question: 'Welke invloed heeft de zeebodem op ankerkracht?',
|
|
93
|
+
answer: 'Zand en klei bieden de beste houvast. Modder en wier vereisen extra ketting of een andere ankerbaai.',
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
question: 'Wat is de functie van een snubber of rekkabel?',
|
|
97
|
+
answer: 'Een snubber ontlast de ankerlier van schokbelasting door golven en dempt geluid aan boord.',
|
|
98
|
+
},
|
|
99
|
+
];
|
|
100
|
+
|
|
101
|
+
const howTo: AnchorScopeLocaleContent['howTo'] = [
|
|
102
|
+
{
|
|
103
|
+
name: 'Diepte en boeghoogte bepalen',
|
|
104
|
+
text: 'Noteer de kaartdiepte en tel daar de hoogte van de boegrol boven water bij op.',
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
name: 'Getijverschil optellen',
|
|
108
|
+
text: 'Controleer de getijdentabel voor de maximale waterstijging tijdens het verblijf.',
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
name: 'Lijntype en windkracht kiezen',
|
|
112
|
+
text: 'Selecteer ketting of lijn en pas de veiligheidsfactor aan op de windvoorspelling.',
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
name: 'Ketting steken en anker zetten',
|
|
116
|
+
text: 'Vier de berekende lengte en zet het anker vast met gecontroleerd achteruitgas.',
|
|
117
|
+
},
|
|
118
|
+
];
|
|
119
|
+
|
|
120
|
+
const seo: AnchorScopeLocaleContent['seo'] = [
|
|
121
|
+
{
|
|
122
|
+
type: 'title',
|
|
123
|
+
text: 'Ankerlengte en Zwaaicirkel Berekening voor Veilig Ankeren',
|
|
124
|
+
level: 2,
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
type: 'paragraph',
|
|
128
|
+
html: 'Goed ankeren is essentieel voor de veiligheid van schip en bemanning. Een te korte ankerlijn is de hoofdoorzaak van krabbende ankers. Met de juiste <strong>scope verhouding</strong> ligt uw jacht stevig en betrouwbaar.',
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
type: 'title',
|
|
132
|
+
text: 'Bepaling van de Totale Verticale Hoogte',
|
|
133
|
+
level: 3,
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
type: 'list',
|
|
137
|
+
items: [
|
|
138
|
+
'<strong>Kaartdiepte:</strong> Diepte op het ankertijdstip inclusief diepgang.',
|
|
139
|
+
'<strong>Boeg Vrijboord:</strong> Afstand van het wateroppervlak tot de boegrol.',
|
|
140
|
+
'<strong>Getijverschil:</strong> Maximale stijging bij hoogwater.',
|
|
141
|
+
],
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
type: 'title',
|
|
145
|
+
text: 'Aanbevolen Scope Verhoudingen',
|
|
146
|
+
level: 3,
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
type: 'table',
|
|
150
|
+
headers: ['Type Ankergeschirr', 'Rustig Weer (<15 kn)', 'Matige Wind (15-25 kn)', 'Stormachtig (>30 kn)'],
|
|
151
|
+
rows: [
|
|
152
|
+
['<strong>Volledig Ketting</strong>', 'Ratio 4:1', 'Ratio 5:1', 'Ratio 7:1'],
|
|
153
|
+
['<strong>Combinatie Lijn-Ketting</strong>', 'Ratio 5:1', 'Ratio 7:1', 'Ratio 8:1 tot 10:1'],
|
|
154
|
+
['<strong>Volledig Lijn</strong>', 'Ratio 7:1', 'Ratio 8:1', 'Ratio 10:1 tot 12:1'],
|
|
155
|
+
],
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
type: 'tip',
|
|
159
|
+
title: 'Ankerlier Beschermen',
|
|
160
|
+
html: 'Laat de ankerkracht nooit rechtstreeks op de nestenschijf van de lier staan. Gebruik altijd een ontlastende snubber op de boegbolder.',
|
|
161
|
+
},
|
|
162
|
+
];
|
|
163
|
+
|
|
164
|
+
const schemas: AnchorScopeLocaleContent['schemas'] = [
|
|
165
|
+
{
|
|
166
|
+
'@context': 'https://schema.org',
|
|
167
|
+
'@type': 'SoftwareApplication',
|
|
168
|
+
name: title,
|
|
169
|
+
description,
|
|
170
|
+
applicationCategory: 'UtilityApplication',
|
|
171
|
+
operatingSystem: 'Web',
|
|
172
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
173
|
+
} as WithContext<SoftwareApplication>,
|
|
174
|
+
{
|
|
175
|
+
'@context': 'https://schema.org',
|
|
176
|
+
'@type': 'FAQPage',
|
|
177
|
+
mainEntity: faq.map((item) => ({
|
|
178
|
+
'@type': 'Question',
|
|
179
|
+
name: item.question,
|
|
180
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
181
|
+
})),
|
|
182
|
+
} as WithContext<FAQPage>,
|
|
183
|
+
{
|
|
184
|
+
'@context': 'https://schema.org',
|
|
185
|
+
'@type': 'HowTo',
|
|
186
|
+
name: `Handleiding: ${title}`,
|
|
187
|
+
step: howTo.map((s) => ({ '@type': 'HowToStep', name: s.name, text: s.text })),
|
|
188
|
+
} as WithContext<HowTo>,
|
|
189
|
+
];
|
|
190
|
+
|
|
191
|
+
export const content: AnchorScopeLocaleContent = {
|
|
192
|
+
slug,
|
|
193
|
+
title,
|
|
194
|
+
description,
|
|
195
|
+
ui,
|
|
196
|
+
seo,
|
|
197
|
+
faq,
|
|
198
|
+
bibliography,
|
|
199
|
+
howTo,
|
|
200
|
+
schemas,
|
|
201
|
+
};
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
2
|
+
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
3
|
+
import type { AnchorScopeLocaleContent } from '../entry';
|
|
4
|
+
import type { AnchorScopeUI } from '../ui';
|
|
5
|
+
|
|
6
|
+
const slug = 'kalkulator-dlugosci-lancucha-kotwicznego';
|
|
7
|
+
const title = 'Kalkulator Kotwiczenia i Długości Łańcucha';
|
|
8
|
+
const description =
|
|
9
|
+
'Oblicz optymalną długość łańcucha kotwicznego, współczynnik scope i promień myszkowania dla bezpiecznego kotwiczenia wg głębokości i dna.';
|
|
10
|
+
|
|
11
|
+
const ui: AnchorScopeUI = {
|
|
12
|
+
parametersTitle: 'Parametry',
|
|
13
|
+
waterDepthLabel: 'Głębokość z Mapy',
|
|
14
|
+
bowHeightLabel: 'Wysokość Dziobu (Wolna Burta)',
|
|
15
|
+
tideRangeLabel: 'Skok Pływu',
|
|
16
|
+
boatLengthLabel: 'Długość Jachtu (LOA)',
|
|
17
|
+
rodeTypeLabel: 'Rodzaj Liny / Łańcucha',
|
|
18
|
+
windConditionLabel: 'Siła Wiatru i Prognoza',
|
|
19
|
+
seabedTypeLabel: 'Rodzaj Dna',
|
|
20
|
+
presetProtected: 'Zatoczka Osłonięta',
|
|
21
|
+
presetOpen: 'Otwarte Wybrzeże',
|
|
22
|
+
presetStorm: 'Ostrzeżenie Sztormowe',
|
|
23
|
+
seabedTag: 'Współczynnik Trzymania Dna',
|
|
24
|
+
catenaryTag: 'Tłumienie Linii Łańcucha',
|
|
25
|
+
unitM: 'm',
|
|
26
|
+
unitFt: 'ft',
|
|
27
|
+
unitMeters: 'Metryczne (m)',
|
|
28
|
+
unitFeet: 'Imperialne (ft)',
|
|
29
|
+
allChainOption: 'Sam Łańcuch (Ciężka Linia Łańcuchowa)',
|
|
30
|
+
ropeChainOption: 'Lina z Odcinkiem Łańcucha',
|
|
31
|
+
allRopeOption: 'Sama Lina Kotwiczna',
|
|
32
|
+
calmWindOption: 'Cisza / Słaby Wiatr (< 15 w)',
|
|
33
|
+
moderateWindOption: 'Umiarkowany Wiatr (15 - 25 w)',
|
|
34
|
+
strongWindOption: 'Silny Wiatr / Sztorm (25 - 35 w)',
|
|
35
|
+
stormWindOption: 'Ciężki Sztorm (> 35 w)',
|
|
36
|
+
sandOption: 'Piasek (Optymalne Trzymanie)',
|
|
37
|
+
mudOption: 'Muł / Ił (Dobre Trzymanie)',
|
|
38
|
+
clayOption: 'Zbita Glina (Bardzo Dobre)',
|
|
39
|
+
gravelOption: 'Żwir / Kamyki (Przeciętne)',
|
|
40
|
+
rockOption: 'Dno Skaliste (Ryzyko Zaklinowania)',
|
|
41
|
+
weedOption: 'Roślinność / Wodorosty (Słabe)',
|
|
42
|
+
resultsTitle: 'Analiza Kotwiczenia i Wymiary',
|
|
43
|
+
scopeRatioLabel: 'Współczynnik Scope',
|
|
44
|
+
totalDepthLabel: 'Całkowita Wysokość Pionowa',
|
|
45
|
+
recommendedRodeLabel: 'Zalecana Długość do Wydania',
|
|
46
|
+
horizontalDistanceLabel: 'Zasięg Poziomy',
|
|
47
|
+
swingRadiusLabel: 'Szacowany Promień Myszkowania',
|
|
48
|
+
minSafeRodeLabel: 'Minimum przy Ciszy',
|
|
49
|
+
heavyWeatherRodeLabel: 'Długość na Sztorm',
|
|
50
|
+
statusOptimalTitle: 'Bezpieczne i Pewne Kotwiczenie',
|
|
51
|
+
statusOptimalDesc: 'Obliczona długość zapewnia krzywą łańcuchową i ciąg poziomy na trzon kotwicy.',
|
|
52
|
+
statusCautionTitle: 'Kotwiczenie Poprawne: Śledź Wiatr',
|
|
53
|
+
statusCautionDesc: 'Współczynnik odpowiedni na umiarkowany wiatr. Wydaj więcej łańcucha przy wzroście fali.',
|
|
54
|
+
statusDangerTitle: 'Zbyt Krótki Łańcuch: Ryzyko Dryfu',
|
|
55
|
+
statusDangerDesc: 'Współczynnik krytyczny. Kotwica będzie ciągnięta do góry i może puścić dno.',
|
|
56
|
+
adviceSand: 'Piasek zapewnia doskonałe zagrzebanie łap. Cofnij jachtem na silniku, aby dociągnąć kotwicę.',
|
|
57
|
+
adviceMud: 'Miękki muł wymaga szerokich łap i dłuższego łańcucha do twardszego podłoża.',
|
|
58
|
+
adviceClay: 'Glina trzyma potężnie, ale wymaga ostrych końcówek kotwicy do przebicia.',
|
|
59
|
+
adviceGravel: 'Luźny żwir przemieszcza się pod szarpnięciami. Wydłuż łańcuch o 25 procent.',
|
|
60
|
+
adviceRock: 'Duże ryzyko zakleszczenia. Zawsze stosuj boję z bojrepem do rwania kotwicy.',
|
|
61
|
+
adviceWeed: 'Gęsta trawa utrudnia wbicie kotwicy. Dokładnie sprawdź trzymanie na silniku.',
|
|
62
|
+
catenaryAllChain: 'Ciężar łańcucha tworzy zwis amortyzujący uderzenia fal i utrzymuje trzon płasko.',
|
|
63
|
+
catenaryRopeChain: 'Lina z łańcuchem wymaga stosunku co najmniej 7 do 1 dla wyrównania masy.',
|
|
64
|
+
catenaryAllRope: 'Lina syntetyczna wymaga stosunku 8 do 1 lub więcej chroniąc przed poderwaniem.',
|
|
65
|
+
resetButton: 'Resetuj Wartości',
|
|
66
|
+
visualProfileTitle: 'Profil Linii Kotwicznej',
|
|
67
|
+
waterlineLabel: 'Linia Wodna',
|
|
68
|
+
seabedLabel: 'Dno Morskie',
|
|
69
|
+
anchorLabel: 'Kotwica',
|
|
70
|
+
catenaryCurveLabel: 'Krzywa Łańcuchowa',
|
|
71
|
+
swingCircleLabel: 'Okrąg Myszkowania',
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
const faq: AnchorScopeLocaleContent['faq'] = [
|
|
75
|
+
{
|
|
76
|
+
question: 'Co oznacza współczynnik scope przy kotwiczeniu?',
|
|
77
|
+
answer: 'Scope to stosunek całkowitej długości wydanego łańcucha lub liny do pionowej odległości od dna do rolki dziobowej.',
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
question: 'Dlaczego należy dodać wolną burtę i skok pływu?',
|
|
81
|
+
answer: 'Echosonda podaje tylko głębokość pod kilem. Dziób i przypływ powiększają rzeczywistą wysokość pionową.',
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
question: 'Jaka jest różnica stosunku pomiędzy łańcuchem a liną?',
|
|
85
|
+
answer: 'Ciężki łańcuch umożliwia stosunek 4:1 do 5:1. Lekka lina bez masy własnej wymaga 7:1 do 10:1.',
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
question: 'Jak oblicza się promień myszkowania jachtu na kotwicy?',
|
|
89
|
+
answer: 'Z twierdzenia Pitagorasa liczy się odległość poziomą, dodaje długość całkowitą jachtu oraz margines 3 do 5 metrów.',
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
question: 'Jak rodzaj dna morskiego wpływa na siłę trzymania?',
|
|
93
|
+
answer: 'Piasek i glina gwarantują najlepsze trzymanie. Skały i wodorosty wymagają większej uwagi i sprawdzenia silnikiem.',
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
question: 'Do czego służy stoper elastyczny (snubber) na łańcuchu?',
|
|
97
|
+
answer: 'Odciąża windę kotwiczną od szarpnięć fali i wycisza chrobot metalu w kabinie dziobowej.',
|
|
98
|
+
},
|
|
99
|
+
];
|
|
100
|
+
|
|
101
|
+
const howTo: AnchorScopeLocaleContent['howTo'] = [
|
|
102
|
+
{
|
|
103
|
+
name: 'Zmierzyć głębokość i wysokość dziobu',
|
|
104
|
+
text: 'Sprawdź głębokość na kotwicowisku i dodaj wysokość rolki dziobowej nad wodą.',
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
name: 'Uwzględnić skok pływu',
|
|
108
|
+
text: 'Sprawdź tablice pływów pod kątem maksymalnego przyboru wody w czasie postoju.',
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
name: 'Wybrać linię i siłę wiatru',
|
|
112
|
+
text: 'Wybierz typ olinowania kotwicy i spodziewany wiatr dla właściwego współczynnika.',
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
name: 'Wydać łańcuch i zaryć kotwicę',
|
|
116
|
+
text: 'Wydaj obliczoną długość i cofnij powoli na silniku, aby zaryć kotwicę w dnie.',
|
|
117
|
+
},
|
|
118
|
+
];
|
|
119
|
+
|
|
120
|
+
const seo: AnchorScopeLocaleContent['seo'] = [
|
|
121
|
+
{
|
|
122
|
+
type: 'title',
|
|
123
|
+
text: 'Bezpieczne Kotwiczenie: Długość Łańcucha i Promień Myszkowania',
|
|
124
|
+
level: 2,
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
type: 'paragraph',
|
|
128
|
+
html: 'Prawidłowe kotwiczenie to podstawa bezpieczeństwa na wodzie. Zbyt krótki łańcuch jest główną przyczyną dryfowania i kolizji na kotwicowisku. Precyzyjne obliczenie <strong>współczynnika scope</strong> gwarantuje spokojny sen całej załogi.',
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
type: 'title',
|
|
132
|
+
text: 'Składowe Całkowitej Wysokości Pionowej',
|
|
133
|
+
level: 3,
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
type: 'list',
|
|
137
|
+
items: [
|
|
138
|
+
'<strong>Głębokość z Echosondy:</strong> Odczyt głębokości plus zanurzenie jachtu.',
|
|
139
|
+
'<strong>Wysokość Wolnej Burty Dziobu:</strong> Odstęp od lustra wody do rolki kotwicznej.',
|
|
140
|
+
'<strong>Wysokość Przypływu:</strong> Maksymalny skok pływu w trakcie postoju.',
|
|
141
|
+
],
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
type: 'title',
|
|
145
|
+
text: 'Tabela Zalecanych Proporcji Kotwiczenia',
|
|
146
|
+
level: 3,
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
type: 'table',
|
|
150
|
+
headers: ['Rodzaj Olinowania', 'Pogoda Spokojna (<15 w)', 'Umiarkowany Wiatr (15-25 w)', 'Sztorm (>30 w)'],
|
|
151
|
+
rows: [
|
|
152
|
+
['<strong>Sam Łańcuch</strong>', 'Stosunek 4:1', 'Stosunek 5:1', 'Stosunek 7:1'],
|
|
153
|
+
['<strong>Lina z Łańcuchem</strong>', 'Stosunek 5:1', 'Stosunek 7:1', 'Stosunek 8:1 do 10:1'],
|
|
154
|
+
['<strong>Sama Lina Syntetyczna</strong>', 'Stosunek 7:1', 'Stosunek 8:1', 'Stosunek 10:1 do 12:1'],
|
|
155
|
+
],
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
type: 'tip',
|
|
159
|
+
title: 'Ochrona Windy Kotwicznej',
|
|
160
|
+
html: 'Nigdy nie zostawiaj pracującego łańcucha bezpośrednio na bębnie windy. Zawsze stosuj elastyczny szpon kotwiczny zamocowany do polera dziobowego.',
|
|
161
|
+
},
|
|
162
|
+
];
|
|
163
|
+
|
|
164
|
+
const schemas: AnchorScopeLocaleContent['schemas'] = [
|
|
165
|
+
{
|
|
166
|
+
'@context': 'https://schema.org',
|
|
167
|
+
'@type': 'SoftwareApplication',
|
|
168
|
+
name: title,
|
|
169
|
+
description,
|
|
170
|
+
applicationCategory: 'UtilityApplication',
|
|
171
|
+
operatingSystem: 'Web',
|
|
172
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
173
|
+
} as WithContext<SoftwareApplication>,
|
|
174
|
+
{
|
|
175
|
+
'@context': 'https://schema.org',
|
|
176
|
+
'@type': 'FAQPage',
|
|
177
|
+
mainEntity: faq.map((item) => ({
|
|
178
|
+
'@type': 'Question',
|
|
179
|
+
name: item.question,
|
|
180
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
181
|
+
})),
|
|
182
|
+
} as WithContext<FAQPage>,
|
|
183
|
+
{
|
|
184
|
+
'@context': 'https://schema.org',
|
|
185
|
+
'@type': 'HowTo',
|
|
186
|
+
name: `Instrukcja: ${title}`,
|
|
187
|
+
step: howTo.map((s) => ({ '@type': 'HowToStep', name: s.name, text: s.text })),
|
|
188
|
+
} as WithContext<HowTo>,
|
|
189
|
+
];
|
|
190
|
+
|
|
191
|
+
export const content: AnchorScopeLocaleContent = {
|
|
192
|
+
slug,
|
|
193
|
+
title,
|
|
194
|
+
description,
|
|
195
|
+
ui,
|
|
196
|
+
seo,
|
|
197
|
+
faq,
|
|
198
|
+
bibliography,
|
|
199
|
+
howTo,
|
|
200
|
+
schemas,
|
|
201
|
+
};
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
2
|
+
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
3
|
+
import type { AnchorScopeLocaleContent } from '../entry';
|
|
4
|
+
import type { AnchorScopeUI } from '../ui';
|
|
5
|
+
|
|
6
|
+
const slug = 'calculadora-comprimento-corrente-ancoragem';
|
|
7
|
+
const title = 'Calculadora de Fondeio e Comprimento de Corrente';
|
|
8
|
+
const description =
|
|
9
|
+
'Calcule o comprimento ideal de corrente e cabo de fundeio, razao de scope e raio de giro para fundear com total seguranca com base na sonda e mare.';
|
|
10
|
+
|
|
11
|
+
const ui: AnchorScopeUI = {
|
|
12
|
+
parametersTitle: 'Parametros',
|
|
13
|
+
waterDepthLabel: 'Profundidade da Carta',
|
|
14
|
+
bowHeightLabel: 'Borda Livre de Proa',
|
|
15
|
+
tideRangeLabel: 'Subida da Mare',
|
|
16
|
+
boatLengthLabel: 'Comprimento Barco (LOA)',
|
|
17
|
+
rodeTypeLabel: 'Linha de Fundeio',
|
|
18
|
+
windConditionLabel: 'Vento e Previsao',
|
|
19
|
+
seabedTypeLabel: 'Tipo de Fundo',
|
|
20
|
+
presetProtected: 'Enseada Calma',
|
|
21
|
+
presetOpen: 'Costa Aberta',
|
|
22
|
+
presetStorm: 'Aviso de Temporal',
|
|
23
|
+
seabedTag: 'Fator Fixacao Fundo',
|
|
24
|
+
catenaryTag: 'Amortecimento Catenaria',
|
|
25
|
+
unitM: 'm',
|
|
26
|
+
unitFt: 'ft',
|
|
27
|
+
unitMeters: 'Metrico (m)',
|
|
28
|
+
unitFeet: 'Imperial (ft)',
|
|
29
|
+
allChainOption: 'Toda Corrente (Catenaria Pesada)',
|
|
30
|
+
ropeChainOption: 'Mista Cabo e Corrente',
|
|
31
|
+
allRopeOption: 'Toda Cabo Textil',
|
|
32
|
+
calmWindOption: 'Calma / Brisa Fraca (< 15 nos)',
|
|
33
|
+
moderateWindOption: 'Brisa Moderada (15 - 25 nos)',
|
|
34
|
+
strongWindOption: 'Vento Forte / Temporal (25 - 35 nos)',
|
|
35
|
+
stormWindOption: 'Temporal Duro (> 35 nos)',
|
|
36
|
+
sandOption: 'Areia (Fixacao Otima)',
|
|
37
|
+
mudOption: 'Lama / Vaso (Boa Fixacao)',
|
|
38
|
+
clayOption: 'Argila Compacta (Excelente)',
|
|
39
|
+
gravelOption: 'Cascalho / Gravilha (Moderada)',
|
|
40
|
+
rockOption: 'Rocha (Risco de Prender)',
|
|
41
|
+
weedOption: 'Algas / Ervas (Fraca)',
|
|
42
|
+
resultsTitle: 'Analise de Fundeio e Dimensoes',
|
|
43
|
+
scopeRatioLabel: 'Razao de Scope Efetiva',
|
|
44
|
+
totalDepthLabel: 'Altura Vertical Total',
|
|
45
|
+
recommendedRodeLabel: 'Corrente Recomendada a Largar',
|
|
46
|
+
horizontalDistanceLabel: 'Alcance Horizontal',
|
|
47
|
+
swingRadiusLabel: 'Raio de Giro Estimado',
|
|
48
|
+
minSafeRodeLabel: 'Minimo em Calmaria',
|
|
49
|
+
heavyWeatherRodeLabel: 'Fundeio para Mau Tempo',
|
|
50
|
+
statusOptimalTitle: 'Fundeio Seguro e Firme',
|
|
51
|
+
statusOptimalDesc: 'O comprimento calculado garante catenaria amortecedora e tracao horizontal na haste da ancora.',
|
|
52
|
+
statusCautionTitle: 'Fundeio Aceitavel: Monitorar Vento',
|
|
53
|
+
statusCautionDesc: 'Adequado para brisa moderada, mas largue mais corrente se o vento ou a vaga aumentarem.',
|
|
54
|
+
statusDangerTitle: 'Comprimento Insuficiente: Risco de Garrar',
|
|
55
|
+
statusDangerDesc: 'Razao critica. A ancora sofrera tracao ascendente e podera soltar-se do fundo.',
|
|
56
|
+
adviceSand: 'A areia permite excelente cravamento. Faca marcha atras para assentar a ancora.',
|
|
57
|
+
adviceMud: 'Lama macia exige unhas largas e mais corrente para alcancar solo firme.',
|
|
58
|
+
adviceClay: 'Argila compacta segura com forca mas exige unhas afiadas para penetrar.',
|
|
59
|
+
adviceGravel: 'Cascalho solto cede sob tracao. Aumente a corrente em pelo menos 25 por cento.',
|
|
60
|
+
adviceRock: 'Risco de entalar a ancora. Utilize sempre boia de arinque para recuperar.',
|
|
61
|
+
adviceWeed: 'Algas densas impedem o cravamento. Verifique a fixacao com o motor.',
|
|
62
|
+
catenaryAllChain: 'O peso da corrente forma uma curva que amortece impactos e mantem a tracao rasa.',
|
|
63
|
+
catenaryRopeChain: 'Linha mista requer pelo menos razao de 7 para 1 para compensar o menor peso.',
|
|
64
|
+
catenaryAllRope: 'Cabo textil exige 8 para 1 para evitar levantar a haste da ancora.',
|
|
65
|
+
resetButton: 'Redefinir Valores',
|
|
66
|
+
visualProfileTitle: 'Perfil de Catenaria',
|
|
67
|
+
waterlineLabel: 'Flutuacao',
|
|
68
|
+
seabedLabel: 'Fundo Marinho',
|
|
69
|
+
anchorLabel: 'Ancora',
|
|
70
|
+
catenaryCurveLabel: 'Arco de Catenaria',
|
|
71
|
+
swingCircleLabel: 'Circulo de Giro',
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
const faq: AnchorScopeLocaleContent['faq'] = [
|
|
75
|
+
{
|
|
76
|
+
question: 'O que e a razao de scope no fundeio?',
|
|
77
|
+
answer: 'E a relacao entre o comprimento de linha solto na agua e a distancia vertical do fundo marinho ate a roldana de proa.',
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
question: 'Por que somar a borda livre e a mare a profundidade?',
|
|
81
|
+
answer: 'A sonda so mede a agua sob a quilha. A borda livre e a subida da mare aumentam a profundidade total de forma critica.',
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
question: 'Qual a diferenca de razao entre corrente e cabo?',
|
|
85
|
+
answer: 'Corrente pesada permite razoes de 4:1 ou 5:1. Cabo leve exige 7:1 ou 10:1 para nao desunhar a ancora.',
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
question: 'Como se calcula o raio de giro da embarcacao?',
|
|
89
|
+
answer: 'Aplica-se o teorema de Pitagoras para achar a distancia horizontal, somando a eslora do barco e margem de seguranca.',
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
question: 'Como o tipo de fundo afeta a ancoragem?',
|
|
93
|
+
answer: 'Areia e argila oferecem a melhor aderencia. Lama e algas exigem mais corrente e verificacao atenta a motor.',
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
question: 'Qual a funcao de um cabo amortecedor snubber?',
|
|
97
|
+
answer: 'Alivia o guincho eletrico dos choques das ondas e elimina ruidos a bordo durante a noite.',
|
|
98
|
+
},
|
|
99
|
+
];
|
|
100
|
+
|
|
101
|
+
const howTo: AnchorScopeLocaleContent['howTo'] = [
|
|
102
|
+
{
|
|
103
|
+
name: 'Verificar profundidade e borda livre',
|
|
104
|
+
text: 'Meça a profundidade do ancoradouro e some a altura da roldana de proa sobre a agua.',
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
name: 'Adicionar a variacao de mare',
|
|
108
|
+
text: 'Consulte a tabela de mares para somar o pico de preia-mar previsto para o periodo.',
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
name: 'Escolher linha e condicoes de vento',
|
|
112
|
+
text: 'Selecione o tipo de amarra e o vento esperado para aplicar o coeficiente adequado.',
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
name: 'Largar corrente e unhar a ancora',
|
|
116
|
+
text: 'Solte a metragem calculada e engate marcha atras com motor para cravar a ancora no fundo.',
|
|
117
|
+
},
|
|
118
|
+
];
|
|
119
|
+
|
|
120
|
+
const seo: AnchorScopeLocaleContent['seo'] = [
|
|
121
|
+
{
|
|
122
|
+
type: 'title',
|
|
123
|
+
text: 'Calculo de Fundeio Seguro: Comprimento de Corrente e Raio de Giro',
|
|
124
|
+
level: 2,
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
type: 'paragraph',
|
|
128
|
+
html: 'Fundear com seguranca e indispensavel para qualquer navegador. A falta de corrente suficiente e a causa numero um de garrada noturna. Com o <strong>scope correto</strong>, o barco permanece firme mesmo com vento forte.',
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
type: 'title',
|
|
132
|
+
text: 'Calculo da Altura Vertical Real',
|
|
133
|
+
level: 3,
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
type: 'list',
|
|
137
|
+
items: [
|
|
138
|
+
'<strong>Sonda do Fondeadouro:</strong> Leitura da profundidade mais o calado do navio.',
|
|
139
|
+
'<strong>Borda Livre de Proa:</strong> Altura da linha de agua ate a roldana de ancoragem.',
|
|
140
|
+
'<strong>Subida de Mare:</strong> Aumento do nivel do mar na preia-mar.',
|
|
141
|
+
],
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
type: 'title',
|
|
145
|
+
text: 'Tabela de Razoes de Fundeio Recomendadas',
|
|
146
|
+
level: 3,
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
type: 'table',
|
|
150
|
+
headers: ['Tipo de Linha', 'Tempo Calmo (<15 nos)', 'Brisa Fresca (15-25 nos)', 'Mau Tempo (>30 nos)'],
|
|
151
|
+
rows: [
|
|
152
|
+
['<strong>Toda Corrente</strong>', 'Razao 4:1', 'Razao 5:1', 'Razao 7:1'],
|
|
153
|
+
['<strong>Mista Cabo-Corrente</strong>', 'Razao 5:1', 'Razao 7:1', 'Razao 8:1 a 10:1'],
|
|
154
|
+
['<strong>Toda Cabo Textil</strong>', 'Razao 7:1', 'Razao 8:1', 'Razao 10:1 a 12:1'],
|
|
155
|
+
],
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
type: 'tip',
|
|
159
|
+
title: 'Protecao do Guincho Eletrico',
|
|
160
|
+
html: 'Nunca deixe o esforco da ancoragem apoiar diretamente no guincho de proa. Utilize sempre um cabo snubber na cunho de amaracao.',
|
|
161
|
+
},
|
|
162
|
+
];
|
|
163
|
+
|
|
164
|
+
const schemas: AnchorScopeLocaleContent['schemas'] = [
|
|
165
|
+
{
|
|
166
|
+
'@context': 'https://schema.org',
|
|
167
|
+
'@type': 'SoftwareApplication',
|
|
168
|
+
name: title,
|
|
169
|
+
description,
|
|
170
|
+
applicationCategory: 'UtilityApplication',
|
|
171
|
+
operatingSystem: 'Web',
|
|
172
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
173
|
+
} as WithContext<SoftwareApplication>,
|
|
174
|
+
{
|
|
175
|
+
'@context': 'https://schema.org',
|
|
176
|
+
'@type': 'FAQPage',
|
|
177
|
+
mainEntity: faq.map((item) => ({
|
|
178
|
+
'@type': 'Question',
|
|
179
|
+
name: item.question,
|
|
180
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
181
|
+
})),
|
|
182
|
+
} as WithContext<FAQPage>,
|
|
183
|
+
{
|
|
184
|
+
'@context': 'https://schema.org',
|
|
185
|
+
'@type': 'HowTo',
|
|
186
|
+
name: `Instrucoes: ${title}`,
|
|
187
|
+
step: howTo.map((s) => ({ '@type': 'HowToStep', name: s.name, text: s.text })),
|
|
188
|
+
} as WithContext<HowTo>,
|
|
189
|
+
];
|
|
190
|
+
|
|
191
|
+
export const content: AnchorScopeLocaleContent = {
|
|
192
|
+
slug,
|
|
193
|
+
title,
|
|
194
|
+
description,
|
|
195
|
+
ui,
|
|
196
|
+
seo,
|
|
197
|
+
faq,
|
|
198
|
+
bibliography,
|
|
199
|
+
howTo,
|
|
200
|
+
schemas,
|
|
201
|
+
};
|