View Javadoc
1   /*
2    * Copyright (C) 2018 Alberto Irurueta Carro (alberto@irurueta.com)
3    *
4    * Licensed under the Apache License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    *
8    *         http://www.apache.org/licenses/LICENSE-2.0
9    *
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */
16  package com.irurueta.navigation.indoor;
17  
18  import com.irurueta.algebra.Matrix;
19  import com.irurueta.geometry.Point2D;
20  
21  /**
22   * Data related to a Wi-Fi access point with estimated transmitted power and
23   * known 2D location.
24   */
25  public class WifiAccessPointWithPowerAndLocated2D extends WifiAccessPointWithPowerAndLocated<Point2D> {
26  
27      /**
28       * Constructor.
29       *
30       * @param bssid            basic service set identifier of this access point in the form of a six-byte MAC address:
31       *                         xx:xx:xx:xx:xx:xx.
32       * @param frequency        frequency used by this Access Point (expressed in Hz).
33       * @param transmittedPower transmitted power by this access point (expressed in dBm's).
34       * @param position         position where access point is located.
35       * @throws IllegalArgumentException if BSSID is null or frequency is negative.
36       */
37      public WifiAccessPointWithPowerAndLocated2D(
38              final String bssid, final double frequency, final double transmittedPower, final Point2D position) {
39          super(bssid, frequency, transmittedPower, position);
40      }
41  
42      /**
43       * Constructor.
44       *
45       * @param bssid            basic service set identifier of this access point in the form of a six-byte MAC address:
46       *                         xx:xx:xx:xx:xx:xx.
47       * @param frequency        frequency used by this Access Point (expressed in Hz).
48       * @param ssid             service set identifier (SSID) of this 802.11 network.
49       * @param transmittedPower transmitted power by this access point (expressed in dBM's).
50       * @param position         position where access point is located.
51       * @throws IllegalArgumentException if BSSID is null or frequency is negative.
52       */
53      public WifiAccessPointWithPowerAndLocated2D(
54              final String bssid, final double frequency, final String ssid, final double transmittedPower,
55              final Point2D position) {
56          super(bssid, frequency, ssid, transmittedPower, position);
57      }
58  
59      /**
60       * Constructor.
61       *
62       * @param bssid                             basic service set identifier of this access point in the form of a six-byte MAC address:
63       *                                          xx:xx:xx:xx:xx:xx.
64       * @param frequency                         frequency used by this Access Point (expressed in Hz).
65       * @param transmittedPower                  transmitted power by this access point (expressed in dBm's).
66       * @param transmittedPowerStandardDeviation standard deviation of transmitted power value.
67       * @param position                          position where access point is located.
68       * @throws IllegalArgumentException if either BSSID is null, frequency is negative
69       *                                  or transmitted power standard deviation is negative.
70       */
71      public WifiAccessPointWithPowerAndLocated2D(
72              final String bssid, final double frequency, final double transmittedPower,
73              final Double transmittedPowerStandardDeviation, final Point2D position) {
74          super(bssid, frequency, transmittedPower, transmittedPowerStandardDeviation, position);
75      }
76  
77      /**
78       * Constructor.
79       *
80       * @param bssid                             basic service set identifier of this access point in the form of a six-byte MAC address:
81       *                                          xx:xx:xx:xx:xx:xx.
82       * @param frequency                         frequency used by this Access Point (expressed in Hz).
83       * @param ssid                              service set identifier (SSID) of this 802.11 network.
84       * @param transmittedPower                  transmitted power by this access point (expressed in dBM's).
85       * @param transmittedPowerStandardDeviation standard deviation of transmitted power value.
86       * @param position                          position where access point is located.
87       * @throws IllegalArgumentException if either BSSID is null, frequency is negative,
88       *                                  or transmitted power standard deviation is negative.
89       */
90      public WifiAccessPointWithPowerAndLocated2D(
91              final String bssid, final double frequency, final String ssid, final double transmittedPower,
92              final Double transmittedPowerStandardDeviation, final Point2D position) {
93          super(bssid, frequency, ssid, transmittedPower, transmittedPowerStandardDeviation, position);
94      }
95  
96      /**
97       * Constructor.
98       *
99       * @param bssid              basic service set identifier of this access point in the form of a six-byte MAC address:
100      *                           xx:xx:xx:xx:xx:xx.
101      * @param frequency          frequency used by this Access Point (expressed in Hz).
102      * @param transmittedPower   transmitted power by this access point (expressed in dBm's).
103      * @param position           position where access point is located.
104      * @param positionCovariance covariance of inhomogeneous coordinates of current
105      *                           position (if available).
106      * @throws IllegalArgumentException if BSSID is null or frequency is negative.
107      */
108     public WifiAccessPointWithPowerAndLocated2D(
109             final String bssid, final double frequency, final double transmittedPower, final Point2D position,
110             final Matrix positionCovariance) {
111         super(bssid, frequency, transmittedPower, position, positionCovariance);
112     }
113 
114     /**
115      * Constructor.
116      *
117      * @param bssid              basic service set identifier of this access point in the form of a six-byte MAC address:
118      *                           xx:xx:xx:xx:xx:xx.
119      * @param frequency          frequency used by this Access Point (expressed in Hz).
120      * @param ssid               service set identifier (SSID) of this 802.11 network.
121      * @param transmittedPower   transmitted power by this access point (expressed in dBM's).
122      * @param position           position where access point is located.
123      * @param positionCovariance covariance of inhomogeneous coordinates of current
124      *                           position (if available).
125      * @throws IllegalArgumentException if BSSID is null or frequency is negative.
126      */
127     public WifiAccessPointWithPowerAndLocated2D(
128             final String bssid, final double frequency, final String ssid, final double transmittedPower,
129             final Point2D position, final Matrix positionCovariance) {
130         super(bssid, frequency, ssid, transmittedPower, position, positionCovariance);
131     }
132 
133     /**
134      * Constructor.
135      *
136      * @param bssid                             basic service set identifier of this access point in the form of a six-byte MAC address:
137      *                                          xx:xx:xx:xx:xx:xx.
138      * @param frequency                         frequency used by this Access Point (expressed in Hz).
139      * @param transmittedPower                  transmitted power by this access point (expressed in dBm's).
140      * @param transmittedPowerStandardDeviation standard deviation of transmitted power value.
141      * @param position                          position where access point is located.
142      * @param positionCovariance                covariance of inhomogeneous coordinates of current
143      *                                          position (if available).
144      * @throws IllegalArgumentException if either BSSID is null, frequency is negative
145      *                                  or transmitted power standard deviation is negative.
146      */
147     public WifiAccessPointWithPowerAndLocated2D(
148             final String bssid, final double frequency, final double transmittedPower,
149             final Double transmittedPowerStandardDeviation, final Point2D position, final Matrix positionCovariance) {
150         super(bssid, frequency, transmittedPower, transmittedPowerStandardDeviation, position, positionCovariance);
151     }
152 
153     /**
154      * Constructor.
155      *
156      * @param bssid                             basic service set identifier of this access point in the form of a six-byte MAC address:
157      *                                          xx:xx:xx:xx:xx:xx.
158      * @param frequency                         frequency used by this Access Point (expressed in Hz).
159      * @param ssid                              service set identifier (SSID) of this 802.11 network.
160      * @param transmittedPower                  transmitted power by this access point (expressed in dBM's).
161      * @param transmittedPowerStandardDeviation standard deviation of transmitted power value.
162      * @param position                          position where access point is located.
163      * @param positionCovariance                covariance of inhomogeneous coordinates of current
164      *                                          position (if available).
165      * @throws IllegalArgumentException if either BSSID is null, frequency is negative,
166      *                                  or transmitted power standard deviation is negative.
167      */
168     public WifiAccessPointWithPowerAndLocated2D(
169             final String bssid, final double frequency, final String ssid, final double transmittedPower,
170             final Double transmittedPowerStandardDeviation, final Point2D position, final Matrix positionCovariance) {
171         super(bssid, frequency, ssid, transmittedPower, transmittedPowerStandardDeviation, position,
172                 positionCovariance);
173     }
174 
175     /**
176      * Constructor.
177      *
178      * @param bssid            basic service set identifier of this access point in the form of a six-byte MAC address:
179      *                         xx:xx:xx:xx:xx:xx.
180      * @param frequency        frequency used by this Access Point (expressed in Hz).
181      * @param transmittedPower transmitted power by this access point (expressed in dBm's).
182      * @param pathLossExponent path loss exponent. By default, this is 2.0.
183      * @param position         position where access point is located.
184      * @throws IllegalArgumentException if either BSSID is null or frequency is negative
185      */
186     public WifiAccessPointWithPowerAndLocated2D(
187             final String bssid, final double frequency, final double transmittedPower, final double pathLossExponent,
188             final Point2D position) {
189         super(bssid, frequency, transmittedPower, pathLossExponent, position);
190     }
191 
192     /**
193      * Constructor.
194      *
195      * @param bssid                             basic service set identifier of this access point in the form of a six-byte MAC address:
196      *                                          xx:xx:xx:xx:xx:xx.
197      * @param frequency                         frequency used by this Access Point (expressed in Hz).
198      * @param transmittedPower                  transmitted power by this access point (expressed in dBm's).
199      * @param transmittedPowerStandardDeviation standard deviation of transmitted power value.
200      * @param pathLossExponent                  path loss exponent. By default, this is 2.0.
201      * @param position                          position where access point is located.
202      * @throws IllegalArgumentException if either BSSID is null, frequency is negative
203      *                                  or transmitted power standard deviation is negative.
204      */
205     public WifiAccessPointWithPowerAndLocated2D(
206             final String bssid, final double frequency, final double transmittedPower,
207             final Double transmittedPowerStandardDeviation, final double pathLossExponent, final Point2D position) {
208         super(bssid, frequency, transmittedPower, transmittedPowerStandardDeviation, pathLossExponent, position);
209     }
210 
211     /**
212      * Constructor.
213      *
214      * @param bssid                             basic service set identifier of this access point in the form of a six-byte MAC address:
215      *                                          xx:xx:xx:xx:xx:xx.
216      * @param frequency                         frequency used by this Access Point (expressed in Hz).
217      * @param ssid                              service set identifier (SSID) of this 802.11 network.
218      * @param transmittedPower                  transmitted power by this access point (expressed in dBM's).
219      * @param transmittedPowerStandardDeviation standard deviation of transmitted power value.
220      * @param pathLossExponent                  path loss exponent. By default, this is 2.0.
221      * @param position                          position where access point is located.
222      * @throws IllegalArgumentException if either BSSID is null, frequency is negative,
223      *                                  or transmitted power standard deviation is negative.
224      */
225     public WifiAccessPointWithPowerAndLocated2D(
226             final String bssid, final double frequency, final String ssid, final double transmittedPower,
227             final Double transmittedPowerStandardDeviation, final double pathLossExponent, final Point2D position) {
228         super(bssid, frequency, ssid, transmittedPower, transmittedPowerStandardDeviation, pathLossExponent, position);
229     }
230 
231     /**
232      * Constructor.
233      *
234      * @param bssid              basic service set identifier of this access point in the form of a six-byte MAC address:
235      *                           xx:xx:xx:xx:xx:xx.
236      * @param frequency          frequency used by this Access Point (expressed in Hz).
237      * @param transmittedPower   transmitted power by this access point (expressed in dBm's).
238      * @param pathLossExponent   path loss exponent. By default, this is 2.0.
239      * @param position           position where access point is located.
240      * @param positionCovariance covariance of inhomogeneous coordinates of current
241      *                           position (if available).
242      * @throws IllegalArgumentException if either BSSID is null, frequency is negative
243      *                                  or covariance has invalid size.
244      */
245     public WifiAccessPointWithPowerAndLocated2D(
246             final String bssid, final double frequency, final double transmittedPower, final double pathLossExponent,
247             final Point2D position, final Matrix positionCovariance) {
248         super(bssid, frequency, transmittedPower, pathLossExponent, position, positionCovariance);
249     }
250 
251     /**
252      * Constructor.
253      *
254      * @param bssid                             basic service set identifier of this access point in the form of a six-byte MAC address:
255      *                                          xx:xx:xx:xx:xx:xx.
256      * @param frequency                         frequency used by this Access Point (expressed in Hz).
257      * @param transmittedPower                  transmitted power by this access point (expressed in dBm's).
258      * @param transmittedPowerStandardDeviation standard deviation of transmitted power value.
259      * @param pathLossExponent                  path loss exponent. By default, this is 2.0.
260      * @param position                          position where access point is located.
261      * @param positionCovariance                covariance of inhomogeneous coordinates of current
262      *                                          position (if available).
263      * @throws IllegalArgumentException if either BSSID is null, frequency is negative
264      *                                  or transmitted power standard deviation is negative.
265      */
266     public WifiAccessPointWithPowerAndLocated2D(
267             final String bssid, final double frequency, final double transmittedPower,
268             final Double transmittedPowerStandardDeviation, final double pathLossExponent, final Point2D position,
269             final Matrix positionCovariance) {
270         super(bssid, frequency, transmittedPower, transmittedPowerStandardDeviation, pathLossExponent, position,
271                 positionCovariance);
272     }
273 
274     /**
275      * Constructor.
276      *
277      * @param bssid                             basic service set identifier of this access point in the form of a six-byte MAC address:
278      *                                          xx:xx:xx:xx:xx:xx.
279      * @param frequency                         frequency used by this Access Point (expressed in Hz).
280      * @param ssid                              service set identifier (SSID) of this 802.11 network.
281      * @param transmittedPower                  transmitted power by this access point (expressed in dBM's).
282      * @param transmittedPowerStandardDeviation standard deviation of transmitted power value.
283      * @param pathLossExponent                  path loss exponent. By default, this is 2.0.
284      * @param position                          position where access point is located.
285      * @param positionCovariance                covariance of inhomogeneous coordinates of current
286      *                                          position (if available).
287      * @throws IllegalArgumentException if either BSSID is null, frequency is negative,
288      *                                  or transmitted power standard deviation is negative.
289      */
290     public WifiAccessPointWithPowerAndLocated2D(
291             final String bssid, final double frequency, final String ssid, final double transmittedPower,
292             final Double transmittedPowerStandardDeviation, final double pathLossExponent, final Point2D position,
293             final Matrix positionCovariance) {
294         super(bssid, frequency, ssid, transmittedPower, transmittedPowerStandardDeviation, pathLossExponent, position,
295                 positionCovariance);
296     }
297 
298     /**
299      * Constructor.
300      *
301      * @param bssid                             basic service set identifier of this access point in the form of a six-byte MAC address:
302      *                                          xx:xx:xx:xx:xx:xx.
303      * @param frequency                         frequency used by this Access Point (expressed in Hz).
304      * @param transmittedPower                  transmitted power by this access point (expressed in dBm's).
305      * @param transmittedPowerStandardDeviation standard deviation of transmitted power value or null
306      *                                          if unknown.
307      * @param pathLossExponent                  path loss exponent. By default, this is 2.0.
308      * @param pathLossExponentStandardDeviation standard deviation of path loss exponent or null if
309      *                                          unknown.
310      * @param position                          position where access point is located.
311      * @throws IllegalArgumentException if either BSSID is null, frequency is negative
312      *                                  or any standard deviation is negative.
313      */
314     public WifiAccessPointWithPowerAndLocated2D(
315             final String bssid, final double frequency, final double transmittedPower,
316             final Double transmittedPowerStandardDeviation, final double pathLossExponent,
317             final Double pathLossExponentStandardDeviation, final Point2D position) {
318         super(bssid, frequency, transmittedPower, transmittedPowerStandardDeviation, pathLossExponent,
319                 pathLossExponentStandardDeviation, position);
320     }
321 
322     /**
323      * Constructor.
324      *
325      * @param bssid                             basic service set identifier of this access point in the form of a six-byte MAC address:
326      *                                          xx:xx:xx:xx:xx:xx.
327      * @param frequency                         frequency used by this Access Point (expressed in Hz).
328      * @param ssid                              service set identifier (SSID) of this 802.11 network.
329      * @param transmittedPower                  transmitted power by this access point (expressed in dBM's).
330      * @param transmittedPowerStandardDeviation standard deviation of transmitted power value or null
331      *                                          if unknown.
332      * @param pathLossExponent                  path loss exponent. By default, this is 2.0.
333      * @param pathLossExponentStandardDeviation standard deviation of path loss exponent or null if
334      *                                          unknown.
335      * @param position                          position where access point is located.
336      * @throws IllegalArgumentException if either BSSID is null, frequency is negative,
337      *                                  or any standard deviation is negative.
338      */
339     public WifiAccessPointWithPowerAndLocated2D(
340             final String bssid, final double frequency, final String ssid, final double transmittedPower,
341             final Double transmittedPowerStandardDeviation, final double pathLossExponent,
342             final Double pathLossExponentStandardDeviation, final Point2D position) {
343         super(bssid, frequency, ssid, transmittedPower, transmittedPowerStandardDeviation, pathLossExponent,
344                 pathLossExponentStandardDeviation, position);
345     }
346 
347     /**
348      * Constructor.
349      *
350      * @param bssid                             basic service set identifier of this access point in the form of a six-byte MAC address:
351      *                                          xx:xx:xx:xx:xx:xx.
352      * @param frequency                         frequency used by this Access Point (expressed in Hz).
353      * @param transmittedPower                  transmitted power by this access point (expressed in dBm's).
354      * @param transmittedPowerStandardDeviation standard deviation of transmitted power value or null
355      *                                          if unknown.
356      * @param pathLossExponent                  path loss exponent. By default, this is 2.0.
357      * @param pathLossExponentStandardDeviation standard deviation of path loss exponent or null if
358      *                                          unknown.
359      * @param position                          position where access point is located.
360      * @param positionCovariance                covariance of inhomogeneous coordinates of current
361      *                                          position (if available).
362      * @throws IllegalArgumentException if either BSSID is null, frequency is negative,
363      *                                  any standard deviation is negative or covariance has invalid size.
364      */
365     public WifiAccessPointWithPowerAndLocated2D(
366             final String bssid, final double frequency, final double transmittedPower,
367             final Double transmittedPowerStandardDeviation, final double pathLossExponent,
368             final Double pathLossExponentStandardDeviation, final Point2D position, final Matrix positionCovariance) {
369         super(bssid, frequency, transmittedPower, transmittedPowerStandardDeviation, pathLossExponent,
370                 pathLossExponentStandardDeviation, position, positionCovariance);
371     }
372 
373     /**
374      * Constructor.
375      *
376      * @param bssid                             basic service set identifier of this access point in the form of a six-byte MAC address:
377      *                                          xx:xx:xx:xx:xx:xx.
378      * @param frequency                         frequency used by this Access Point (expressed in Hz).
379      * @param ssid                              service set identifier (SSID) of this 802.11 network.
380      * @param transmittedPower                  transmitted power by this access point (expressed in dBM's).
381      * @param transmittedPowerStandardDeviation standard deviation of transmitted power value or null
382      *                                          if unknown.
383      * @param pathLossExponent                  path loss exponent. By default, this is 2.0.
384      * @param pathLossExponentStandardDeviation standard deviation of path loss exponent or null if
385      *                                          unknown.
386      * @param position                          position where access point is located.
387      * @param positionCovariance                covariance of inhomogeneous coordinates of current
388      *                                          position (if available).
389      * @throws IllegalArgumentException if either BSSID is null, frequency is negative,
390      *                                  any standard deviation is negative or covariance has invalid size.
391      */
392     public WifiAccessPointWithPowerAndLocated2D(
393             final String bssid, final double frequency, final String ssid, final double transmittedPower,
394             final Double transmittedPowerStandardDeviation, final double pathLossExponent,
395             final Double pathLossExponentStandardDeviation, final Point2D position, final Matrix positionCovariance) {
396         super(bssid, frequency, ssid, transmittedPower, transmittedPowerStandardDeviation, pathLossExponent,
397                 pathLossExponentStandardDeviation, position, positionCovariance);
398     }
399 
400     /**
401      * Empty constructor.
402      */
403     protected WifiAccessPointWithPowerAndLocated2D() {
404         super();
405     }
406 }