@jjlmoya/utils-drones 1.5.0 → 1.7.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 +64 -63
- package/src/category/i18n/de.ts +106 -0
- package/src/category/i18n/id.ts +106 -0
- package/src/category/i18n/it.ts +106 -0
- package/src/category/i18n/ja.ts +106 -0
- package/src/category/i18n/ko.ts +106 -0
- package/src/category/i18n/nl.ts +106 -0
- package/src/category/i18n/pl.ts +106 -0
- package/src/category/i18n/pt.ts +106 -0
- package/src/category/i18n/ru.ts +106 -0
- package/src/category/i18n/sv.ts +106 -0
- package/src/category/i18n/tr.ts +106 -0
- package/src/category/i18n/zh.ts +106 -0
- package/src/category/index.ts +12 -0
- package/src/components/SecurityWarning.astro +140 -0
- package/src/tests/faq_count.test.ts +1 -1
- package/src/tests/i18n_coverage.test.ts +36 -0
- package/src/tests/locale_completeness.test.ts +2 -2
- package/src/tests/schemas_fulfillment.test.ts +23 -0
- package/src/tests/slug_uniqueness.test.ts +81 -0
- package/src/tests/title_quality.test.ts +55 -0
- package/src/tool/antenna-length-calculator/component.astro +70 -13
- package/src/tool/antenna-length-calculator/i18n/de.ts +276 -0
- package/src/tool/antenna-length-calculator/i18n/en.ts +76 -38
- package/src/tool/antenna-length-calculator/i18n/es.ts +76 -38
- package/src/tool/antenna-length-calculator/i18n/fr.ts +76 -38
- package/src/tool/antenna-length-calculator/i18n/id.ts +242 -0
- package/src/tool/antenna-length-calculator/i18n/it.ts +276 -0
- package/src/tool/antenna-length-calculator/i18n/ja.ts +276 -0
- package/src/tool/antenna-length-calculator/i18n/ko.ts +276 -0
- package/src/tool/antenna-length-calculator/i18n/nl.ts +276 -0
- package/src/tool/antenna-length-calculator/i18n/pl.ts +276 -0
- package/src/tool/antenna-length-calculator/i18n/pt.ts +276 -0
- package/src/tool/antenna-length-calculator/i18n/ru.ts +276 -0
- package/src/tool/antenna-length-calculator/i18n/sv.ts +276 -0
- package/src/tool/antenna-length-calculator/i18n/tr.ts +276 -0
- package/src/tool/antenna-length-calculator/i18n/zh.ts +276 -0
- package/src/tool/antenna-length-calculator/index.ts +12 -0
- package/src/tool/drone-flight-time/component.astro +320 -319
- package/src/tool/drone-flight-time/components/FlightDashboard.astro +6 -0
- package/src/tool/drone-flight-time/i18n/de.ts +238 -0
- package/src/tool/drone-flight-time/i18n/en.ts +76 -38
- package/src/tool/drone-flight-time/i18n/es.ts +76 -38
- package/src/tool/drone-flight-time/i18n/fr.ts +76 -38
- package/src/tool/drone-flight-time/i18n/id.ts +238 -0
- package/src/tool/drone-flight-time/i18n/it.ts +238 -0
- package/src/tool/drone-flight-time/i18n/ja.ts +239 -0
- package/src/tool/drone-flight-time/i18n/ko.ts +239 -0
- package/src/tool/drone-flight-time/i18n/nl.ts +239 -0
- package/src/tool/drone-flight-time/i18n/pl.ts +239 -0
- package/src/tool/drone-flight-time/i18n/pt.ts +239 -0
- package/src/tool/drone-flight-time/i18n/ru.ts +239 -0
- package/src/tool/drone-flight-time/i18n/sv.ts +239 -0
- package/src/tool/drone-flight-time/i18n/tr.ts +239 -0
- package/src/tool/drone-flight-time/i18n/zh.ts +239 -0
- package/src/tool/drone-flight-time/index.ts +12 -0
- package/src/tool/gps-coordinates-converter/component.astro +473 -549
- package/src/tool/gps-coordinates-converter/components/GpsHistory.astro +6 -1
- package/src/tool/gps-coordinates-converter/i18n/de.ts +222 -0
- package/src/tool/gps-coordinates-converter/i18n/en.ts +76 -20
- package/src/tool/gps-coordinates-converter/i18n/es.ts +76 -20
- package/src/tool/gps-coordinates-converter/i18n/fr.ts +75 -2
- package/src/tool/gps-coordinates-converter/i18n/id.ts +222 -0
- package/src/tool/gps-coordinates-converter/i18n/it.ts +222 -0
- package/src/tool/gps-coordinates-converter/i18n/ja.ts +222 -0
- package/src/tool/gps-coordinates-converter/i18n/ko.ts +222 -0
- package/src/tool/gps-coordinates-converter/i18n/nl.ts +222 -0
- package/src/tool/gps-coordinates-converter/i18n/pl.ts +222 -0
- package/src/tool/gps-coordinates-converter/i18n/pt.ts +222 -0
- package/src/tool/gps-coordinates-converter/i18n/ru.ts +222 -0
- package/src/tool/gps-coordinates-converter/i18n/sv.ts +222 -0
- package/src/tool/gps-coordinates-converter/i18n/tr.ts +222 -0
- package/src/tool/gps-coordinates-converter/i18n/zh.ts +222 -0
- package/src/tool/gps-coordinates-converter/index.ts +12 -0
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
import type { GpsCoordinatesConverterLocaleContent } from '../index';
|
|
2
|
+
import type { WithContext, SoftwareApplication, FAQPage, HowTo } from 'schema-dts';
|
|
3
|
+
|
|
4
|
+
const slug = 'conversor-de-coordenadas-gps';
|
|
5
|
+
const title = 'Conversor de Coordenadas GPS para Navegacao em Waypoints';
|
|
6
|
+
const description = 'Converta coordenadas GPS entre Graus Decimais (DD), Graus Minutos Segundos (DMS) e formatos de hardware GPS. Essencial para waypoints ArduPilot e INAV.';
|
|
7
|
+
|
|
8
|
+
const faqItems = [
|
|
9
|
+
{
|
|
10
|
+
question: 'What is the difference between DD and DMS?',
|
|
11
|
+
answer: `DD (Decimal Degrees) uses a single number with decimals (e.g., 51.50). DMS (Degrees, Minutes, Seconds) divides the degree into sexagesimal fractions (e.g., 51° 30' 0").`,
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
question: 'Why are negative coordinates used?',
|
|
15
|
+
answer: 'In the Decimal system (DD), latitudes south of the Equator and longitudes west of Greenwich are indicated with a negative sign to facilitate mathematical calculations.',
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
question: 'How much precision do I lose when converting?',
|
|
19
|
+
answer: 'Our tool uses double-precision floating point. With 6 decimals in DD, the precision is about 11 centimeters, which is more than enough for drones and civil navigation.',
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
question: 'Does this tool work offline?',
|
|
23
|
+
answer: 'Yes, once the page is loaded, all conversion logic is local (client-side). Only the map requires a connection to download new tiles.',
|
|
24
|
+
},
|
|
25
|
+
];
|
|
26
|
+
|
|
27
|
+
const schemas: GpsCoordinatesConverterLocaleContent['schemas'] = [
|
|
28
|
+
{
|
|
29
|
+
'@context': 'https://schema.org',
|
|
30
|
+
'@type': 'FAQPage',
|
|
31
|
+
mainEntity: faqItems.map((item) => ({
|
|
32
|
+
'@type': 'Question',
|
|
33
|
+
name: item.question,
|
|
34
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
35
|
+
})),
|
|
36
|
+
} as WithContext<FAQPage>,
|
|
37
|
+
{
|
|
38
|
+
'@context': 'https://schema.org',
|
|
39
|
+
'@type': 'HowTo',
|
|
40
|
+
name: title,
|
|
41
|
+
description: description,
|
|
42
|
+
step: [
|
|
43
|
+
{
|
|
44
|
+
'@type': 'HowToStep',
|
|
45
|
+
position: 1,
|
|
46
|
+
name: 'Input Coordinates',
|
|
47
|
+
text: 'Enter your coordinates in either Decimal Degrees (DD) or Degrees, Minutes, Seconds (DMS) format.',
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
'@type': 'HowToStep',
|
|
51
|
+
position: 2,
|
|
52
|
+
name: 'Review Conversion',
|
|
53
|
+
text: 'The tool instantly displays the converted coordinates in all supported formats.',
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
'@type': 'HowToStep',
|
|
57
|
+
position: 3,
|
|
58
|
+
name: 'Verify on Map',
|
|
59
|
+
text: 'Check the map visualization to ensure the coordinates point to the correct location.',
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
'@type': 'HowToStep',
|
|
63
|
+
position: 4,
|
|
64
|
+
name: 'Copy Result',
|
|
65
|
+
text: 'Copy the converted coordinates to your clipboard for use in navigation systems or mission planning.',
|
|
66
|
+
},
|
|
67
|
+
],
|
|
68
|
+
} as WithContext<HowTo>,
|
|
69
|
+
{
|
|
70
|
+
'@context': 'https://schema.org',
|
|
71
|
+
'@type': 'SoftwareApplication',
|
|
72
|
+
name: title,
|
|
73
|
+
description: description,
|
|
74
|
+
applicationCategory: 'OtherApplication',
|
|
75
|
+
operatingSystem: 'Web',
|
|
76
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
77
|
+
} as WithContext<SoftwareApplication>,
|
|
78
|
+
];
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
export const content: GpsCoordinatesConverterLocaleContent = {
|
|
82
|
+
slug,
|
|
83
|
+
title,
|
|
84
|
+
description,
|
|
85
|
+
faqTitle: 'Perguntas Frequentes',
|
|
86
|
+
bibliographyTitle: 'Referências Bibliográficas',
|
|
87
|
+
ui: {
|
|
88
|
+
faqTitle: 'Perguntas Frequentes',
|
|
89
|
+
bibliographyTitle: 'Referências Bibliográficas',
|
|
90
|
+
latitude: 'Latitude',
|
|
91
|
+
longitude: 'Longitude',
|
|
92
|
+
decimalDegrees: 'Graus Decimais (DD)',
|
|
93
|
+
degreesMinutesSeconds: 'Graus, Minutos, Segundos (DMS)',
|
|
94
|
+
gpsHardware: 'Formato de Hardware GPS (Bruto)',
|
|
95
|
+
copy: 'Copiar',
|
|
96
|
+
copied: 'Copiado!',
|
|
97
|
+
invalidCoordinate: 'Coordenada Inválida',
|
|
98
|
+
pasteHardwareMapFormat: 'Cole dados brutos (ex: 404306300, -739981800)',
|
|
99
|
+
validation: {
|
|
100
|
+
latRange: 'A latitude deve estar entre -90 e 90.',
|
|
101
|
+
lonRange: 'A longitude deve estar entre -180 e 180.',
|
|
102
|
+
invalidFormat: 'Formato não reconhecido. Por favor, verifique a sua entrada.',
|
|
103
|
+
},
|
|
104
|
+
},
|
|
105
|
+
seo: [
|
|
106
|
+
{
|
|
107
|
+
type: 'title',
|
|
108
|
+
text: 'Compreender as Coordenadas GPS: A Ferramenta Indispensável para a Navegação de Drones',
|
|
109
|
+
level: 2,
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
type: 'paragraph',
|
|
113
|
+
html: 'Quando se trata de voo autónomo de drones, topografia aérea ou recuperação de equipamentos perdidos, a precisão e a uniformidade são cruciais. As coordenadas GPS formam a espinha dorsal da navegação, mas diferentes sistemas (como o Betaflight, INAV, ArduPilot e Google Maps) usam formatos diferentes. O nosso <strong>Conversor de Coordenadas GPS</strong> preenche essa lacuna e garante que os seus waypoints se localizem exatamente onde tenciona.',
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
type: 'title',
|
|
117
|
+
text: 'Os Três Formatos GPS Essenciais',
|
|
118
|
+
level: 3,
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
type: 'title',
|
|
122
|
+
text: '1. Graus Decimais (Decimal Degrees - DD)',
|
|
123
|
+
level: 4,
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
type: 'paragraph',
|
|
127
|
+
html: 'Este é, hoje em dia, o formato mais comum no mundo, adotado de forma abrangente pelo <strong>Google Maps</strong>, smartphones modernos e a maioria dos serviços de mapeamento na web. Expressa a posição como um simples número decimal (ex: <code>40.7128, -74.0060</code>). É extremamente fácil de copiar, colar e processar por computadores.',
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
type: 'list',
|
|
131
|
+
items: [
|
|
132
|
+
'Latitudes positivas estão no hemisfério norte; latitudes negativas no hemisfério sul.',
|
|
133
|
+
'Longitudes positivas ficam a leste do Meridiano de Greenwich; longitudes negativas ficam a oeste.',
|
|
134
|
+
],
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
type: 'title',
|
|
138
|
+
text: '2. Graus, Minutos, Segundos (Degrees, Minutes, Seconds - DMS)',
|
|
139
|
+
level: 4,
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
type: 'paragraph',
|
|
143
|
+
html: 'Este é o formato tradicional utilizado na navegação marítima, aeronáutica e em mapas topográficos mais antigos (ex: <code>40° 42\' 46.08" N, 74° 0\' 21.6" W</code>). É mais intuitivo para a navegação humana em mapas impressos, dividindo a Terra em 360 graus, com cada grau dividido em 60 minutos e cada minuto em 60 segundos. No entanto, o seu formato com símbolos específicos (como graus e aspas) pode torná-lo moroso ou complexo de inserir digitalmente durante a programação de trajetos de voo.',
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
type: 'title',
|
|
147
|
+
text: '3. Formato GPS em Bruto / Hardware (ArduPilot / INAV)',
|
|
148
|
+
level: 4,
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
type: 'paragraph',
|
|
152
|
+
html: 'Ao extrair comandos de registos via Interface de Linha de Comando (CLI), ou se visualizar diretamente ficheiros Blackbox não processados de registos de voo, bem como a operar ligações de protocolo (como a partilha MAVLink base do ArduPilot), é imensamente comum ver coordenadas representadas por extensos números inteiros de grandes proporções algorítmicas (ex: <code>407128000, -740060000</code>).',
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
type: 'paragraph',
|
|
156
|
+
html: 'Isso é obtido porque efetivamente essas infraestruturas agarram a coordenada que constaria nativamente sob Graus Decimais (os números com vírgula atrás referidos) mas o processamento dos mesmos por um multiplicador da ordem dos "10 Milhões" por via de um coeficiente <strong> (10,000,000 ou notificado via exponencial 1e7)</strong>, retira desse formato qualquer fração sob forma de decimal. Tal acontece fundamentalmente para a gestão de cálculos a elevadas frequências a ser operadas, de sobremaneira incrivelmente super rápidas, feitas no âmago pela micro controladora lógica. Uma CPU processa um número interiro absoluto largamente mais célere e eficaz contra a sobrelotação computacional comparativamente no manusear do valor em fator decimal (flutuante). Este formato, ou ao converte lo nos dois outros por nosso intermédio reverte todo fluxo descodificando da Blackbox.',
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
type: 'title',
|
|
160
|
+
text: 'Casos em que o Navegador de Drone carece ou irá usar fortemente destas conversões',
|
|
161
|
+
level: 3,
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
type: 'paragraph',
|
|
165
|
+
html: 'Conseguimos indicar facilmente cenários essenciais que ditam em uso contínuo como esta máquina conversora atua de modo prático:',
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
type: 'list',
|
|
169
|
+
items: [
|
|
170
|
+
'<strong>Buscas, Busca E Recuperação da Aeronave Extraviada (Lost Drone Recovery):</strong> Se perder vídeo vai contar estritamente da informação vital mostrada no Display do piloto FPV e com recurso frequente aos visores da Rádio Taranis ou de outras marcas a Telemetria resguardou-os em (geralmente sob DMS). Consegue os copiar duma foto que tenha registado e os atirar neste campo para obteres um Ponto fixo a inserir depois na app para ir buscar com GPS o Drone no cenario de impacto no Google Maps (que necessita do formato D Decimais)',
|
|
171
|
+
'<strong>O Cúmulo Do rigor exigido nos Trajetos ou Waypoint :</strong> Um projeto da área num programa fidedigno de cartografia base PC - como o QGControl e Mission Planner a um levantamento ou rota, ao dispor as coordeandas importadas em plano DMS para se desenhar para formato DD nestas aplicações a conversão afiança todo o estrito respeito para não que se passe um palmo num voo indevido de rastreio.',
|
|
172
|
+
'<strong>Na Raiz Do Hardware - Programando Modificadores RTH por CLI:</strong> Há situações críticas em que necessita acionar um recurso via Prompt de Resgate Ocular ou Fixo. Nessa condição a obrigatoriedade da digitação cega crua nos seus zeros via Raw será inadiável pois essa programação em certas BIOS firmware apenas escutará sob essa notação em grandes inteiros para fixar aquele exato salvamento em retorno de home (casa).',
|
|
173
|
+
],
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
type: 'title',
|
|
177
|
+
text: 'Análise Explicativa e Concreta sobre A Casa Das Decimais do GPS',
|
|
178
|
+
level: 3,
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
type: 'paragraph',
|
|
182
|
+
html: 'Um erro minúsculo em que o decimal final fuja qual seria afinal sua implicação ? Olhe para esta grelha prática avaliando a zona do Equador e o fator em precisão da medição GPS : ',
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
type: 'list',
|
|
186
|
+
items: [
|
|
187
|
+
'<strong>Precisão Apenas À Primeira Cada ( 1 só decimal):</strong> (ex 40.1 ) , este ponto no horizonte significa uma gigantesca margem de desvio no mundo num alcance e erro tolerado num desfecho enorme até na faixa ao entorno de um total aproximado superior a generosos : De Cento E Onze Km de imprecisão !!.',
|
|
188
|
+
'<strong>Com Um Precisão Levada Na Três Casas ( 3 Decimais):</strong> ( P.exe: ... 40.123), Agora limitamos e restringimos para estarmos em busca do seu multirotor ao menos entre vizinhanças ou limites com erros que abrandam se a já 110. ( metros ).',
|
|
189
|
+
'<strong>Com As Precisões Levadas E Trabalhadas no patamar Cinco Zero ou Cincos Cifras numéricas :</strong> Avançamos largamente para o limiar em que uma medição afere distâncias a mais ou menos cerca entre um raio e área não maior num de total com aproximação do valor do 1.1 / 1.5 metros de margens de dúvida e exatidão.',
|
|
190
|
+
'<strong>O Standard Super Avançado E O Que Vai Com os números e casas Decimais Na Patamar e Base 7 ao 8 ! :</strong> Quando visualizamos numéricas coordenadas estendendo o registro muito na base ( ex : 40.1234567 ) falamos dum mundo restrito usado no mapeamento profissional a nível cirúrgico em centímetro usado em RTK de levantamentos a precisões que contêm níveis incríveis com erros reduzidíssimos da ordem dos 11 ou 10 Milímetros em acerto !!.',
|
|
191
|
+
],
|
|
192
|
+
},
|
|
193
|
+
{
|
|
194
|
+
type: 'paragraph',
|
|
195
|
+
html: 'As Placas e Cúpulas Standard na grande fatia dos modelos lúdicos para fpv - como GPS do modelo M8n, Bem com os recentes chip modernos Ublox modelos de classe e séries M10 ou variantes conseguem um compromisso estável ao operarem aos tais dezoito a 20 sátélites em locais límpidos e céu pleno chegando na quinta e tocando mesmo bem fundo nestas medições de precisão aos 6 ( e raros num nível com um fator no sete decimal) de medições e por esse caso indicamos quando transfere apontamentos seus preceitue reter e dar copias o mais longe a exaustão que tiver visualizado.',
|
|
196
|
+
},
|
|
197
|
+
],
|
|
198
|
+
faq: faqItems,
|
|
199
|
+
bibliography: [
|
|
200
|
+
{ name: 'O Portal Do Mundo Autómato Ardupilot nas referências a Manuseamento E Informações .', url: 'https://ardupilot.org/copter/docs/common-positioning-landing-page.html' },
|
|
201
|
+
{ name: 'Documento Completo De Natureza Histórica E Cientifica Na wikipedia ( DD / Conversões E Graus Base Terra )', url: 'https://en.wikipedia.org/wiki/Decimal_degrees' },
|
|
202
|
+
],
|
|
203
|
+
howTo: [
|
|
204
|
+
{
|
|
205
|
+
name: 'Observe Os seus dados e descubra a classe da Linguagem .',
|
|
206
|
+
text: 'Se contiver caracteres, como p exemplo letras Cardinais , apostrofes é fácil e é com os DMS, Se for um puro algarísmo longo e direto sem paragens tens brutos da FC na tua vista.',
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
name: 'Transcreva ( Inserir Na Teia)',
|
|
210
|
+
text: 'Para de imediato as janelas fazerem magia de cálculo ponha numa respectiva a do seu dado o copiado.',
|
|
211
|
+
},
|
|
212
|
+
{
|
|
213
|
+
name: 'O Resultado Mágico À Vista E Imediatamente Fornecido Na Hora!',
|
|
214
|
+
text: 'Tão só quanto carregar , observe nos dois retângulos vizinhos e aí estão o equivalente do formato em conversão para que te sintas devidamente com opções completas para o usares ! ',
|
|
215
|
+
},
|
|
216
|
+
{
|
|
217
|
+
name: 'Copiar O Fruto do Retrabalho !',
|
|
218
|
+
text: 'Use botão, é tão singelo para carregar e obter a transferência dessa numeração , cole em Maps ou num txt por notas de plano futuro e boa jornada a rota desejada do drone.',
|
|
219
|
+
},
|
|
220
|
+
],
|
|
221
|
+
schemas,
|
|
222
|
+
};
|
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
import type { GpsCoordinatesConverterLocaleContent } from '../index';
|
|
2
|
+
import type { WithContext, SoftwareApplication, FAQPage, HowTo } from 'schema-dts';
|
|
3
|
+
|
|
4
|
+
const slug = 'konverter-gps-koordinat';
|
|
5
|
+
const title = 'Конвертер GPS координат для путевых точек Ardupilot и INAV';
|
|
6
|
+
const description = 'Преобразуйте координаты GPS между десятичными градусами (DD), градусами минутами секундами (DMS) и аппаратными форматами GPS. Незаменимо для ArduPilot и INAV.';
|
|
7
|
+
|
|
8
|
+
const faqItems = [
|
|
9
|
+
{
|
|
10
|
+
question: 'What is the difference between DD and DMS?',
|
|
11
|
+
answer: `DD (Decimal Degrees) uses a single number with decimals (e.g., 51.50). DMS (Degrees, Minutes, Seconds) divides the degree into sexagesimal fractions (e.g., 51° 30' 0").`,
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
question: 'Why are negative coordinates used?',
|
|
15
|
+
answer: 'In the Decimal system (DD), latitudes south of the Equator and longitudes west of Greenwich are indicated with a negative sign to facilitate mathematical calculations.',
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
question: 'How much precision do I lose when converting?',
|
|
19
|
+
answer: 'Our tool uses double-precision floating point. With 6 decimals in DD, the precision is about 11 centimeters, which is more than enough for drones and civil navigation.',
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
question: 'Does this tool work offline?',
|
|
23
|
+
answer: 'Yes, once the page is loaded, all conversion logic is local (client-side). Only the map requires a connection to download new tiles.',
|
|
24
|
+
},
|
|
25
|
+
];
|
|
26
|
+
|
|
27
|
+
const schemas: GpsCoordinatesConverterLocaleContent['schemas'] = [
|
|
28
|
+
{
|
|
29
|
+
'@context': 'https://schema.org',
|
|
30
|
+
'@type': 'FAQPage',
|
|
31
|
+
mainEntity: faqItems.map((item) => ({
|
|
32
|
+
'@type': 'Question',
|
|
33
|
+
name: item.question,
|
|
34
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
35
|
+
})),
|
|
36
|
+
} as WithContext<FAQPage>,
|
|
37
|
+
{
|
|
38
|
+
'@context': 'https://schema.org',
|
|
39
|
+
'@type': 'HowTo',
|
|
40
|
+
name: title,
|
|
41
|
+
description: description,
|
|
42
|
+
step: [
|
|
43
|
+
{
|
|
44
|
+
'@type': 'HowToStep',
|
|
45
|
+
position: 1,
|
|
46
|
+
name: 'Input Coordinates',
|
|
47
|
+
text: 'Enter your coordinates in either Decimal Degrees (DD) or Degrees, Minutes, Seconds (DMS) format.',
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
'@type': 'HowToStep',
|
|
51
|
+
position: 2,
|
|
52
|
+
name: 'Review Conversion',
|
|
53
|
+
text: 'The tool instantly displays the converted coordinates in all supported formats.',
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
'@type': 'HowToStep',
|
|
57
|
+
position: 3,
|
|
58
|
+
name: 'Verify on Map',
|
|
59
|
+
text: 'Check the map visualization to ensure the coordinates point to the correct location.',
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
'@type': 'HowToStep',
|
|
63
|
+
position: 4,
|
|
64
|
+
name: 'Copy Result',
|
|
65
|
+
text: 'Copy the converted coordinates to your clipboard for use in navigation systems or mission planning.',
|
|
66
|
+
},
|
|
67
|
+
],
|
|
68
|
+
} as WithContext<HowTo>,
|
|
69
|
+
{
|
|
70
|
+
'@context': 'https://schema.org',
|
|
71
|
+
'@type': 'SoftwareApplication',
|
|
72
|
+
name: title,
|
|
73
|
+
description: description,
|
|
74
|
+
applicationCategory: 'OtherApplication',
|
|
75
|
+
operatingSystem: 'Web',
|
|
76
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
77
|
+
} as WithContext<SoftwareApplication>,
|
|
78
|
+
];
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
export const content: GpsCoordinatesConverterLocaleContent = {
|
|
82
|
+
slug,
|
|
83
|
+
title,
|
|
84
|
+
description,
|
|
85
|
+
faqTitle: 'Часто задаваемые вопросы',
|
|
86
|
+
bibliographyTitle: 'Библиографические ссылки',
|
|
87
|
+
ui: {
|
|
88
|
+
faqTitle: 'Часто задаваемые вопросы',
|
|
89
|
+
bibliographyTitle: 'Библиографические ссылки',
|
|
90
|
+
latitude: 'Широта',
|
|
91
|
+
longitude: 'Долгота',
|
|
92
|
+
decimalDegrees: 'Десятичные градусы (DD)',
|
|
93
|
+
degreesMinutesSeconds: 'Градусы, Минуты, Секунды (DMS)',
|
|
94
|
+
gpsHardware: 'Аппаратный формат GPS (Raw)',
|
|
95
|
+
copy: 'Копировать',
|
|
96
|
+
copied: 'Скопировано!',
|
|
97
|
+
invalidCoordinate: 'Неверные координаты',
|
|
98
|
+
pasteHardwareMapFormat: 'Вставьте исходные данные (например, 404306300, -739981800)',
|
|
99
|
+
validation: {
|
|
100
|
+
latRange: 'Широта должна быть в пределах от -90 до 90.',
|
|
101
|
+
lonRange: 'Долгота должна быть в пределах от -180 до 180.',
|
|
102
|
+
invalidFormat: 'Формат не распознан. Пожалуйста, проверьте ввод.',
|
|
103
|
+
},
|
|
104
|
+
},
|
|
105
|
+
seo: [
|
|
106
|
+
{
|
|
107
|
+
type: 'title',
|
|
108
|
+
text: 'Понимание GPS-координат: незаменимый инструмент для навигации дронов',
|
|
109
|
+
level: 2,
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
type: 'paragraph',
|
|
113
|
+
html: 'Когда дело доходит до автономных полетов дронов, аэрофотосъемки или поиска потерянного оборудования, точность и единообразие имеют ключевое значение. GPS-координаты являются основой навигации, но разные системы (такие как Betaflight, INAV, ArduPilot и Google Maps) используют разные форматы. Наш <strong>Конвертер GPS-координат</strong> устраняет этот разрыв, гарантируя, что ваши путевые точки (waypoints) всегда будут находиться именно там, где вы задумали.',
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
type: 'title',
|
|
117
|
+
text: 'Три основных формата GPS',
|
|
118
|
+
level: 3,
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
type: 'title',
|
|
122
|
+
text: '1. Десятичные градусы (Decimal Degrees - DD)',
|
|
123
|
+
level: 4,
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
type: 'paragraph',
|
|
127
|
+
html: 'Сегодня это наиболее распространенный в мире формат, широко используемый в <strong>Google Maps</strong>, современных смартфонах и большинстве картографических веб-сервисов. Он выражает положение в виде простого десятичного числа (например, <code>40.7128, -74.0060</code>). Этот формат очень легко копировать, вставлять и обрабатывать на компьютерах.',
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
type: 'list',
|
|
131
|
+
items: [
|
|
132
|
+
'Положительная широта находится в северном полушарии; отрицательная — в южном.',
|
|
133
|
+
'Положительная долгота находится к востоку от нулевого меридиана; отрицательная — к западу.',
|
|
134
|
+
],
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
type: 'title',
|
|
138
|
+
text: '2. Градусы, Минуты, Секунды (Degrees, Minutes, Seconds - DMS)',
|
|
139
|
+
level: 4,
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
type: 'paragraph',
|
|
143
|
+
html: 'Это традиционный формат, используемый в морской и воздушной навигации, а также на старых топографических картах (например, <code>40° 42\' 46.08" N, 74° 0\' 21.6" W</code>). Он более интуитивно понятен для навигации человека по печатным картам (деление Земли на 360 градусов, где каждый градус делится на 60 минут, а каждая минута — на 60 секунд), но специальные символы делают его ввод в системы программирования полетов громоздким.',
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
type: 'title',
|
|
147
|
+
text: '3. Аппаратный / Исходный формат GPS (ArduPilot / INAV)',
|
|
148
|
+
level: 4,
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
type: 'paragraph',
|
|
152
|
+
html: 'При получении дампов через интерфейс командной строки (CLI), изучении необработанных журналов полетов Blackbox или взаимодействии с такими системами, как ArduPilot по протоколу MAVLink, вы часто будете видеть координаты, представленные в виде больших целых чисел (например, <code>407128000, -740060000</code>).',
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
type: 'paragraph',
|
|
156
|
+
html: 'Это делается потому, что микроконтроллеры могут вычислять целые числа намного быстрее и точнее, чем числа с плавающей запятой (десятичные). Системы умножают десятичный градус на <strong>10 000 000 (1e7)</strong>. Наш инструмент легко преобразует данные в этот формат и обратно, что делает его идеальным для анализа данных Blackbox.',
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
type: 'title',
|
|
160
|
+
text: 'Зачем пилотам дронов нужна эта конвертация',
|
|
161
|
+
level: 3,
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
type: 'paragraph',
|
|
165
|
+
html: 'Есть несколько критических сценариев, в которых этот конвертер станет вашим лучшим другом:',
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
type: 'list',
|
|
169
|
+
items: [
|
|
170
|
+
'<strong>Поиск потерянного дрона (Lost Drone Recovery):</strong> Экранное меню OSD или передатчик (Taranis / Radiomaster) часто отображают последние известные координаты в формате DD или DMS. Вы можете быстро преобразовать их, чтобы поставить булавку на Google Maps и найти свой дрон.',
|
|
171
|
+
'<strong>Планирование путевых точек (Waypoint Planning):</strong> Планирование миссий в таком ПО, как Mission Planner или QGroundControl, требует предельной точности. Преобразование координат DMS с классической геодезической карты гарантирует, что маршрут полета останется в безопасных границах.',
|
|
172
|
+
'<strong>Настройка прошивки из терминала CLI:</strong> Непосредственная установка точки возврата домой (Return to Home) в консоли управления для некоторых прошивок требует необработанного (Raw) формата GPS, с точностью до десятимиллионных долей градуса.',
|
|
173
|
+
],
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
type: 'title',
|
|
177
|
+
text: 'Расшифровка точности координат',
|
|
178
|
+
level: 3,
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
type: 'paragraph',
|
|
182
|
+
html: 'Сколько знаков после запятой вам действительно нужно? Вот влияние десятичных долей, измеренное на экваторе:',
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
type: 'list',
|
|
186
|
+
items: [
|
|
187
|
+
'<strong>1 знак после запятой</strong> (например, 40.1): Неточность около 111 километров.',
|
|
188
|
+
'<strong>3 знака после запятой</strong> (например, 40.123): Около 110 метров (район / квартал).',
|
|
189
|
+
'<strong>5 знаков после запятой</strong> (например, 40.12345): Около 1,1 метра (стандарт для любительских дронов и процедуры безопасного возврата RTH).',
|
|
190
|
+
'<strong>7 знаков после запятой</strong> (например, 40.1234567): Около 11 миллиметров (профессиональная геодезия с использованием RTK GPS).',
|
|
191
|
+
],
|
|
192
|
+
},
|
|
193
|
+
{
|
|
194
|
+
type: 'paragraph',
|
|
195
|
+
html: 'Большинство стандартных модулей GPS для FPV дронов (M8N или M10) под открытым небом обеспечивают точность до 5 или 6 знаков после запятой (1-2 метра). При копировании координат старайтесь сохранять как минимум 6 знаков для обеспечения точности.',
|
|
196
|
+
},
|
|
197
|
+
],
|
|
198
|
+
faq: faqItems,
|
|
199
|
+
bibliography: [
|
|
200
|
+
{ name: 'Интеграция GPS в ArduPilot', url: 'https://ardupilot.org/copter/docs/common-positioning-landing-page.html' },
|
|
201
|
+
{ name: 'Десятичные градусы (Википедия)', url: 'https://en.wikipedia.org/wiki/Decimal_degrees' },
|
|
202
|
+
],
|
|
203
|
+
howTo: [
|
|
204
|
+
{
|
|
205
|
+
name: 'Определите текущий формат',
|
|
206
|
+
text: 'Посмотрите, как выглядят ваши координаты. Если они выглядят как 40.7128, -74.0060 — это DD. Если они содержат градусы, минуты и секунды (40°42\'46"N) — это DMS. Если это просто большое число, например 407128000 — это аппаратный (Raw) формат.',
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
name: 'Введите координаты',
|
|
210
|
+
text: 'Вставьте ваши данные в соответствующее поле (Десятичные градусы, DMS или Аппаратный формат).',
|
|
211
|
+
},
|
|
212
|
+
{
|
|
213
|
+
name: 'Мгновенная конвертация',
|
|
214
|
+
text: 'Обратите внимание на другие поля — конвертер автоматически рассчитает и отобразит другие форматы в реальном времени.',
|
|
215
|
+
},
|
|
216
|
+
{
|
|
217
|
+
name: 'Копировать результат',
|
|
218
|
+
text: 'Нажмите кнопку «Копировать» рядом с форматом, который вы хотите использовать, чтобы скопировать данные в буфер обмена.',
|
|
219
|
+
},
|
|
220
|
+
],
|
|
221
|
+
schemas,
|
|
222
|
+
};
|