Wednesday, May 29, 2013

Orlando Wireless Network 802.11 Frames Plot

I recently became interested in creating 802.11 control and management frame plots around Orlando.  Naturally, the first problem was figuring out how I could capture GPS coordinates on my laptop.  Being GIS savvy, I can think of a few ways to do this but what fun would my blog post be if I took the easy way out?  The reality is, I have a Lassen GPS unit that would get the job done, easily.  Unfortunately, I am not interested in carrying the unit in an out of the car for data collection sessions and I am most-definitely not going to be leaving it in my car to bake in the Florida heat.  Instead, I took an alternative approach and used my MyTouch 4G Android powered cellphone as a USB accessory.  A few lines of JAVA later, I was streaming lats and longs to my Macbook Pro via USB.  Here is what my GPS coordinate streaming app looks like (in all of it's glory).  Notice how I am strictly adhering to the Android UI design guidelines.  When you press the 'Start' button, GPS coordinates begin to stream to the host.

If that screenshot did not keep you interested, maybe the next topic will, Frames!  The pipeline I used to capture the 802.11 frames was rather simple, it boiled down to:

Network "Device" (pcap_t pointer) + pcap code + gps = shapefile.

At this point in time, the shapefile contains control frame addresses and the capability information field for privacy (B4 as defined in section of the 802.11 specification).  In the plots below, each point represents a single GPS coordinate collection event.  Green points represent private networks while red points represent public (aka guest) networks.  Each point may contain multiple 802.11 telemetry frame details.  This is due to the fact that I am not dead-reconing a unique coordinate for each telemetry frame based on the delta T between the last GPS coordinate epoch and the telemetry frames epoch.  Doing this would get messy rather quickly, so I just kept it simple.  Here is a plot of several telemetry frames that I captured while driving through downtown and down 408 (and back).

Below you can see a closeup of the frames that were collected around the 408 / 417 interchange.  It is important to reiterate that there are many points in each spot, where each record represent an individual frame.

Let's zoom in a bit closer and examine one of these sets of frames.  Below, I am selecting the rightmost set of frames (the ones highlighted in yellow).  Within the attribute table, you can examine the described control and management frame data.

I slowed my vehicle down while exiting the 408 and as a result my frame density increased.  The density continued to remain high as I drove throughout downtown Orlando.

Here is a closeup of some of the frames I collected around downtown (near lake Eola).  See how many GPS anomalies you can find.

Below, you can observe another selection of telemetry frames.  Notice the number of records in the attribute table and the number of selected frames.

I intend to expand my data set and create some more interesting plots in the future.  For now, the most interesting plot I can provide is this shot, showing all management frames that were collected with an SSID of DefaultSsid2-1.

Here are some fun-facts about the collected data:

- 3057 unique addresses were collected
- 1030 unique ssids were collected
  - 75 contained the word 'guest'
  - 10 contained the word 'orlando'
  - 34 contained the word 'belkin'
  - 28 contained the word 'netgear'

And here are some funny SSIDs:

- Proceed with Caution
- 2girls1router
- booboo
- getyourown
- Pretty Fly for a Wifi
- Skynet_CyberdyneSystems

Wednesday, May 15, 2013

Map of Florida Antenna Locations

This evening, I needed to generate a custom map of antenna locations for the great State of Florida.  I snatched some data from the FCC and was quickly on my way.  I decided to use state borders, county borders and roads as my reference features (note: no hydro).  You can see the neat border affect I produced by combining the county and state borders.

You can clearly identify your relative location within the state, despite the road networks being mostly translucent.  You can also clearly identify antenna locations using the legend.

As you enter lower scales, roads become well-defined and antenna locations are more precise.

At this point, roads have well defined widths and antenna locations are labeled using their call sign.

Friday, May 10, 2013

Custom Slippy Maps of Orange County Florida

Let's face it, most county and state map services have serious problems.  They are notoriously slow, offer little in the way of filtering and are nearly impossible to customize.  If you're lucky, you can  toggle layers on and off but not without a 1-5 second delay.  Annoying!  No-one wants to see an hour glass after they pan a map, right?  For anyone trying to derive useful, business results, these services are not sufficient.  This is where creating custom, beautiful maps from features comes in handy.  You can carry them in your back pocket or share them with the world, the choice is yours.  And because they can be customized on-the-fly (in software via a web service) the possibilities are endless!

I was provided with a collection of several shapefiles that contained many different features, including lakes, parks, conservation areas, parcels, etc... From this set of data, I need to automatically create customizable, interactive maps.  Specifically, real-estate maps of Orange County Florida.  Once finalized, the base features and styles will be loaded in a popular map service where the client will become empowered.  Clients will access the map service using a web browser.  The presentation will be driven by a popular slippy map control that will allow the user to query and style the data as desired.  The best part is, that all changes to feature geometry and attribution will be automatically reflected in the map (Thank you Python + Mapnik).  Here are some initial shots and descriptions.

At high scales, the most prominent features are visible, including; major highways (and other trans), conservation and hydro features, allowing a user to center on an area of interest.

As you zoom in, more prominent features become visible.  Minor roads can be clearly identified and lakes are labeled.  Notice how you can almost see the individual parcels.

After zooming in some more, you begin to identify individual parcels and boundaries.

Ultimately, assessed values can be identified by a color gradient

Below you can observe the layering affects with the prominent features (parcels, hydro, transportation and conservation)

Close examination of the parcels reveals their assessed values.