@jjlmoya/utils-nautical 1.2.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 +75 -0
- package/src/category/i18n/en.ts +79 -0
- package/src/category/i18n/es.ts +79 -0
- package/src/category/i18n/fr.ts +79 -0
- package/src/category/index.ts +13 -0
- package/src/components/PreviewNavSidebar.astro +116 -0
- package/src/components/PreviewToolbar.astro +143 -0
- package/src/data.ts +12 -0
- package/src/env.d.ts +5 -0
- package/src/index.ts +22 -0
- package/src/layouts/PreviewLayout.astro +117 -0
- package/src/pages/[locale]/[slug].astro +146 -0
- package/src/pages/[locale].astro +249 -0
- package/src/pages/index.astro +4 -0
- package/src/tests/faq_count.test.ts +30 -0
- package/src/tests/mocks/astro_mock.js +2 -0
- package/src/tests/seo_length.test.ts +29 -0
- package/src/tests/tool_validation.test.ts +51 -0
- package/src/tool/endurance/bibliography.astro +14 -0
- package/src/tool/endurance/component.astro +310 -0
- package/src/tool/endurance/i18n/en.ts +243 -0
- package/src/tool/endurance/i18n/es.ts +249 -0
- package/src/tool/endurance/i18n/fr.ts +217 -0
- package/src/tool/endurance/index.ts +56 -0
- package/src/tool/endurance/logic.ts +36 -0
- package/src/tool/endurance/seo.astro +55 -0
- package/src/tool/endurance/style.css +333 -0
- package/src/tool/nauticalConverter/bibliography.astro +14 -0
- package/src/tool/nauticalConverter/component.astro +481 -0
- package/src/tool/nauticalConverter/i18n/en.ts +239 -0
- package/src/tool/nauticalConverter/i18n/es.ts +239 -0
- package/src/tool/nauticalConverter/i18n/fr.ts +239 -0
- package/src/tool/nauticalConverter/index.ts +57 -0
- package/src/tool/nauticalConverter/logic.ts +52 -0
- package/src/tool/nauticalConverter/seo.astro +52 -0
- package/src/tool/nauticalConverter/style.css +205 -0
- package/src/tool/sailArea/bibliography.astro +14 -0
- package/src/tool/sailArea/component.astro +418 -0
- package/src/tool/sailArea/i18n/en.ts +275 -0
- package/src/tool/sailArea/i18n/es.ts +275 -0
- package/src/tool/sailArea/i18n/fr.ts +275 -0
- package/src/tool/sailArea/index.ts +53 -0
- package/src/tool/sailArea/logic.ts +55 -0
- package/src/tool/sailArea/seo.astro +52 -0
- package/src/tool/sailArea/style.css +351 -0
- package/src/tool/speedConverter/bibliography.astro +14 -0
- package/src/tool/speedConverter/component.astro +125 -0
- package/src/tool/speedConverter/i18n/en.ts +271 -0
- package/src/tool/speedConverter/i18n/es.ts +271 -0
- package/src/tool/speedConverter/i18n/fr.ts +271 -0
- package/src/tool/speedConverter/index.ts +46 -0
- package/src/tool/speedConverter/logic.ts +48 -0
- package/src/tool/speedConverter/seo.astro +43 -0
- package/src/tool/speedConverter/style.css +239 -0
- package/src/tool/tideCalculator/bibliography.astro +14 -0
- package/src/tool/tideCalculator/component.astro +314 -0
- package/src/tool/tideCalculator/i18n/en.ts +203 -0
- package/src/tool/tideCalculator/i18n/es.ts +225 -0
- package/src/tool/tideCalculator/i18n/fr.ts +190 -0
- package/src/tool/tideCalculator/index.ts +50 -0
- package/src/tool/tideCalculator/logic.ts +73 -0
- package/src/tool/tideCalculator/seo.astro +61 -0
- package/src/tool/tideCalculator/style.css +310 -0
- package/src/tool/underKeel/bibliography.astro +14 -0
- package/src/tool/underKeel/component.astro +240 -0
- package/src/tool/underKeel/i18n/en.ts +193 -0
- package/src/tool/underKeel/i18n/es.ts +206 -0
- package/src/tool/underKeel/i18n/fr.ts +193 -0
- package/src/tool/underKeel/index.ts +49 -0
- package/src/tool/underKeel/logic.ts +83 -0
- package/src/tool/underKeel/seo.astro +46 -0
- package/src/tool/underKeel/style.css +312 -0
- package/src/tools.ts +25 -0
- package/src/types.ts +69 -0
|
@@ -0,0 +1,271 @@
|
|
|
1
|
+
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { SpeedConverterUI, SpeedConverterLocaleContent } from '../index';
|
|
3
|
+
|
|
4
|
+
const slug = 'nautical-speed-converter';
|
|
5
|
+
const title = 'Nautical Speed Converter and Beaufort Scale';
|
|
6
|
+
const description =
|
|
7
|
+
'Convert between knots, km/h, m/s and mph instantly. Includes full Beaufort table with sea state descriptions and wind effects.';
|
|
8
|
+
|
|
9
|
+
const beaufortData = [
|
|
10
|
+
{ force: 0, name: 'Calm', sea: 'Sea like a mirror', effect: 'Smoke rises vertically', kn: '0' },
|
|
11
|
+
{ force: 1, name: 'Light air', sea: 'Ripples with appearance of scales', effect: 'Direction shown by smoke drift', kn: '1-3' },
|
|
12
|
+
{ force: 2, name: 'Light breeze', sea: 'Small wavelets, crests not breaking', effect: 'Wind felt on face, leaves rustle', kn: '4-6' },
|
|
13
|
+
{ force: 3, name: 'Gentle breeze', sea: 'Large wavelets, scattered whitecaps', effect: 'Leaves and twigs in motion', kn: '7-10' },
|
|
14
|
+
{ force: 4, name: 'Moderate breeze', sea: 'Small waves, frequent whitecaps', effect: 'Dust and loose paper raised', kn: '11-16' },
|
|
15
|
+
{ force: 5, name: 'Fresh breeze', sea: 'Moderate waves, many whitecaps', effect: 'Small trees begin to sway', kn: '17-21' },
|
|
16
|
+
{ force: 6, name: 'Strong breeze', sea: 'Large waves, white foam crests', effect: 'Difficult to use umbrella', kn: '22-27' },
|
|
17
|
+
{ force: 7, name: 'Near gale', sea: 'Sea heaps up, foam blown in streaks', effect: 'Difficult to walk against wind', kn: '28-33' },
|
|
18
|
+
{ force: 8, name: 'Gale', sea: 'High waves, spray reduces visibility', effect: 'Great difficulty walking', kn: '34-40' },
|
|
19
|
+
{ force: 9, name: 'Strong gale', sea: 'Very high waves, sea rolls', effect: 'Structural damage occurs', kn: '41-47' },
|
|
20
|
+
{ force: 10, name: 'Storm', sea: 'Exceptionally high waves, sea white', effect: 'Trees uprooted, considerable damage', kn: '48-55' },
|
|
21
|
+
{ force: 11, name: 'Violent storm', sea: 'Huge waves, foam covers sea', effect: 'Widespread damage', kn: '56-63' },
|
|
22
|
+
{ force: 12, name: 'Hurricane', sea: 'Air filled with foam and spray', effect: 'Total catastrophe', kn: '64+' },
|
|
23
|
+
];
|
|
24
|
+
|
|
25
|
+
const ui: SpeedConverterUI = {
|
|
26
|
+
knLabel: 'Knots (kt)',
|
|
27
|
+
kmhLabel: 'Kilometres/hour',
|
|
28
|
+
msLabel: 'Metres/second',
|
|
29
|
+
mphLabel: 'Miles/hour',
|
|
30
|
+
beaufortTitle: 'Beaufort Scale',
|
|
31
|
+
forceLabel: 'Force',
|
|
32
|
+
descriptionLabel: 'Description',
|
|
33
|
+
knotsLabel: 'Knots',
|
|
34
|
+
effectLabel: 'Visual Effect',
|
|
35
|
+
seaStateLabel: 'Sea State',
|
|
36
|
+
windEffectLabel: 'Land Effect',
|
|
37
|
+
faqTitle: 'Frequently Asked Questions',
|
|
38
|
+
bibliographyTitle: 'Bibliography',
|
|
39
|
+
beaufortDataJson: JSON.stringify(beaufortData),
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
const faq: SpeedConverterLocaleContent['faq'] = [
|
|
43
|
+
{
|
|
44
|
+
question: 'Why is boat speed measured in knots?',
|
|
45
|
+
answer: 'The knot is a unit of speed equal to one nautical mile per hour. Its origin is historical: sailors measured vessel speed by throwing a piece of wood into the sea tied to a rope with equally spaced knots, counting how many knots passed through their fingers in a set time. Today it remains the international standard unit in maritime navigation and aviation.',
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
question: 'What is the Beaufort Scale and how is it used in navigation?',
|
|
49
|
+
answer: 'The Beaufort Scale is an empirical scale relating wind speed to observed effects at sea and on land. Developed by British Admiral Francis Beaufort in 1805, it ranges from 0 (absolute calm) to 12 (hurricane). Sailors use it to estimate wind intensity without instruments by observing the state of the sea.',
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
question: 'What is the difference between SOG and STW in navigation?',
|
|
53
|
+
answer: 'SOG (Speed Over Ground) is the actual speed of the vessel relative to the seabed, measured by GPS. STW (Speed Through Water) or log speed is the speed of the vessel relative to the surrounding water. The difference between both reflects the effect of marine currents. SOG is used for planning arrivals and calculating fuel; STW is used to calculate leeway.',
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
question: 'How many km/h is one knot?',
|
|
57
|
+
answer: 'One knot equals exactly 1.852 kilometres per hour, which is the length of one nautical mile (defined as one minute of arc of the terrestrial meridian). Therefore, 10 knots equals 18.52 km/h, 20 knots equals 37.04 km/h and 30 knots equals 55.56 km/h.',
|
|
58
|
+
},
|
|
59
|
+
];
|
|
60
|
+
|
|
61
|
+
const howTo: SpeedConverterLocaleContent['howTo'] = [
|
|
62
|
+
{
|
|
63
|
+
name: 'Enter speed in any unit',
|
|
64
|
+
text: 'Type the speed value in the corresponding field (knots, km/h, m/s or mph) and all other fields will update automatically.',
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
name: 'Check the equivalent Beaufort force',
|
|
68
|
+
text: 'The Beaufort card shows in real time the wind force corresponding to the entered speed, with the sea state and land effects.',
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
name: 'Click a row in the Beaufort table',
|
|
72
|
+
text: 'You can directly select any Beaufort scale in the table below to see its minimum speed in all formats.',
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
name: 'Use the results to plan your navigation',
|
|
76
|
+
text: 'Combine the speed and wind information to decide whether conditions are appropriate for your type of vessel and planned passage.',
|
|
77
|
+
},
|
|
78
|
+
];
|
|
79
|
+
|
|
80
|
+
const bibliography: SpeedConverterLocaleContent['bibliography'] = [
|
|
81
|
+
{
|
|
82
|
+
name: 'Met Office - The Beaufort Scale',
|
|
83
|
+
url: 'https://www.metoffice.gov.uk/weather/guides/coast-and-sea/beaufort-scale',
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
name: 'IMO - International Maritime Organization',
|
|
87
|
+
url: 'https://www.imo.org/',
|
|
88
|
+
},
|
|
89
|
+
];
|
|
90
|
+
|
|
91
|
+
const seo: SpeedConverterLocaleContent['seo'] = [
|
|
92
|
+
{
|
|
93
|
+
type: 'title',
|
|
94
|
+
text: 'Guide to the Nautical Speed Converter and Beaufort Scale',
|
|
95
|
+
level: 2,
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
type: 'paragraph',
|
|
99
|
+
html: 'Speed is a fundamental piece of data in maritime navigation. Knowing how many knots your boat is making, how that translates into kilometres per hour for planning a passage, or what Beaufort force represents the wind you are experiencing, are calculations every sailor needs to master.',
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
type: 'paragraph',
|
|
103
|
+
html: 'This nautical speed converter lets you transform between knots, km/h, m/s and mph instantly, while automatically identifying the corresponding Beaufort force with its sea state description and observable wind effects.',
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
type: 'stats',
|
|
107
|
+
items: [
|
|
108
|
+
{ label: 'Standard Unit', value: 'Knots (kt)', icon: 'mdi:speedometer' },
|
|
109
|
+
{ label: 'Wind Scale', value: 'Beaufort (0-12)', icon: 'mdi:weather-windy' },
|
|
110
|
+
{ label: 'Key Conversion', value: '1 kt = 1.85 km/h', icon: 'mdi:swap-horizontal' },
|
|
111
|
+
],
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
type: 'title',
|
|
115
|
+
text: 'Why is speed measured in Knots?',
|
|
116
|
+
level: 3,
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
type: 'paragraph',
|
|
120
|
+
html: 'The <strong>knot (kt)</strong> is the official unit of speed in maritime and air navigation. Its definition is precise: one knot equals one nautical mile per hour, where the nautical mile (1852 m) is defined as one minute of arc of the terrestrial meridian. This direct relationship with Earth geometry is what makes the knot a particularly practical unit for navigation, allowing distances to be estimated directly on a nautical chart without any conversion.',
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
type: 'paragraph',
|
|
124
|
+
html: 'Historically, sailors measured vessel speed using the <em>chip log</em>: a triangular piece of wood thrown into the sea attached to a rope with equally spaced knots every 14.4 metres (the proportional fraction of a nautical mile in 30 seconds). Counting the knots passing through their fingers during that time gave them the vessel speed, giving rise to the term we use today.',
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
type: 'title',
|
|
128
|
+
text: "The Beaufort Scale: The Sailor's Eye",
|
|
129
|
+
level: 3,
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
type: 'paragraph',
|
|
133
|
+
html: 'The <strong>Beaufort Scale</strong> was developed in 1805 by British Admiral Sir Francis Beaufort as an empirical method to classify wind strength from observable effects, without instrumentation. Originally conceived to estimate how much sail a ship could carry, it is today a universal reference in maritime meteorology, adopted by the World Meteorological Organization (WMO).',
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
type: 'paragraph',
|
|
137
|
+
html: 'The scale ranges from <strong>Force 0</strong> (absolute calm, sea like a mirror) to <strong>Force 12</strong> (hurricane conditions with waves over 14 metres and air full of foam and spray). For the recreational sailor, critical limits are usually Force 6 (strong breeze, 22-27 knots) for light craft and Force 7-8 for ocean-going yachts.',
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
type: 'table',
|
|
141
|
+
headers: ['Beaufort Force', 'Description', 'Sea Conditions'],
|
|
142
|
+
rows: [
|
|
143
|
+
['0', 'Calm', 'Sea like a mirror'],
|
|
144
|
+
['3', 'Gentle breeze', 'Scattered whitecaps, crests beginning to break'],
|
|
145
|
+
['6', 'Strong breeze', 'Large waves, white foam crests, possible spray'],
|
|
146
|
+
['9', 'Strong gale', 'Very high waves, visibility reduced by foam and spray'],
|
|
147
|
+
['12', 'Hurricane', 'Air completely filled with foam, sea totally white'],
|
|
148
|
+
],
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
type: 'title',
|
|
152
|
+
text: 'Nautical Speed Glossary',
|
|
153
|
+
level: 3,
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
type: 'glossary',
|
|
157
|
+
items: [
|
|
158
|
+
{ term: 'Knot (kt)', definition: 'Unit of speed equal to one nautical mile per hour (1852 m/h). International standard in maritime and air navigation.' },
|
|
159
|
+
{ term: 'SOG (Speed Over Ground)', definition: 'Actual vessel speed over the seabed, measured by GPS. Reflects the effect of marine currents on boat speed.' },
|
|
160
|
+
{ term: 'Log Speed (STW)', definition: 'Speed of the vessel relative to the surrounding water, measured by the log. Does not include current effects; key for calculating leeway.' },
|
|
161
|
+
{ term: 'Apparent Wind', definition: 'Wind experienced by the crew on board, resulting from the vector sum of true wind and the wind created by the vessel advancing. Always differs from true wind in magnitude and direction.' },
|
|
162
|
+
],
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
type: 'title',
|
|
166
|
+
text: 'Quick Conversion Formulas',
|
|
167
|
+
level: 3,
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
type: 'paragraph',
|
|
171
|
+
html: 'To convert speeds manually when you do not have access to a digital converter, use these quick approximations every sailor should know by heart:',
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
type: 'list',
|
|
175
|
+
items: [
|
|
176
|
+
'<strong>Knots to km/h:</strong> Multiply knots by 1.852. Quick approximation: knots x 2, minus 8%. For example, 10 kt ≈ 20 - 1.6 = 18.4 km/h.',
|
|
177
|
+
'<strong>Knots to mph:</strong> Multiply knots by 1.15. Approximation: knots + 15%. For example, 20 kt ≈ 23 mph.',
|
|
178
|
+
'<strong>Knots to m/s:</strong> Multiply knots by 0.514. Quick approximation: divide knots by 2. For example, 10 kt ≈ 5 m/s (exact: 5.14 m/s).',
|
|
179
|
+
],
|
|
180
|
+
},
|
|
181
|
+
{
|
|
182
|
+
type: 'tip',
|
|
183
|
+
title: 'Safety and Climatology',
|
|
184
|
+
html: 'Before setting out, always consult the maritime weather forecast. Beaufort 4-5 is manageable for most recreational vessels; from Force 6 upwards, seriously consider postponing departure if you lack sufficient experience or your boat is not prepared for those conditions.',
|
|
185
|
+
},
|
|
186
|
+
{
|
|
187
|
+
type: 'title',
|
|
188
|
+
text: 'Equipment Comparison',
|
|
189
|
+
level: 3,
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
type: 'comparative',
|
|
193
|
+
items: [
|
|
194
|
+
{
|
|
195
|
+
title: 'Digital Anemometer',
|
|
196
|
+
description: 'Electronic instrument for precise measurement of wind speed.',
|
|
197
|
+
icon: 'mdi:speedometer',
|
|
198
|
+
points: [
|
|
199
|
+
'Accuracy of ±2% under normal conditions',
|
|
200
|
+
'Requires electrical power or batteries',
|
|
201
|
+
'Can fail in extreme conditions',
|
|
202
|
+
'Instant reading and data logging',
|
|
203
|
+
],
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
title: 'Beaufort Observation',
|
|
207
|
+
description: 'Visual estimation of wind force from observable effects at sea and on land.',
|
|
208
|
+
icon: 'mdi:eye-outline',
|
|
209
|
+
highlight: true,
|
|
210
|
+
points: [
|
|
211
|
+
'Requires no instruments whatsoever',
|
|
212
|
+
'Available in any condition',
|
|
213
|
+
'Sufficient accuracy for safety decisions',
|
|
214
|
+
'Fundamental skill of the expert navigator',
|
|
215
|
+
],
|
|
216
|
+
},
|
|
217
|
+
],
|
|
218
|
+
},
|
|
219
|
+
{
|
|
220
|
+
type: 'title',
|
|
221
|
+
text: 'Navigation and Passage Planning',
|
|
222
|
+
level: 3,
|
|
223
|
+
},
|
|
224
|
+
{
|
|
225
|
+
type: 'paragraph',
|
|
226
|
+
html: 'When planning a passage, your vessel speed determines estimated times of arrival (ETA) and fuel consumption for motor vessels. For a sailing yacht, speed also depends on wind strength and direction: knowing the forecast Beaufort force lets you anticipate whether you can sail or will need the engine.',
|
|
227
|
+
},
|
|
228
|
+
{
|
|
229
|
+
type: 'paragraph',
|
|
230
|
+
html: 'In racing, the conversion between knots and metres per second is especially useful for calculating VMG (Velocity Made Good) and for analysing sail polars. Meteorologists and numerical forecast models typically give wind in m/s or km/h, so conversion to knots is a routine step in tactical planning.',
|
|
231
|
+
},
|
|
232
|
+
];
|
|
233
|
+
|
|
234
|
+
const schemas: SpeedConverterLocaleContent['schemas'] = [
|
|
235
|
+
{
|
|
236
|
+
'@context': 'https://schema.org',
|
|
237
|
+
'@type': 'SoftwareApplication',
|
|
238
|
+
name: title,
|
|
239
|
+
description,
|
|
240
|
+
applicationCategory: 'UtilityApplication',
|
|
241
|
+
operatingSystem: 'Web',
|
|
242
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
243
|
+
} as WithContext<SoftwareApplication>,
|
|
244
|
+
{
|
|
245
|
+
'@context': 'https://schema.org',
|
|
246
|
+
'@type': 'FAQPage',
|
|
247
|
+
mainEntity: faq.map((item) => ({
|
|
248
|
+
'@type': 'Question',
|
|
249
|
+
name: item.question,
|
|
250
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
251
|
+
})),
|
|
252
|
+
} as WithContext<FAQPage>,
|
|
253
|
+
{
|
|
254
|
+
'@context': 'https://schema.org',
|
|
255
|
+
'@type': 'HowTo',
|
|
256
|
+
name: `How to use: ${title}`,
|
|
257
|
+
step: howTo.map((s) => ({ '@type': 'HowToStep', name: s.name, text: s.text })),
|
|
258
|
+
} as WithContext<HowTo>,
|
|
259
|
+
];
|
|
260
|
+
|
|
261
|
+
export const content: SpeedConverterLocaleContent = {
|
|
262
|
+
slug,
|
|
263
|
+
title,
|
|
264
|
+
description,
|
|
265
|
+
ui,
|
|
266
|
+
seo,
|
|
267
|
+
faq,
|
|
268
|
+
bibliography,
|
|
269
|
+
howTo,
|
|
270
|
+
schemas,
|
|
271
|
+
};
|
|
@@ -0,0 +1,271 @@
|
|
|
1
|
+
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { SpeedConverterUI, SpeedConverterLocaleContent } from '../index';
|
|
3
|
+
|
|
4
|
+
const slug = 'conversor-velocidad-nautica';
|
|
5
|
+
const title = 'Conversor de Velocidad Nautica y Escala Beaufort';
|
|
6
|
+
const description =
|
|
7
|
+
'Convierte entre nudos, km/h, m/s y mph al instante. Incluye tabla Beaufort completa con descripcion del estado del mar y efectos del viento.';
|
|
8
|
+
|
|
9
|
+
const beaufortData = [
|
|
10
|
+
{ force: 0, name: 'Calma', sea: 'Mar como un espejo', effect: 'El humo sube verticalmente', kn: '0' },
|
|
11
|
+
{ force: 1, name: 'Ventolina', sea: 'Rizos como escamas de pescado', effect: 'El humo indica la direccion del viento', kn: '1-3' },
|
|
12
|
+
{ force: 2, name: 'Flojito', sea: 'Pequenas olas que no rompen', effect: 'Se siente el viento en la cara', kn: '4-6' },
|
|
13
|
+
{ force: 3, name: 'Flojo', sea: 'Ovejas blancas dispersas', effect: 'Se mueven las hojas', kn: '7-10' },
|
|
14
|
+
{ force: 4, name: 'Bonancible', sea: 'Frecuentes borreguillos', effect: 'Se levanta polvo y papeles', kn: '11-16' },
|
|
15
|
+
{ force: 5, name: 'Fresquito', sea: 'Olas moderadas, muchos borreguillos', effect: 'Dificultad para usar el paraguas', kn: '17-21' },
|
|
16
|
+
{ force: 6, name: 'Fresco', sea: 'Olas grandes, crestas de espuma blanca', effect: 'Dificultad para caminar contra el viento', kn: '22-27' },
|
|
17
|
+
{ force: 7, name: 'Frescachon', sea: 'Mar gruesa, espuma en hileras', effect: 'Dificultad para caminar', kn: '28-33' },
|
|
18
|
+
{ force: 8, name: 'Temporal', sea: 'Olas de gran altura, rompientes', effect: 'Gran dificultad para caminar', kn: '34-40' },
|
|
19
|
+
{ force: 9, name: 'Temporal fuerte', sea: 'Olas muy altas, visibilidad reducida', effect: 'Danos en edificios', kn: '41-47' },
|
|
20
|
+
{ force: 10, name: 'Temporal duro', sea: 'Olas excepcionalmente altas, mar blanca', effect: 'Arboles arrancados', kn: '48-55' },
|
|
21
|
+
{ force: 11, name: 'Temporal muy duro', sea: 'Olas enormes, espuma cubre el mar', effect: 'Devastacion amplia', kn: '56-63' },
|
|
22
|
+
{ force: 12, name: 'Huracan', sea: 'Aire lleno de espuma y rociones', effect: 'Catastrofe total', kn: '64+' },
|
|
23
|
+
];
|
|
24
|
+
|
|
25
|
+
const ui: SpeedConverterUI = {
|
|
26
|
+
knLabel: 'Nudos (kt)',
|
|
27
|
+
kmhLabel: 'Kilometros/hora',
|
|
28
|
+
msLabel: 'Metros/segundo',
|
|
29
|
+
mphLabel: 'Millas/hora',
|
|
30
|
+
beaufortTitle: 'Escala Beaufort',
|
|
31
|
+
forceLabel: 'Fuerza',
|
|
32
|
+
descriptionLabel: 'Descripcion',
|
|
33
|
+
knotsLabel: 'Nudos',
|
|
34
|
+
effectLabel: 'Efecto Visual',
|
|
35
|
+
seaStateLabel: 'Estado del Mar',
|
|
36
|
+
windEffectLabel: 'Efecto en Tierra',
|
|
37
|
+
faqTitle: 'Preguntas Frecuentes',
|
|
38
|
+
bibliographyTitle: 'Referencias',
|
|
39
|
+
beaufortDataJson: JSON.stringify(beaufortData),
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
const faq: SpeedConverterLocaleContent['faq'] = [
|
|
43
|
+
{
|
|
44
|
+
question: '¿Por que se mide la velocidad del barco en nudos?',
|
|
45
|
+
answer: 'El nudo es una unidad de velocidad equivalente a una milla nautica por hora. Su origen es historico: los marineros median la velocidad de la nave arrojando al mar una cuerda con nudos equidistantes atada a un trozo de madera, y contaban cuantos nudos pasaban entre sus dedos en un tiempo determinado. Hoy sigue siendo la unidad internacional estandar en navegacion maritima y aviacion.',
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
question: '¿Que es la Escala Beaufort y como se usa en la navegacion?',
|
|
49
|
+
answer: 'La Escala Beaufort es una escala empirica que relaciona la velocidad del viento con los efectos observados en el mar y en tierra. Desarrollada por el almirante britanico Francis Beaufort en 1805, va del 0 (calma absoluta) al 12 (huracan). Los navegantes la usan para estimar la intensidad del viento sin necesidad de instrumentos, observando el estado del mar.',
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
question: '¿Cual es la diferencia entre SOG y STW en navegacion?',
|
|
53
|
+
answer: 'SOG (Speed Over Ground) es la velocidad real del barco respecto al fondo marino, medida por el GPS. STW (Speed Through Water) o velocidad de corredera es la velocidad del barco respecto al agua que lo rodea. La diferencia entre ambas refleja el efecto de las corrientes marinas. Para planificar llegadas y calcular combustible se usa la SOG; para calcular el abatimiento se usa la STW.',
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
question: '¿A cuantos km/h equivale un nudo?',
|
|
57
|
+
answer: 'Un nudo equivale exactamente a 1,852 kilometros por hora, que es la longitud de una milla nautica (definida como un minuto de arco del meridiano terrestre). Por tanto, 10 nudos son 18,52 km/h, 20 nudos son 37,04 km/h y 30 nudos son 55,56 km/h.',
|
|
58
|
+
},
|
|
59
|
+
];
|
|
60
|
+
|
|
61
|
+
const howTo: SpeedConverterLocaleContent['howTo'] = [
|
|
62
|
+
{
|
|
63
|
+
name: 'Introduce la velocidad en cualquier unidad',
|
|
64
|
+
text: 'Escribe el valor de velocidad en el campo correspondiente (nudos, km/h, m/s o mph) y los demas campos se actualizaran automaticamente.',
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
name: 'Consulta la fuerza Beaufort equivalente',
|
|
68
|
+
text: 'La tarjeta Beaufort muestra en tiempo real la fuerza del viento correspondiente a la velocidad introducida, con el estado del mar y efectos en tierra.',
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
name: 'Haz clic en una fila de la tabla Beaufort',
|
|
72
|
+
text: 'Puedes seleccionar directamente cualquier escala Beaufort en la tabla inferior para ver su velocidad minima en todos los formatos.',
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
name: 'Usa los resultados para planificar tu navegacion',
|
|
76
|
+
text: 'Combina la informacion de velocidad y viento para decidir si las condiciones son apropiadas para tu tipo de embarcacion y travesia planificada.',
|
|
77
|
+
},
|
|
78
|
+
];
|
|
79
|
+
|
|
80
|
+
const bibliography: SpeedConverterLocaleContent['bibliography'] = [
|
|
81
|
+
{
|
|
82
|
+
name: 'Met Office - The Beaufort Scale',
|
|
83
|
+
url: 'https://www.metoffice.gov.uk/weather/guides/coast-and-sea/beaufort-scale',
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
name: 'IMO - International Maritime Organization',
|
|
87
|
+
url: 'https://www.imo.org/',
|
|
88
|
+
},
|
|
89
|
+
];
|
|
90
|
+
|
|
91
|
+
const seo: SpeedConverterLocaleContent['seo'] = [
|
|
92
|
+
{
|
|
93
|
+
type: 'title',
|
|
94
|
+
text: 'Guia del Conversor de Velocidad Nautica y Escala Beaufort',
|
|
95
|
+
level: 2,
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
type: 'paragraph',
|
|
99
|
+
html: 'La velocidad es un dato fundamental en la navegacion maritima. Conocer cuantos nudos hace tu barco, como se traduce eso en kilometros por hora para planificar una travesia, o que fuerza Beaufort representa el viento que estas soportando, son calculos que todo navegante necesita dominar.',
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
type: 'paragraph',
|
|
103
|
+
html: 'Este conversor de velocidad nautica te permite transformar entre nudos, km/h, m/s y mph de forma instantanea, ademas de identificar automaticamente la fuerza Beaufort correspondiente con su descripcion del estado del mar y los efectos observables del viento.',
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
type: 'stats',
|
|
107
|
+
items: [
|
|
108
|
+
{ label: 'Unidad Estandar', value: 'Nudos (kt)', icon: 'mdi:speedometer' },
|
|
109
|
+
{ label: 'Escala de Viento', value: 'Beaufort (0-12)', icon: 'mdi:weather-windy' },
|
|
110
|
+
{ label: 'Conversion Clave', value: '1 kt = 1.85 km/h', icon: 'mdi:swap-horizontal' },
|
|
111
|
+
],
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
type: 'title',
|
|
115
|
+
text: '¿Por que se mide la velocidad en Nudos?',
|
|
116
|
+
level: 3,
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
type: 'paragraph',
|
|
120
|
+
html: 'El <strong>nudo (kt)</strong> es la unidad de velocidad oficial en navegacion maritima y aerea. Su definicion es precisa: un nudo equivale a una milla nautica por hora, donde la milla nautica (1852 m) se define como un minuto de arco del meridiano terrestre. Esta relacion directa con la geometria de la Tierra es lo que hace del nudo una unidad especialmente practica para la navegacion, ya que permite estimar distancias directamente sobre la carta nautica sin conversion alguna.',
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
type: 'paragraph',
|
|
124
|
+
html: 'Historicamente, los marinos median la velocidad de la nave usando la <em>corredera de barquilla</em>: un trozo de madera triangular arrojado al mar atado a una cuerda con nudos equidistantes cada 14,4 metros (la fraccion proporcional de una milla nautica en 30 segundos). Contando los nudos que pasaban entre los dedos durante ese tiempo, obtenian la velocidad del barco, dando origen al termino que usamos hoy.',
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
type: 'title',
|
|
128
|
+
text: 'La Escala Beaufort: El Ojo del Marino',
|
|
129
|
+
level: 3,
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
type: 'paragraph',
|
|
133
|
+
html: 'La <strong>Escala Beaufort</strong> fue desarrollada en 1805 por el almirante britanico Sir Francis Beaufort como un metodo empirico para clasificar la fuerza del viento a partir de sus efectos observables, sin necesidad de instrumentacion. Originalmente concebida para estimar la cantidad de vela que un barco podia largar, hoy es una referencia universal en meteorologia maritima, adoptada por la Organizacion Meteorologica Mundial (OMM).',
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
type: 'paragraph',
|
|
137
|
+
html: 'La escala va del <strong>Fuerza 0</strong> (calma absoluta, mar como un espejo) al <strong>Fuerza 12</strong> (condiciones de huracan con olas de mas de 14 metros y el aire lleno de espuma y rociada). Para el navegante de recreo, los limites criticos suelen ser el Fuerza 6 (fresco, 22-27 nudos) para embarcaciones ligeras y el Fuerza 7-8 para veleros de oceano.',
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
type: 'table',
|
|
141
|
+
headers: ['Fuerza Beaufort', 'Denominacion', 'Efectos en el Mar'],
|
|
142
|
+
rows: [
|
|
143
|
+
['0', 'Calma', 'Mar como un espejo'],
|
|
144
|
+
['3', 'Flojo', 'Ovejas blancas dispersas, crestas que empiezan a romper'],
|
|
145
|
+
['6', 'Fresco', 'Olas grandes, crestas de espuma blanca, rociada posible'],
|
|
146
|
+
['9', 'Temporal fuerte', 'Olas muy altas, visibilidad reducida por espuma y rociada'],
|
|
147
|
+
['12', 'Huracan', 'Aire completamente lleno de espuma, mar totalmente blanca'],
|
|
148
|
+
],
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
type: 'title',
|
|
152
|
+
text: 'Glosario Nautico de Velocidad',
|
|
153
|
+
level: 3,
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
type: 'glossary',
|
|
157
|
+
items: [
|
|
158
|
+
{ term: 'Nudo (kt)', definition: 'Unidad de velocidad equivalente a una milla nautica por hora (1852 m/h). Estandar internacional en navegacion maritima y aerea.' },
|
|
159
|
+
{ term: 'SOG (Speed Over Ground)', definition: 'Velocidad real del buque sobre el fondo marino, medida por GPS. Refleja el efecto de las corrientes marinas sobre la velocidad del barco.' },
|
|
160
|
+
{ term: 'Velocidad de Corredera (STW)', definition: 'Velocidad del barco respecto al agua circundante, medida por la corredera. No incluye el efecto de corrientes; es clave para calcular el abatimiento.' },
|
|
161
|
+
{ term: 'Viento Aparente', definition: 'Viento que percibe el tripulante a bordo, resultado de la suma vectorial del viento real y el viento generado por el avance del barco. Siempre difiere del viento real en magnitud y direccion.' },
|
|
162
|
+
],
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
type: 'title',
|
|
166
|
+
text: 'Formulas de Conversion Rapidas',
|
|
167
|
+
level: 3,
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
type: 'paragraph',
|
|
171
|
+
html: 'Para convertir velocidades manualmente cuando no tienes acceso a un conversor digital, puedes usar estas aproximaciones rapidas que todo navegante deberia conocer de memoria:',
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
type: 'list',
|
|
175
|
+
items: [
|
|
176
|
+
'<strong>Nudos a km/h:</strong> Multiplica los nudos por 1,852. Aproximacion rapida: nudos x 2, menos el 8%. Por ejemplo, 10 kt ≈ 20 - 1,6 = 18,4 km/h.',
|
|
177
|
+
'<strong>Nudos a mph:</strong> Multiplica los nudos por 1,15. Aproximacion: nudos + 15%. Por ejemplo, 20 kt ≈ 23 mph.',
|
|
178
|
+
'<strong>Nudos a m/s:</strong> Multiplica los nudos por 0,514. Aproximacion rapida: divide los nudos entre 2. Por ejemplo, 10 kt ≈ 5 m/s (exacto: 5,14 m/s).',
|
|
179
|
+
],
|
|
180
|
+
},
|
|
181
|
+
{
|
|
182
|
+
type: 'tip',
|
|
183
|
+
title: 'Seguridad y Climatologia',
|
|
184
|
+
html: 'Antes de salir a navegar, consulta siempre el parte meteorologico maritimo. Un Beaufort 4-5 es manejable para la mayoria de embarcaciones de recreo; a partir del Fuerza 6, considera seriamente posponer la salida si no tienes experiencia suficiente o si tu barco no esta preparado para esas condiciones.',
|
|
185
|
+
},
|
|
186
|
+
{
|
|
187
|
+
type: 'title',
|
|
188
|
+
text: 'Comparativa de Equipamiento',
|
|
189
|
+
level: 3,
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
type: 'comparative',
|
|
193
|
+
items: [
|
|
194
|
+
{
|
|
195
|
+
title: 'Anemometro Digital',
|
|
196
|
+
description: 'Instrumento electronico de medicion precisa de la velocidad del viento.',
|
|
197
|
+
icon: 'mdi:speedometer',
|
|
198
|
+
points: [
|
|
199
|
+
'Precision de ±2% en condiciones normales',
|
|
200
|
+
'Requiere alimentacion electrica o baterias',
|
|
201
|
+
'Puede averiarse en condiciones extremas',
|
|
202
|
+
'Lectura instantanea y registro de datos',
|
|
203
|
+
],
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
title: 'Observacion Beaufort',
|
|
207
|
+
description: 'Estimacion visual de la fuerza del viento mediante efectos observables en el mar y la tierra.',
|
|
208
|
+
icon: 'mdi:eye-outline',
|
|
209
|
+
highlight: true,
|
|
210
|
+
points: [
|
|
211
|
+
'No requiere ningun instrumento',
|
|
212
|
+
'Disponible en cualquier condicion',
|
|
213
|
+
'Precision suficiente para decisiones de seguridad',
|
|
214
|
+
'Habilidad fundamental del navegante experto',
|
|
215
|
+
],
|
|
216
|
+
},
|
|
217
|
+
],
|
|
218
|
+
},
|
|
219
|
+
{
|
|
220
|
+
type: 'title',
|
|
221
|
+
text: 'Navegacion y Planificacion de Derrotas',
|
|
222
|
+
level: 3,
|
|
223
|
+
},
|
|
224
|
+
{
|
|
225
|
+
type: 'paragraph',
|
|
226
|
+
html: 'Al planificar una derrota, la velocidad de tu embarcacion determina los tiempos estimados de llegada (ETA) y el consumo de combustible en embarcaciones a motor. Para un velero, la velocidad dependera ademas de la intensidad y direccion del viento: conocer la fuerza Beaufort prevista te permite anticipar si podras navegar a vela o si necesitaras el motor.',
|
|
227
|
+
},
|
|
228
|
+
{
|
|
229
|
+
type: 'paragraph',
|
|
230
|
+
html: 'En regatas, la conversion entre nudos y metros por segundo es especialmente util para calcular el VMG (Velocity Made Good) y para analizar polares de vela. Los meteorologos y modelos numericos de prediccion suelen dar el viento en m/s o km/h, por lo que la conversion a nudos es un paso habitual en la planificacion tactica.',
|
|
231
|
+
},
|
|
232
|
+
];
|
|
233
|
+
|
|
234
|
+
const schemas: SpeedConverterLocaleContent['schemas'] = [
|
|
235
|
+
{
|
|
236
|
+
'@context': 'https://schema.org',
|
|
237
|
+
'@type': 'SoftwareApplication',
|
|
238
|
+
name: title,
|
|
239
|
+
description,
|
|
240
|
+
applicationCategory: 'UtilityApplication',
|
|
241
|
+
operatingSystem: 'Web',
|
|
242
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
243
|
+
} as WithContext<SoftwareApplication>,
|
|
244
|
+
{
|
|
245
|
+
'@context': 'https://schema.org',
|
|
246
|
+
'@type': 'FAQPage',
|
|
247
|
+
mainEntity: faq.map((item) => ({
|
|
248
|
+
'@type': 'Question',
|
|
249
|
+
name: item.question,
|
|
250
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
251
|
+
})),
|
|
252
|
+
} as WithContext<FAQPage>,
|
|
253
|
+
{
|
|
254
|
+
'@context': 'https://schema.org',
|
|
255
|
+
'@type': 'HowTo',
|
|
256
|
+
name: `Como usar: ${title}`,
|
|
257
|
+
step: howTo.map((s) => ({ '@type': 'HowToStep', name: s.name, text: s.text })),
|
|
258
|
+
} as WithContext<HowTo>,
|
|
259
|
+
];
|
|
260
|
+
|
|
261
|
+
export const content: SpeedConverterLocaleContent = {
|
|
262
|
+
slug,
|
|
263
|
+
title,
|
|
264
|
+
description,
|
|
265
|
+
ui,
|
|
266
|
+
seo,
|
|
267
|
+
faq,
|
|
268
|
+
bibliography,
|
|
269
|
+
howTo,
|
|
270
|
+
schemas,
|
|
271
|
+
};
|