@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.
Files changed (74) hide show
  1. package/package.json +64 -63
  2. package/src/category/i18n/de.ts +106 -0
  3. package/src/category/i18n/id.ts +106 -0
  4. package/src/category/i18n/it.ts +106 -0
  5. package/src/category/i18n/ja.ts +106 -0
  6. package/src/category/i18n/ko.ts +106 -0
  7. package/src/category/i18n/nl.ts +106 -0
  8. package/src/category/i18n/pl.ts +106 -0
  9. package/src/category/i18n/pt.ts +106 -0
  10. package/src/category/i18n/ru.ts +106 -0
  11. package/src/category/i18n/sv.ts +106 -0
  12. package/src/category/i18n/tr.ts +106 -0
  13. package/src/category/i18n/zh.ts +106 -0
  14. package/src/category/index.ts +12 -0
  15. package/src/components/SecurityWarning.astro +140 -0
  16. package/src/tests/faq_count.test.ts +1 -1
  17. package/src/tests/i18n_coverage.test.ts +36 -0
  18. package/src/tests/locale_completeness.test.ts +2 -2
  19. package/src/tests/schemas_fulfillment.test.ts +23 -0
  20. package/src/tests/slug_uniqueness.test.ts +81 -0
  21. package/src/tests/title_quality.test.ts +55 -0
  22. package/src/tool/antenna-length-calculator/component.astro +70 -13
  23. package/src/tool/antenna-length-calculator/i18n/de.ts +276 -0
  24. package/src/tool/antenna-length-calculator/i18n/en.ts +76 -38
  25. package/src/tool/antenna-length-calculator/i18n/es.ts +76 -38
  26. package/src/tool/antenna-length-calculator/i18n/fr.ts +76 -38
  27. package/src/tool/antenna-length-calculator/i18n/id.ts +242 -0
  28. package/src/tool/antenna-length-calculator/i18n/it.ts +276 -0
  29. package/src/tool/antenna-length-calculator/i18n/ja.ts +276 -0
  30. package/src/tool/antenna-length-calculator/i18n/ko.ts +276 -0
  31. package/src/tool/antenna-length-calculator/i18n/nl.ts +276 -0
  32. package/src/tool/antenna-length-calculator/i18n/pl.ts +276 -0
  33. package/src/tool/antenna-length-calculator/i18n/pt.ts +276 -0
  34. package/src/tool/antenna-length-calculator/i18n/ru.ts +276 -0
  35. package/src/tool/antenna-length-calculator/i18n/sv.ts +276 -0
  36. package/src/tool/antenna-length-calculator/i18n/tr.ts +276 -0
  37. package/src/tool/antenna-length-calculator/i18n/zh.ts +276 -0
  38. package/src/tool/antenna-length-calculator/index.ts +12 -0
  39. package/src/tool/drone-flight-time/component.astro +320 -319
  40. package/src/tool/drone-flight-time/components/FlightDashboard.astro +6 -0
  41. package/src/tool/drone-flight-time/i18n/de.ts +238 -0
  42. package/src/tool/drone-flight-time/i18n/en.ts +76 -38
  43. package/src/tool/drone-flight-time/i18n/es.ts +76 -38
  44. package/src/tool/drone-flight-time/i18n/fr.ts +76 -38
  45. package/src/tool/drone-flight-time/i18n/id.ts +238 -0
  46. package/src/tool/drone-flight-time/i18n/it.ts +238 -0
  47. package/src/tool/drone-flight-time/i18n/ja.ts +239 -0
  48. package/src/tool/drone-flight-time/i18n/ko.ts +239 -0
  49. package/src/tool/drone-flight-time/i18n/nl.ts +239 -0
  50. package/src/tool/drone-flight-time/i18n/pl.ts +239 -0
  51. package/src/tool/drone-flight-time/i18n/pt.ts +239 -0
  52. package/src/tool/drone-flight-time/i18n/ru.ts +239 -0
  53. package/src/tool/drone-flight-time/i18n/sv.ts +239 -0
  54. package/src/tool/drone-flight-time/i18n/tr.ts +239 -0
  55. package/src/tool/drone-flight-time/i18n/zh.ts +239 -0
  56. package/src/tool/drone-flight-time/index.ts +12 -0
  57. package/src/tool/gps-coordinates-converter/component.astro +473 -549
  58. package/src/tool/gps-coordinates-converter/components/GpsHistory.astro +6 -1
  59. package/src/tool/gps-coordinates-converter/i18n/de.ts +222 -0
  60. package/src/tool/gps-coordinates-converter/i18n/en.ts +76 -20
  61. package/src/tool/gps-coordinates-converter/i18n/es.ts +76 -20
  62. package/src/tool/gps-coordinates-converter/i18n/fr.ts +75 -2
  63. package/src/tool/gps-coordinates-converter/i18n/id.ts +222 -0
  64. package/src/tool/gps-coordinates-converter/i18n/it.ts +222 -0
  65. package/src/tool/gps-coordinates-converter/i18n/ja.ts +222 -0
  66. package/src/tool/gps-coordinates-converter/i18n/ko.ts +222 -0
  67. package/src/tool/gps-coordinates-converter/i18n/nl.ts +222 -0
  68. package/src/tool/gps-coordinates-converter/i18n/pl.ts +222 -0
  69. package/src/tool/gps-coordinates-converter/i18n/pt.ts +222 -0
  70. package/src/tool/gps-coordinates-converter/i18n/ru.ts +222 -0
  71. package/src/tool/gps-coordinates-converter/i18n/sv.ts +222 -0
  72. package/src/tool/gps-coordinates-converter/i18n/tr.ts +222 -0
  73. package/src/tool/gps-coordinates-converter/i18n/zh.ts +222 -0
  74. 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 = 'gps-coordinates-converter';
5
+ const title = 'ArduPilot 및 INAV 웨이포인트용 GPS 좌표 변환기';
6
+ const description = 'GPS 좌표를 십진수 도(DD), 도분초(DMS) 및 GPS 하드웨어 형식 간에 변환합니다. ArduPilot 및 INAV 웨이포인트에 필수적입니다.';
7
+
8
+ const faqItems = [
9
+ {
10
+ question: 'DD와 DMS의 차이점은 무엇인가요?',
11
+ answer: `DD (십진 도수)는 소수점이 있는 단일 숫자를 사용합니다(예: 51.50). DMS (도, 분, 초)는 도를 육십진법 분수로 나눕니다(예: 51° 30' 0").`,
12
+ },
13
+ {
14
+ question: '음수 좌표가 왜 사용되나요?',
15
+ answer: '십진 시스템(DD)에서는 적도 남쪽의 위도와 그리니치 자오선 서쪽의 경도를 음수로 표시하여 수학적 계산을 편리하게 합니다.',
16
+ },
17
+ {
18
+ question: '변환할 때 정밀도를 얼마나 잃나요?',
19
+ answer: '당사의 도구는 배정밀 부동소수점을 사용합니다. DD에서 소수점 6자리를 사용하면 정밀도는 약 11센티미터로, 드론과 민간 항법에는 충분합니다.',
20
+ },
21
+ {
22
+ question: '이 도구는 오프라인으로 작동하나요?',
23
+ answer: '네, 페이지가 로드되면 모든 변환 로직이 로컬(클라이언트 측)에서 실행됩니다. 지도만 새로운 타일을 다운로드하기 위해 연결이 필요합니다.',
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: '좌표 입력',
47
+ text: '십진 도수(DD) 또는 도, 분, 초(DMS) 형식으로 좌표를 입력합니다.',
48
+ },
49
+ {
50
+ '@type': 'HowToStep',
51
+ position: 2,
52
+ name: '변환 검토',
53
+ text: '이 도구는 지원되는 모든 형식으로 변환된 좌표를 즉시 표시합니다.',
54
+ },
55
+ {
56
+ '@type': 'HowToStep',
57
+ position: 3,
58
+ name: '지도에서 확인',
59
+ text: '지도 시각화를 확인하여 좌표가 올바른 위치를 가리키는지 확인합니다.',
60
+ },
61
+ {
62
+ '@type': 'HowToStep',
63
+ position: 4,
64
+ name: '결과 복사',
65
+ text: '변환된 좌표를 클립보드에 복사하여 항법 시스템이나 미션 계획에 사용합니다.',
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>는 이러한 차이를 연결하여 웨이포인트가 항상 의도한 위치에 정확히 설정되도록 보장합니다.',
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도로 나누고(1도는 60분, 1분은 60초) 하므로 종이 지도를 사용한 인간의 내비게이션에는 더 직관적일 수 있지만, 특정 기호를 포함하기 때문에 비행 및 경로를 프로그래밍할 때 디지털로 입력하기가 번거로울 수 있습니다.',
144
+ },
145
+ {
146
+ type: 'title',
147
+ text: '3. GPS 하드웨어 / Raw 형식 (ArduPilot / INAV)',
148
+ level: 4,
149
+ },
150
+ {
151
+ type: 'paragraph',
152
+ html: 'CLI(Command Line Interface)에서 직접 설정을 읽거나, 원시 Blackbox 플라이트 로그를 검토하거나, MAVLink를 통해 ArduPilot과 같은 시스템과 상호 작용할 때 좌표가 큰 정수로 표시되는 경우가 많습니다 (예: <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(On-Screen Display)나 Taranis/Radiomaster 송신기에는 마지막으로 확인된 좌표가 DD 또는 DMS 형식으로 표시되는 경우가 많습니다. 이를 빠르게 변환하여 Google Maps에 핀을 설정하고 장비를 찾을 수 있습니다.',
171
+ '<strong>웨이포인트 계획 (Waypoint Planning):</strong> Mission Planner나 QGroundControl 등의 소프트웨어를 사용한 미션 계획에는 최고의 정밀도가 필요합니다. 기존 측량 도면의 DMS 좌표를 DD로 변환하여 드론이 정확한 안전 경계 내에서 비행하도록 하고 예상치 못한 사유지 침입을 방지합니다.',
172
+ '<strong>펌웨어 설정 (Terminal CLI):</strong> CLI에서 RTH(Return to Home) 위치를 직접 설정할 때 일부 펌웨어에서는 천만분의 일 도의 정확도를 가진 원시 GPS 하드웨어 형식(Raw integer)이 필요합니다.',
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 측량).',
191
+ ],
192
+ },
193
+ {
194
+ type: 'paragraph',
195
+ html: '개방된 환경에서 대부분의 표준 M8N 또는 M10 GPS 모듈은 소수점 5자리에서 6자리(약 1~2미터)의 정밀도를 제공합니다. 데이터의 손실을 막기 위해 복사할 때는 가능한 한 소수점 6자리 이상을 항상 유지하십시오.',
196
+ },
197
+ ],
198
+ faq: faqItems,
199
+ bibliography: [
200
+ { name: 'ArduPilot GPS 연동 기초', url: 'https://ardupilot.org/copter/docs/common-positioning-landing-page.html' },
201
+ { name: '십진 도 대 DMS (위키백과)', 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: '위에서 확인하고 결정한 형식에 해당하는 3개의 입력 필드 중 한 곳에 값을 직접 입력하거나 붙여넣어 주십시오.',
211
+ },
212
+ {
213
+ name: '변환 실행 및 확인',
214
+ text: '별도의 버튼 클릭 없이, 입력하는 즉시 변환기가 다른 형식들을 실시간으로 자동 계산하여 보여줍니다.',
215
+ },
216
+ {
217
+ name: '결과 복사',
218
+ text: '우측 또는 하단에 있는 \'복사\'버튼을 클릭하여 원하는 형식의 결과값을 로컬 클립보드로 전송합니다. 이후 목적지 앱(Google Maps, Mission Planner, CLI 터미널)에 활용하시기 바랍니다.',
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 = 'gps-coordinaten-converter';
5
+ const title = 'GPS Coordinaten Converter voor ArduPilot en INAV Waypoints';
6
+ const description = 'Converteer GPS-coördinaten tussen Decimale Graden (DD), Graden Minuten Seconden (DMS) en GPS-hardwareformaten. Essentieel voor ArduPilot en INAV waypoints.';
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: 'Veelgestelde Vragen',
86
+ bibliographyTitle: 'Referentiehandleidingen',
87
+ ui: {
88
+ faqTitle: 'Veelgestelde Vragen',
89
+ bibliographyTitle: 'Referentiehandleidingen',
90
+ latitude: 'Breedtegraad',
91
+ longitude: 'Lengtegraad',
92
+ decimalDegrees: 'Decimale Graden (DD)',
93
+ degreesMinutesSeconds: 'Graden, Minuten, Seconden (DMS)',
94
+ gpsHardware: 'GPS-hardwareformaat (Raw)',
95
+ copy: 'Kopiëren',
96
+ copied: 'Gekopieerd!',
97
+ invalidCoordinate: 'Ongeldige coördinaat',
98
+ pasteHardwareMapFormat: 'Plak hardwareformaat (bijv. 404306300, -739981800)',
99
+ validation: {
100
+ latRange: 'Breedtegraad moet tussen -90 en 90 liggen.',
101
+ lonRange: 'Lengtegraad moet tussen -180 en 180 liggen.',
102
+ invalidFormat: 'Formaat niet herkend. Controleer uw invoer.',
103
+ },
104
+ },
105
+ seo: [
106
+ {
107
+ type: 'title',
108
+ text: 'Het Begrijpen van GPS-coördinaten: Een Onmisbaar Hulpmiddel voor Dronenavigatie',
109
+ level: 2,
110
+ },
111
+ {
112
+ type: 'paragraph',
113
+ html: 'Bij autonome dronevluchten, luchtbeeldsurveys of het terughalen van verloren apparatuur draaien zaken altijd om uniformiteit en uiterste precisie. GPS-coördinaten vormen dan de echte ruggengraat van die navigatie, maar er doen zich echter complicaties voor wanneer verschillende systemen (onder meer Betaflight, INAV, ArduPilot of zelfs direct op Google Maps) met hun eigen specifiek toegesneden basisformaat rekenen. Onze online verwerker of <strong>GPS Coördinaten Converter</strong> overbrugt die kloof en garandeert dat uw waypoints precies landen waar u ze bedoelde.',
114
+ },
115
+ {
116
+ type: 'title',
117
+ text: 'De Drie Voornaamste GPS Formaten Uitgelegd',
118
+ level: 3,
119
+ },
120
+ {
121
+ type: 'title',
122
+ text: '1. Decimale Graden (Decimal Degrees - DD)',
123
+ level: 4,
124
+ },
125
+ {
126
+ type: 'paragraph',
127
+ html: 'Dit is tegenwoordig de meest universele standaard op nagenoeg alle digitale systemen: op een doorsnee smartphone, maar vooral op <strong>Google Maps</strong> en web-mapping tools. Je vertaalt je posities puur en bondig in zuivere decimale getallen (bijv. <code>40.7128, -74.0060</code>). Extreem goed bestand tegen interpretatiefouten en kopieert perfect.',
128
+ },
129
+ {
130
+ type: 'list',
131
+ items: [
132
+ 'Breedtegraden zijn positief ten noorden van de evenaar; negatief in het zuiden.',
133
+ 'Lengtegraden zijn positief oostelijk van de nulmeridiaan; negatief in het westen.',
134
+ ],
135
+ },
136
+ {
137
+ type: 'title',
138
+ text: '2. Graden, Minuten, Seconden (DMS)',
139
+ level: 4,
140
+ },
141
+ {
142
+ type: 'paragraph',
143
+ html: 'Een historische standaard die in scheepvaartnavigatie, luchtvaart en gedrukt topografisch materiaal veel gebruikt wordt (bijv. <code>40° 42\' 46.08" N, 74° 0\' 21.6" W</code>). Het is extreem intuïtief op een geprint raster omdat het de aarde opdeelt in 360 graden, met minuten en seconden per 60. Het gebruik van speciale symbolen creëert echter vaak moeilijkheden bij het kopiëren naar computertoepassingen.',
144
+ },
145
+ {
146
+ type: 'title',
147
+ text: '3. Ruwe GPS / Hardware Data (ArduPilot / INAV)',
148
+ level: 4,
149
+ },
150
+ {
151
+ type: 'paragraph',
152
+ html: 'Wanneer je de ruwe logbestanden (Blackbox) in duikt, via de Command Line Interface (CLI) kijkt, of je verdiept in protocolverbindingen (bijv. MAVLink), kom je formaten tegen die eruitzien als grote niet-gedecimeerde getallen (bijv. <code>407128000, -740060000</code>).',
153
+ },
154
+ {
155
+ type: 'paragraph',
156
+ html: 'Dat komt doordat hardware-microcontrollers sneller draaien met pure gehele getallen (integers). Software vermenigvuldigt daarom vaak de decimale graad met <strong>10.000.000 (1e7)</strong>. Deze converter helpt u vakkundig om deze immense loggetallen perfect naar het mensvriendelijk decimale Google Maps-formaat terug te zetten.',
157
+ },
158
+ {
159
+ type: 'title',
160
+ text: 'Veelvoorkomende Drone Vliegscenario\'s',
161
+ level: 3,
162
+ },
163
+ {
164
+ type: 'paragraph',
165
+ html: 'Praktijkvoorbeelden waar dit conversietooltje u een immense helpende hand reikt:',
166
+ },
167
+ {
168
+ type: 'list',
169
+ items: [
170
+ '<strong>Verloren Drone Terughalen (Recovery):</strong> OSD (On-Screen Display) en telemetriezenders (zoals Taranis of Radiomaster) vangen soms op met formaten in DMS. U typt het vlot om in Decimale Graden voor uw Google Maps pin zodat u niets kwijtraakt.',
171
+ '<strong>Surveying & Waypoints plannen:</strong> Op programma\'s als Mission Planner neemt men weleens landmetersplannen in DMS over. De foutloze vertaalslag naar DD garandeert dat u perfect om bewoond gebied vliegt en veilig de opdracht doet.',
172
+ '<strong>CLI RTH Coördinaten Vastpinnen:</strong> Rescue Home point settings via terminal-protocollen verlangen data strak in Raw Formaat (Integer). De omgerekende waarden uit onze tabel passen daar perfect tussen.',
173
+ ],
174
+ },
175
+ {
176
+ type: 'title',
177
+ text: 'Nauwkeurigheidsniveaus Vertalen: Het Decimale Huis Spel',
178
+ level: 3,
179
+ },
180
+ {
181
+ type: 'paragraph',
182
+ html: 'Hoe belangrijk is elke specifieke decimaal eigenlijk voor nauwkeurigheid? Een blik op de betekenis per decimaal (gemeten op de evenaar):',
183
+ },
184
+ {
185
+ type: 'list',
186
+ items: [
187
+ '<strong>1 Decimale Plaats</strong> (bijv. 40.1): Geen goed idee. Ligt met ruime marges meer dan 111 kilometer verkeerd.',
188
+ '<strong>3 Decimale Plaatsen</strong> (bijv. 40.123): Ongeveer 110 meter afstand. (Een heel groot wijkblok).',
189
+ '<strong>5 Decimale Plaatsen</strong> (bijv. 40.12345): Accuraat tot ong. 1.1 meter. Standaard en perfect voldoende voor FPV vluchten en drone RTL\'s (Return to Launch).',
190
+ '<strong>7 Decimale Plaatsen</strong> (bijv. 40.1234567): Tot op de 11 millimeter veilig! Voor RTK precisie in professionele toepassingen of landbouw.',
191
+ ],
192
+ },
193
+ {
194
+ type: 'paragraph',
195
+ html: 'Moderne GPS chips (zoals M8N en M10) bereiken met goed zicht 5 tot 6 decimalen. Noteer of kopieer in het verwerkveld daarom steeds zoveel decimaal-aanduidingen als mogelijk voor een veilige omrekening.',
196
+ },
197
+ ],
198
+ faq: faqItems,
199
+ bibliography: [
200
+ { name: 'Ardupilot Documentatie en Integratie Informatie.', url: 'https://ardupilot.org/copter/docs/common-positioning-landing-page.html' },
201
+ { name: 'Naslag over Decimalen en Graden (Wikipedia).', url: 'https://en.wikipedia.org/wiki/Decimal_degrees' },
202
+ ],
203
+ howTo: [
204
+ {
205
+ name: 'Onderken Formaat',
206
+ text: 'Onderzoek wat u hebt. Bevat the reeks °,\' of N tekens? (DMS). Een grote groep als 404306300 zonder interpunctie is Hardware.',
207
+ },
208
+ {
209
+ name: 'Voeg Data in Veld',
210
+ text: 'Kies het bijhorende invoer kader uit die overeen lijkt te komen met je ontdekte gegevenslijn.',
211
+ },
212
+ {
213
+ name: 'Zie Vertaling Live Werken',
214
+ text: 'De vertaler is zodanig krachtig online meelopend ingesteld en schotelt u in ogenblik je waarden in de corresponderende overige formats voor.',
215
+ },
216
+ {
217
+ name: 'Zet de Copy-Paste Actie In',
218
+ text: 'Sla uw vertaling om met Copy voor de gewenste eindformat en sla uw map wegwaarts of upload op naar de Drone software.',
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 = 'konwerter-wspolrzednych-gps';
5
+ const title = 'Konwerter Wspolrzednych GPS Nawigacji po Punktach Trasy';
6
+ const description = 'Konwertuj współrzędne GPS między stopniami dziesiętnymi (DD), stopniami minutami sekundami (DMS) i formatami sprzętowymi. Niezbędne dla ArduPilot i 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: 'Często Zadawane Pytania',
86
+ bibliographyTitle: 'Materiały Źródłowe',
87
+ ui: {
88
+ faqTitle: 'Często Zadawane Pytania',
89
+ bibliographyTitle: 'Materiały Źródłowe',
90
+ latitude: 'Szerokość Geograficzna',
91
+ longitude: 'Długość Geograficzna',
92
+ decimalDegrees: 'Stopnie Dziesiętne (DD)',
93
+ degreesMinutesSeconds: 'Stopnie, Minuty, Sekundy (DMS)',
94
+ gpsHardware: 'Sprzętowy Format GPS (Surowy)',
95
+ copy: 'Kopiuj',
96
+ copied: 'Skopiowano!',
97
+ invalidCoordinate: 'Nieprawidłowa Współrzędna',
98
+ pasteHardwareMapFormat: 'Wklej surowe dane sprzętowe (np. 404306300, -739981800)',
99
+ validation: {
100
+ latRange: 'Szerokość geograficzna musi mieścić się w przedziale od -90 do 90.',
101
+ lonRange: 'Długość geograficzna musi mieścić się w przedziale od -180 do 180.',
102
+ invalidFormat: 'Format nierozpoznany. Sprawdź, czy wprowadzono poprawne dane.',
103
+ },
104
+ },
105
+ seo: [
106
+ {
107
+ type: 'title',
108
+ text: 'Zrozumieć Współrzędne GPS: Niezbędne Narzędzie Nawigacji Dronem',
109
+ level: 2,
110
+ },
111
+ {
112
+ type: 'paragraph',
113
+ html: 'Gdy w grę wchodzi lot autonomiczny, pomiary fotogrametryczne z powietrza, albo też ratowanie zgubionego drona, liczy się dokładność i jednolitość. Współrzędne GPS są kręgosłupem nawigacji, ale różne systemy (takie jak Betaflight, INAV, ArduPilot czy Mapy Google) używają różnych formatów. Nasz <strong>Konwerter Współrzędnych GPS</strong> wypełnia tę lukę, zapewniając, że Twoje punkty orientacyjne (waypoints) zawsze trafią tam, gdzie zaplanowałeś.',
114
+ },
115
+ {
116
+ type: 'title',
117
+ text: 'Trzy Najważniejsze Formaty GPS',
118
+ level: 3,
119
+ },
120
+ {
121
+ type: 'title',
122
+ text: '1. Stopnie Dziesiętne (Decimal Degrees - DD)',
123
+ level: 4,
124
+ },
125
+ {
126
+ type: 'paragraph',
127
+ html: 'Jest to obecnie najpopularniejszy standard na świecie, wykorzystywany przez <strong>Mapy Google</strong>, smartfony i internetowe systemy mapowania. Przedstawia pozycję w postaci czystej liczby dziesiętnej (np. <code>40.7128, -74.0060</code>). Taki zapis jest najłatwiejszy do kopiowania, wklejania i przetwarzania przez systemy informatyczne.',
128
+ },
129
+ {
130
+ type: 'list',
131
+ items: [
132
+ 'Dodatnia szerokość to półkula północna; ujemna to południowa.',
133
+ 'Dodatnia długość wskazuje wschód od południka zerowego (Greenwich); ujemna to zachód.',
134
+ ],
135
+ },
136
+ {
137
+ type: 'title',
138
+ text: '2. Stopnie, Minuty, Sekundy (Degrees, Minutes, Seconds - DMS)',
139
+ level: 4,
140
+ },
141
+ {
142
+ type: 'paragraph',
143
+ html: 'Tradycyjny format używany w marynarce, lotnictwie i starszych mapach topograficznych (np. <code>40° 42\' 46.08" N, 74° 0\' 21.6" W</code>). Choć bywa intuicyjny przy pracy z tradycyjną mapą papierową, to znaki specjalne sprawiają, że podczas planowania misji drona i ręcznego wpisywania bywa uciążliwy i stwarza pole do literówek.',
144
+ },
145
+ {
146
+ type: 'title',
147
+ text: '3. Surowy Format Sprzętowy GPS (Raw / INAV / ArduPilot)',
148
+ level: 4,
149
+ },
150
+ {
151
+ type: 'paragraph',
152
+ html: 'Przeglądając surowe logi (tzw. Blackbox), zrzuty (dumps) z konsoli CLI lub analizując połączenia na danych pokroju protokołu MAVLink, napotkasz format składający się z nienaturalnie wielkich ciągów liczbowych bez żadnych przecinków (np. <code>407128000, -740060000</code>).',
153
+ },
154
+ {
155
+ type: 'paragraph',
156
+ html: 'Dzieje się tak, ponieważ mikrokontrolery wykonują układy obliczeniowe dużo płynniej, używając wartości w liczbach całkowitych, bez ułamków (tzw. float). Stąd dane DD są sztucznie powiększane przez pomnożenie razy <strong>10.000.000 (1e7)</strong>. Nasze narzędzie bezbłędnie zdejmuje te mnożniki i przerabia je z powrotem do ludzkiej formy.',
157
+ },
158
+ {
159
+ type: 'title',
160
+ text: 'Praktyczne Zastosowania w Pilotowaniu Dronów',
161
+ level: 3,
162
+ },
163
+ {
164
+ type: 'paragraph',
165
+ html: 'Główne sytuacje, w których będziesz niezmiernie zadowolony, że masz ten konwerter pod ręką:',
166
+ },
167
+ {
168
+ type: 'list',
169
+ items: [
170
+ '<strong>Poszukiwania Zgubionego Drona:</strong> Wyświetlacze ekranowe OSD (On-Screen Display) oraz telemetria aparatury RC często podają współrzędne zapisane tylko pod kątem wymogów pilotażu, np. formatu DMS. Przerzucając je do formy na DD, ekspresowo postawisz nawigacyjną pinezkę na Mapach w Google i ruszysz w teren.',
171
+ '<strong>Planowanie Misji Użytkowych:</strong> Oprogramowania takie jak Mission Planner bazują na precyzji w formacie dziesiętnym. Gdy dostajesz notatki pomiarowe w DMS od służb cywilnych, łatwo i sprawnie dopasujesz to do standardów autonomicznych Twojej platformy FPV/Autonomy.',
172
+ '<strong>Wywoływania ze Środowiska Wiersza Komend:</strong> Tryby takie jak "Rescue Return To Home", ustalane przez kod i wpisy CLI, czasami z przymusu wymusza wprowadzanie ogromnego cyfrowego Raw z surowego hardwareu.',
173
+ ],
174
+ },
175
+ {
176
+ type: 'title',
177
+ text: 'Zrozumieć Precyzję: Ile Zer po Przecinku Naprawdę Potrzebujesz?',
178
+ level: 3,
179
+ },
180
+ {
181
+ type: 'paragraph',
182
+ html: 'Aby odnaleźć sprzęt, trzeba zachować stosowną skrupulatność w rozwijania liczb dziesiętnych. Analiza na wymiarze osi Ziemi, blisko jej równika:',
183
+ },
184
+ {
185
+ type: 'list',
186
+ items: [
187
+ '<strong>Jedno Miejsce Po Przecinku:</strong> Np. 40.1 - Pomyłka w dokładności rzędu około 111 kilometrów (Bezużyteczne).',
188
+ '<strong>Trzy Miejsca Po Przecinku:</strong> Np. 40.123 - To uchyb leżący na granicy rzędu ok. 110 metrów.',
189
+ '<strong>Pięć Miejsc Po Przecinku:</strong> Np. 40.12345 - Dajemy marginesy pod rozmiar drobniejszy ażeby dociągnąć ok. 1,1 Metra (Standard, zalecany i celny format ratowniczy).',
190
+ '<strong>Siedem Miejsc Po Przecinku:</strong> Np. 40.1234567 - Dla fachowych aparatur RTK osiągających do precyzji geodezyjnej - ok. 11 mm marginesu!',
191
+ ],
192
+ },
193
+ {
194
+ type: 'paragraph',
195
+ html: 'Moduły GPS dla konsumentów (takie jak klasyczne M8N i modele M10) w dobrym i otwartym niebie wyrabiają w rzetelnym zakresie te ramy 5 punktów dziesiętnych. Kopiując i badając dane, nie obcinaj ich - przerzucaj z zapasem, chociaż 6 miejsc - by mieć pewność optymalnej wyznaczonej formy ratunkowej.',
196
+ },
197
+ ],
198
+ faq: faqItems,
199
+ bibliography: [
200
+ { name: 'Ardupilot – Oficjalny przewodnik Dokumentujący o Integracjach Lotu Autonomousnych .', url: 'https://ardupilot.org/copter/docs/common-positioning-landing-page.html' },
201
+ { name: 'Encyklopedyczne objaśnienie notatek wymiaru Współrzędnej u Wikipedia o formie DD', url: 'https://en.wikipedia.org/wiki/Decimal_degrees' },
202
+ ],
203
+ howTo: [
204
+ {
205
+ name: 'Rzetelnie zweryfikuj posiadany Format jako Źródło',
206
+ text: 'Przyglądnij co ty dostałeś od ręki w cyfrach. Wielkie masywne na samej cyfrze np 404306300 - raw-hw, obecność literek, apostrof i podzięk jako pod stopień - wędruj na D-M-S , prosta w kompozycję kropku z przedziałem = to Czysty Decimal DD ',
207
+ },
208
+ {
209
+ name: 'Wrzuć dane bazowe do Przeliczenia',
210
+ text: 'Obrawszy okno startowe - wykonaj klasyczne Wklejenie.',
211
+ },
212
+ {
213
+ name: 'Poczekaj Ułamek Na Zobacz rezultat na Podgląd ',
214
+ text: 'Narzędzie wykonując czary przetropi do wymiarach dając do okien dwa puste formaty odpowiednik jako już wykonany przekształcenia.',
215
+ },
216
+ {
217
+ name: 'Złap i Kopiuj W Przestrzeń Celową',
218
+ text: 'Kopiując już przerobiony odczyt z ramki posłuży ci do zaprogramowana przelotu np lot w system z program - Inav - czy misyjny , rzucając cel i w map - google do poszukania zguba! . ',
219
+ },
220
+ ],
221
+ schemas,
222
+ };