towerops/priv/antennas/ubiquiti-ag-2g20.msi
Graham McIntire 3273312f6a feat: 198 real vendor .msi antenna patterns + Leaflet auto-load
Sourced 198 vendor-published MSI Planet pattern files via the
wireless-planning.com aggregator (data1.mlinkplanner.com). Real
patterns now ship for: Cambium (6), Ubiquiti (154), RF Elements
(27), MARS (5), MTI Wireless (1), Tarana (2), Ruckus (1), RFE (2).
Files dropped into priv/antennas/<vendor>-<part>.msi; the existing
boot loader picks them up and they override the synthesized catalog
entries by slug where the slugs match.

Parser improvements to handle real-world MSI file quirks:
- File-extension filter now accepts .ant/.msi (case-insensitive).
- Slug normalisation: spaces, +, and other non-alnum collapse to
  hyphens.
- Header parser splits on whitespace runs (tab or space) — different
  vendor tools produce different delimiters.
- New parse_frequency_mhz/1 handles "5500", "5 GHz", "5GHz",
  "5.6GHz", "5500 MHz", "5150-5850" (centre frequency), and
  "5.45 - 5.85 GHz" formats. Replaces the old integer-only parse.
- 2 MARS files with non-360 angular resolution and 1 with
  angle-less pattern lines were excluded; the rest parse cleanly.

Total registry now 305 antennas: 198 real vendor patterns + 107
synthesized catalog entries (used as fallback for SKUs without
public .msi files: Cambium ePMP/PMP variants, Tarana G1/G2,
ALPHA, ITELITE, KP Performance, RADWIN, Mimosa, etc.).

Leaflet auto-load fix:
- The location-picker map wasn't appearing because the form page
  didn't have the inline <script> tag the existing site map uses
  to load Leaflet. AGENTS.md forbids inline <script> in templates,
  so I added an ensureLeaflet() helper in app.ts that lazy-loads
  /vendor/leaflet/leaflet.{js,css} on first hook mount and caches
  the promise. SitesMap, CoverageMap, and CoverageLocationPicker
  all use it now — no inline scripts needed.
2026-05-06 15:09:29 -05:00

732 lines
6.8 KiB
Text

NAME AG-2G20
MAKE Ubiquiti
FREQUENCY 2500
H_WIDTH 12
V_WIDTH 15
FRONT_TO_BACK 25
GAIN 21 dBi
TILT 0
POLARIZATION VERTICAL
COMMENT AirGrid
HORIZONTAL 360
0 0.1
1 0.3
2 0.7
3 1.3
4 2.1
5 3
6 4.2
7 5.6
8 7.3
9 9.3
10 11.8
11 15
12 19.4
13 25.8
14 30.7
15 25.4
16 22.2
17 20.6
18 20
19 20.1
20 20.8
21 22.1
22 24
23 26.6
24 29.5
25 30.6
26 29
27 26.8
28 25.1
29 24
30 23.5
31 23.3
32 23.6
33 24.3
34 25.4
35 27
36 29.3
37 32.6
38 38.4
39 61
40 40.1
41 34.2
42 31
43 29
44 27.6
45 26.7
46 26.1
47 25.8
48 25.6
49 25.7
50 25.9
51 26.2
52 26.7
53 27.3
54 28.1
55 29.1
56 30.3
57 31.6
58 33.1
59 34.4
60 35.1
61 34.6
62 33.4
63 31.8
64 30.2
65 28.8
66 27.6
67 26.5
68 25.6
69 24.9
70 24.2
71 23.6
72 23.1
73 22.7
74 22.3
75 22
76 21.8
77 21.6
78 21.4
79 21.3
80 21.2
81 21.2
82 21.2
83 21.2
84 21.2
85 21.3
86 21.4
87 21.5
88 21.7
89 21.8
90 22
91 22.2
92 22.5
93 22.7
94 22.9
95 23.2
96 23.5
97 23.8
98 24
99 24.3
100 24.6
101 24.8
102 25
103 25.2
104 25.4
105 25.5
106 25.6
107 25.6
108 25.7
109 25.7
110 25.8
111 25.8
112 25.9
113 25.9
114 26.1
115 26.2
116 26.4
117 26.7
118 27.1
119 27.5
120 27.9
121 28.5
122 29.1
123 29.8
124 30.6
125 31.4
126 32.3
127 33.2
128 34.1
129 34.9
130 35.7
131 36.3
132 36.8
133 37.2
134 37.6
135 38
136 38.6
137 39.4
138 40.5
139 42.2
140 44.7
141 48
142 48.9
143 44.7
144 40.5
145 37.4
146 35
147 33.1
148 31.6
149 30.4
150 29.5
151 28.9
152 28.5
153 28.3
154 28.3
155 28.5
156 28.7
157 28.9
158 29.1
159 29
160 28.7
161 28.3
162 27.8
163 27.5
164 27.2
165 27.3
166 27.6
167 28.2
168 29.3
169 30.7
170 32.5
171 34
172 33.9
173 32.1
174 30.1
175 28.3
176 26.9
177 26
178 25.5
179 25.3
180 25.4
181 26
182 26.9
183 28.2
184 30.1
185 32.4
186 34.6
187 34.9
188 33.1
189 31
190 29.3
191 28
192 27.2
193 26.8
194 26.6
195 26.7
196 26.9
197 27.3
198 27.7
199 28
200 28.3
201 28.4
202 28.4
203 28.4
204 28.4
205 28.5
206 28.7
207 29.2
208 29.8
209 30.7
210 31.9
211 33.4
212 35.3
213 37.8
214 41.2
215 45.9
216 51.1
217 48.5
218 44.3
219 41.7
220 39.9
221 38.8
222 38
223 37.5
224 37.1
225 36.8
226 36.6
227 36.3
228 35.8
229 35.3
230 34.6
231 33.7
232 32.9
233 32
234 31.1
235 30.3
236 29.5
237 28.9
238 28.2
239 27.7
240 27.3
241 26.9
242 26.6
243 26.3
244 26.1
245 26
246 25.9
247 25.8
248 25.8
249 25.7
250 25.7
251 25.7
252 25.6
253 25.5
254 25.4
255 25.2
256 25
257 24.8
258 24.5
259 24.3
260 24
261 23.7
262 23.4
263 23.1
264 22.8
265 22.6
266 22.3
267 22.1
268 21.8
269 21.6
270 21.5
271 21.3
272 21.2
273 21.1
274 21
275 20.9
276 20.9
277 20.9
278 21
279 21
280 21.1
281 21.3
282 21.5
283 21.7
284 22
285 22.4
286 22.8
287 23.3
288 23.8
289 24.5
290 25.3
291 26.2
292 27.3
293 28.5
294 29.9
295 31.4
296 32.9
297 34
298 34.2
299 33.6
300 32.4
301 31.1
302 29.8
303 28.8
304 27.9
305 27.2
306 26.6
307 26.2
308 25.9
309 25.7
310 25.7
311 25.9
312 26.2
313 26.8
314 27.7
315 29.1
316 31.1
317 34.2
318 39.8
319 49.2
320 38.2
321 32.7
322 29.3
323 27.1
324 25.5
325 24.4
326 23.7
327 23.5
328 23.6
329 24.2
330 25.3
331 26.9
332 28.9
333 30
334 28.6
335 25.9
336 23.5
337 21.7
338 20.5
339 19.9
340 19.8
341 20.5
342 22.2
343 25.7
344 31.2
345 25.3
346 19
347 14.7
348 11.6
349 9.1
350 7.1
351 5.4
352 4
353 2.9
354 2
355 1.2
356 0.7
357 0.3
358 0.1
359 0
VERTICAL 360
0 0
1 0.1
2 0.4
3 0.7
4 1.1
5 1.6
6 2.2
7 3
8 3.9
9 4.9
10 6
11 7.3
12 8.9
13 10.6
14 12.7
15 15.1
16 18
17 21.8
18 27.1
19 34.4
20 32.7
21 28.3
22 25.9
23 24.8
24 24.4
25 24.5
26 25.2
27 26.3
28 28
29 30.3
30 33.1
31 35.5
32 35.1
33 32.8
34 30.6
35 28.9
36 27.7
37 27
38 26.6
39 26.4
40 26.5
41 26.9
42 27.4
43 28.3
44 29.3
45 30.7
46 32.4
47 34.6
48 37.4
49 41
50 44
51 43.1
52 40.1
53 37.6
54 35.8
55 34.5
56 33.5
57 32.7
58 32.2
59 31.8
60 31.5
61 31.3
62 31.1
63 31
64 31
65 30.9
66 30.9
67 30.9
68 30.8
69 30.8
70 30.8
71 30.8
72 30.7
73 30.7
74 30.7
75 30.7
76 30.7
77 30.7
78 30.7
79 30.7
80 30.7
81 30.6
82 30.6
83 30.5
84 30.4
85 30.2
86 30.1
87 29.8
88 29.6
89 29.3
90 29
91 28.7
92 28.3
93 28
94 27.7
95 27.3
96 27
97 26.7
98 26.4
99 26.2
100 26
101 25.8
102 25.7
103 25.6
104 25.5
105 25.6
106 25.6
107 25.8
108 25.9
109 26.2
110 26.5
111 26.9
112 27.3
113 27.8
114 28.3
115 28.9
116 29.4
117 29.9
118 30.2
119 30.4
120 30.4
121 30.3
122 30
123 29.6
124 29.3
125 28.9
126 28.6
127 28.4
128 28.3
129 28.4
130 28.5
131 28.8
132 29.2
133 29.8
134 30.5
135 31.5
136 32.7
137 34.2
138 36
139 38
140 39.9
141 40.4
142 39.2
143 37.4
144 35.7
145 34.3
146 33.2
147 32.4
148 31.8
149 31.5
150 31.5
151 31.6
152 32
153 32.7
154 33.6
155 34.9
156 36.6
157 38.6
158 40.6
159 41.5
160 40.5
161 38.6
162 36.7
163 35.1
164 33.8
165 32.8
166 31.9
167 31.1
168 30.4
169 29.7
170 29
171 28.4
172 27.7
173 27.1
174 26.5
175 26.1
176 25.7
177 25.4
178 25.3
179 25.3
180 25.4
181 25.6
182 25.9
183 26.3
184 26.8
185 27.3
186 27.9
187 28.5
188 29.1
189 29.6
190 30.2
191 30.8
192 31.4
193 32.1
194 33
195 34.1
196 35.3
197 36.6
198 37.7
199 38.1
200 37.5
201 36.3
202 34.9
203 33.8
204 32.8
205 32.1
206 31.6
207 31.3
208 31.3
209 31.4
210 31.8
211 32.4
212 33.3
213 34.3
214 35.6
215 36.9
216 37.7
217 37.7
218 36.7
219 35.3
220 33.8
221 32.4
222 31.2
223 30.3
224 29.5
225 28.9
226 28.4
227 28.1
228 27.9
229 27.8
230 27.8
231 27.9
232 28.1
233 28.3
234 28.5
235 28.7
236 28.9
237 29
238 28.9
239 28.8
240 28.5
241 28.1
242 27.7
243 27.2
244 26.8
245 26.4
246 26
247 25.7
248 25.4
249 25.1
250 25
251 24.8
252 24.8
253 24.7
254 24.7
255 24.8
256 24.9
257 25.1
258 25.2
259 25.4
260 25.7
261 25.9
262 26.2
263 26.5
264 26.8
265 27.1
266 27.4
267 27.6
268 27.9
269 28.1
270 28.3
271 28.4
272 28.6
273 28.6
274 28.7
275 28.7
276 28.7
277 28.6
278 28.5
279 28.5
280 28.4
281 28.3
282 28.3
283 28.2
284 28.2
285 28.2
286 28.2
287 28.3
288 28.4
289 28.5
290 28.7
291 28.9
292 29.2
293 29.5
294 29.9
295 30.4
296 30.9
297 31.6
298 32.3
299 33
300 33.8
301 34.5
302 35
303 35
304 34.4
305 33.4
306 32
307 30.6
308 29.2
309 27.9
310 26.7
311 25.7
312 24.7
313 23.9
314 23.2
315 22.7
316 22.3
317 22
318 21.9
319 21.9
320 22.2
321 22.6
322 23.2
323 24.2
324 25.5
325 27.4
326 29.8
327 32.9
328 34.9
329 32.8
330 29.6
331 27.1
332 25.4
333 24.2
334 23.6
335 23.5
336 24.1
337 25.4
338 28.3
339 35.5
340 38.7
341 26.6
342 21.1
343 17.3
344 14.4
345 12
346 10
347 8.3
348 6.8
349 5.5
350 4.4
351 3.5
352 2.7
353 1.9
354 1.4
355 0.9
356 0.5
357 0.2
358 0.1
359 0