towerops/priv/antennas/ubiquiti-amy-9m16-vpol.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 AMY-9M16 V-pol
MAKE Ubiquiti
FREQUENCY 915
H_WIDTH 33
V_WIDTH 30
FRONT_TO_BACK 27
GAIN 16 dBi
TILT 0
POLARIZATION VERTICAL
COMMENT AirMax Yagi M
HORIZONTAL 360
0 0
1 0
2 0.1
3 0.2
4 0.3
5 0.4
6 0.5
7 0.6
8 0.8
9 1
10 1.3
11 1.5
12 1.8
13 2.1
14 2.5
15 2.9
16 3.3
17 3.8
18 4.4
19 5
20 5.7
21 6.4
22 7.2
23 8.1
24 9.1
25 10.2
26 11.4
27 12.6
28 13.8
29 14.8
30 15.4
31 15.7
32 15.5
33 15
34 14.5
35 14
36 13.5
37 13.2
38 13
39 13
40 13.1
41 13.4
42 13.9
43 14.6
44 15.5
45 16.7
46 18.1
47 20
48 22.3
49 24.9
50 26.5
51 25.7
52 23.7
53 21.7
54 20.2
55 19.1
56 18.4
57 18.1
58 18
59 18.3
60 18.9
61 19.8
62 21.3
63 23.3
64 26.4
65 31.4
66 36.8
67 31.1
68 26.3
69 23.3
70 21.3
71 19.9
72 19
73 18.4
74 18.2
75 18.2
76 18.6
77 19.3
78 20.4
79 21.9
80 24.1
81 27.3
82 32.9
83 46.9
84 34.4
85 28.5
86 25.3
87 23.3
88 22
89 21.1
90 20.7
91 20.6
92 20.8
93 21.4
94 22.3
95 23.7
96 25.6
97 28.3
98 32.6
99 40.7
100 40.7
101 33.1
102 29.2
103 26.9
104 25.3
105 24.3
106 23.7
107 23.3
108 23.2
109 23.3
110 23.5
111 23.8
112 24
113 24.2
114 24.1
115 24
116 23.7
117 23.4
118 23.1
119 22.9
120 22.9
121 22.9
122 23.2
123 23.6
124 24.3
125 25.2
126 26.4
127 27.9
128 29.9
129 32.3
130 34.6
131 35.1
132 33.2
133 30.8
134 28.7
135 27.1
136 25.8
137 24.7
138 23.9
139 23.3
140 22.8
141 22.4
142 22.2
143 22.1
144 22
145 22
146 22.1
147 22.3
148 22.5
149 22.8
150 23.2
151 23.6
152 24.2
153 24.7
154 25.4
155 26.1
156 27
157 27.9
158 28.9
159 30
160 31.1
161 32.2
162 33.2
163 33.7
164 33.8
165 33.4
166 32.7
167 31.8
168 30.9
169 30.1
170 29.4
171 28.7
172 28.2
173 27.8
174 27.4
175 27.2
176 27
177 26.9
178 26.9
179 26.9
180 27.1
181 27.3
182 27.6
183 28
184 28.5
185 29.1
186 29.8
187 30.5
188 31.3
189 32.1
190 32.7
191 33
192 32.8
193 32.2
194 31.3
195 30.3
196 29.3
197 28.3
198 27.3
199 26.5
200 25.8
201 25.1
202 24.5
203 24
204 23.6
205 23.3
206 23
207 22.8
208 22.6
209 22.6
210 22.6
211 22.6
212 22.8
213 23
214 23.3
215 23.7
216 24.2
217 24.9
218 25.6
219 26.6
220 27.8
221 29.4
222 31.4
223 34.2
224 38.5
225 45.8
226 44
227 37.4
228 33.5
229 31
230 29.1
231 27.7
232 26.7
233 26
234 25.5
235 25.3
236 25.2
237 25.3
238 25.6
239 26.1
240 26.7
241 27.3
242 27.9
243 28.4
244 28.6
245 28.5
246 28.3
247 28
248 27.8
249 27.8
250 28.1
251 28.7
252 29.8
253 31.6
254 34.6
255 39.9
256 44.7
257 36.8
258 31.8
259 28.6
260 26.3
261 24.6
262 23.4
263 22.6
264 22
265 21.8
266 21.9
267 22.3
268 23.1
269 24.4
270 26.4
271 29.6
272 35.5
273 51.6
274 33.8
275 28.1
276 24.8
277 22.5
278 20.9
279 19.7
280 18.9
281 18.4
282 18.2
283 18.3
284 18.7
285 19.4
286 20.5
287 22.1
288 24.5
289 28.2
290 34.8
291 37
292 29.4
293 25.1
294 22.4
295 20.6
296 19.3
297 18.5
298 18
299 17.9
300 18.1
301 18.6
302 19.5
303 20.9
304 23.1
305 26.3
306 30.9
307 31.5
308 26.4
309 22.4
310 19.6
311 17.6
312 16
313 14.8
314 13.9
315 13.2
316 12.7
317 12.4
318 12.3
319 12.4
320 12.6
321 13
322 13.6
323 14.3
324 15.2
325 16.2
326 17.1
327 17.5
328 17.2
329 16.2
330 14.7
331 13.2
332 11.7
333 10.4
334 9.2
335 8.1
336 7.1
337 6.3
338 5.5
339 4.8
340 4.2
341 3.7
342 3.2
343 2.7
344 2.4
345 2
346 1.7
347 1.4
348 1.2
349 0.9
350 0.7
351 0.6
352 0.4
353 0.3
354 0.2
355 0.1
356 0.1
357 0
358 0
359 0
VERTICAL 360
0 0
1 0
2 0.1
3 0.1
4 0.2
5 0.4
6 0.5
7 0.7
8 0.9
9 1.1
10 1.4
11 1.7
12 2
13 2.4
14 2.8
15 3.3
16 3.8
17 4.3
18 5
19 5.7
20 6.4
21 7.3
22 8.2
23 9.3
24 10.5
25 11.7
26 13.1
27 14.6
28 16.1
29 17.3
30 18.1
31 18.3
32 17.9
33 17.3
34 16.7
35 16.1
36 15.7
37 15.5
38 15.4
39 15.6
40 15.9
41 16.4
42 17.1
43 18
44 19.3
45 20.9
46 23
47 25.7
48 29.3
49 33.6
50 33.9
51 30.4
52 27.6
53 25.7
54 24.5
55 23.9
56 23.7
57 23.8
58 24.3
59 25.3
60 26.7
61 28.7
62 31.6
63 36.1
64 42.4
65 39.4
66 34.4
67 31.4
68 29.6
69 28.5
70 27.9
71 27.8
72 28.1
73 28.8
74 29.9
75 31.4
76 33.7
77 36.7
78 41.1
79 46.5
80 45.4
81 41.5
82 39.2
83 38
84 37.7
85 38.1
86 39.1
87 40.7
88 43
89 45.4
90 46.5
91 45.8
92 44.7
93 44.3
94 45.1
95 47.6
96 54.1
97 55.9
98 45.6
99 40.5
100 37.1
101 34.7
102 32.9
103 31.5
104 30.6
105 30
106 29.6
107 29.5
108 29.5
109 29.7
110 30
111 30.3
112 30.5
113 30.5
114 30.3
115 29.9
116 29.6
117 29.2
118 29
119 28.9
120 28.9
121 29
122 29.2
123 29.4
124 29.4
125 29.1
126 28.7
127 28
128 27.3
129 26.5
130 25.9
131 25.3
132 24.9
133 24.7
134 24.6
135 24.6
136 24.9
137 25.4
138 26
139 26.9
140 28.1
141 29.5
142 31.2
143 33
144 34.3
145 34
146 32.5
147 30.7
148 29
149 27.6
150 26.5
151 25.6
152 24.8
153 24.3
154 23.9
155 23.6
156 23.4
157 23.4
158 23.4
159 23.6
160 23.8
161 24.1
162 24.5
163 25
164 25.5
165 26.1
166 26.7
167 27.3
168 27.8
169 28.3
170 28.5
171 28.7
172 28.6
173 28.5
174 28.2
175 27.9
176 27.6
177 27.3
178 27.1
179 26.9
180 26.9
181 26.9
182 26.9
183 27.1
184 27.4
185 27.9
186 28.5
187 29.3
188 30.3
189 31.6
190 33.3
191 35.8
192 39.5
193 46.7
194 50.3
195 40.5
196 35.6
197 32.5
198 30.1
199 28.2
200 26.7
201 25.4
202 24.3
203 23.4
204 22.6
205 21.9
206 21.3
207 20.9
208 20.5
209 20.2
210 20
211 19.9
212 19.9
213 20
214 20.1
215 20.4
216 20.7
217 21.2
218 21.8
219 22.5
220 23.3
221 24.3
222 25.4
223 26.7
224 27.9
225 29
226 29.7
227 29.7
228 29.2
229 28.5
230 27.6
231 26.9
232 26.4
233 26
234 25.8
235 25.7
236 25.9
237 26.2
238 26.7
239 27.4
240 28.3
241 29.3
242 30.3
243 31.3
244 31.9
245 32
246 31.7
247 31.1
248 30.5
249 30
250 29.7
251 29.6
252 29.8
253 30.3
254 31
255 32.1
256 33.5
257 35.1
258 36.7
259 37.6
260 37.2
261 35.9
262 34.6
263 33.4
264 32.7
265 32.2
266 32.1
267 32.4
268 32.9
269 33.8
270 35.1
271 36.8
272 39.1
273 42
274 46.2
275 52.6
276 59.9
277 52.5
278 47.7
279 44.3
280 41.6
281 39.2
282 37.1
283 35.4
284 34
285 33
286 32.3
287 31.9
288 31.8
289 32.1
290 32.6
291 33.1
292 33.2
293 32.5
294 31.1
295 29.3
296 27.6
297 26.2
298 25
299 24.1
300 23.5
301 23.1
302 23
303 23.3
304 23.9
305 25
306 26.7
307 29.4
308 34.1
309 41
310 33.9
311 28.3
312 24.7
313 22.1
314 20.2
315 18.8
316 17.6
317 16.7
318 16.1
319 15.6
320 15.4
321 15.3
322 15.4
323 15.6
324 16
325 16.5
326 17.1
327 17.6
328 17.7
329 17.4
330 16.6
331 15.4
332 14
333 12.6
334 11.3
335 10.1
336 9
337 8
338 7.1
339 6.2
340 5.5
341 4.8
342 4.2
343 3.7
344 3.2
345 2.7
346 2.3
347 1.9
348 1.6
349 1.3
350 1.1
351 0.8
352 0.6
353 0.5
354 0.3
355 0.2
356 0.1
357 0.1
358 0
359 0