Aircraft Tracking From Home

Published July 24, 2017 by Jeff Galang

Written by Dan Huber

Have you ever looked up at a plane flying overhead and wondered what type of aircraft it was or where it was heading? While there are a myriad of web and smart phone applications to answer these questions for you, wouldn’t it be nice to be able to capture the information directly from the airways using equipment you set up at your home? If you’ve answered yes to these questions and are comfortable configuring hardware and installing software, then continue to read on to learn about an inexpensive way to do this from your home.

In order to get started with this project we need to take a quick sidetrip on the technology that makes all this possible. The first is the ADS-B signals sent out by the aircraft. ADS-B stands for Automatic Dependent Surveillance – Broadcast. This signal is broadcast by most aircraft and contains information about the aircraft’s speed, heading, altitude, location and identity, and is used to help avoid collisions and provide situational awareness beyond the current Air Traffic Control systems. The second technology we will leverage for this application is Software Defined Radio (SDR). Simply put, an SDR is a cheap and inexpensive piece of hardware you can purchase that when coupled with a computer acts as a radio receiver. The best place to read up on this is the site RTL-SDR.COM. The final bit of tech we will be using is the RaspBerry Pi – an inexpensive microcomputer that the system will run on.

Hardware setup to make this all work

Now that we know what technology is used to make this application run, here is a quick list of the hardware needed to be acquired. All can be purchased for around $75 from online sites, so I will leave it up to you to decide where to buy it.

  1. Raspberry Pi: Recommend version 3 as it has built in wifi, but version 2 will also work
  2. RTL-SDR: Any of the RTL-SDR DVB-T usb sticks will work
  3. Micro SD Card: 8GB or larger

With the hardware in hand, it is a pretty straight forward process to get everything setup. The first thing you will need to decide is how indepth you want to go with building your system. For this activity, I’m going to recommend we take the easiest route that gets us up and running in the shortest amount of time. For those so inclined to going down rough road, I recommend reading about all the possibilities on the RTL-SDR ADS-B page.

To get the software installed and running on our RasPi, FlightAware has gone ahead and done all the heavy lifting and created an image file that contains the operating system and software needed to run the aircraft tracking application. They’ve done this to make it easy to increase the coverage of receivers listening to aircraft, with the understanding that what your station is picking up is resent to their service. If you are uncomfortable with sending data from your home up to FlightAware, I recommend taking a look at the RTL-SDR ADS-B page references above to getting the software installed and running. While the end results are the same, you just have to put a little more effort into it. Here is a quick breakdown of the steps to take, with detailed information found on the FlightAware build page

  1. Download the PiAware RasPi image and install it on the SD Card
  2. Configure the application for your network or the type of receiver you are using if necessary
  3. Install the SD card on the RasPi, connect the RTL-SDR usb device and antenna, and then plug it in.

Once it has started up, you can view the signals being received by the device by opening the application in a web browser on your local network. The web address will be http://raspi-ip-address/dump1090-fa/

FlightAware Web Application

Now that we have a cheap and simple device capturing the aircraft flying overhead, be sure to check out my next post where I will outline the processes for pulling this real time data into a professional GIS. To be continued…….

Esri User Conference 2017

Published July 3, 2017 by Kaitlyn Thomas

This year, as a dedicated Esri Platinum Partner, we will be holding a stronger presence than ever before in San Diego, CA at the annual Esri User Conference Events.

On July 9th, we will be a Diamond Sponsor exhibiting at B109 at the Esri Business Summit. We’ll be showcasing our new initiative, the GeoIoT Platform and we’ll be on the main stage with client Hartsfield-Jackson Atlanta International Airport and partner Acuity Brands presenting on our recent project work.

Then starting July 10th, the Esri User Conference kicks off and July 11-13 we’ll be exhibiting in booth 1619 also showcasing our GeoIoT Platform. We will have live demonstrations to illustrate how GeoIoT is innovating the power of where for clients in Federal, State & Local Government as well as private industries. We will be able to visualize live convention center foot traffic in our booth while featuring a smart LED light table with the help of our partner, Acuity Brands. In addition to our new GeoIoT Platform, we will also showcase the latest innovations in our traditional GIS capabilities.

Please be sure to stay tuned to our social media platforms to catch interviews with our clients about our project work with them, updates on where our clients are presenting at the UC, as well as which Esri Event Socials we will be sponsoring.

S&L Presence at Esri User Conference 2017

Published June 26, 2017 by Kaitlyn Thomas

In two weeks, our big trip to San Diego, CA is happening, where we will be participating in several events as part of the annual Esri User Conference (UC).

Catch us at the UC Water Meeting on Sunday, July 9th as well as the Water Utilities SIG during lunch on Wednesday, July 12th; where we will be showcasing some exciting new technology including Insights for ArcGIS and how it delivered an instant ROI to Opelika Utilities.

Our company will also hold a strong presence July 11-13, exhibiting in booth #1619. We will have live demonstrations to illustrate how the new GISinc GeoIoT™ Platform is Innovating the Power of Where for our clients. You will be able to observe live convention center foot traffic in our booth while and explore a smart LED light table with the help of our partner, Acuity Brands.

In addition to our new GeoIoT Platform, we will also showcase the latest GIS innovations across all of our state and local organizations we serve today.

We are also proud to announce we will be sponsoring this year’s State & Local Government Social during the week. Make sure to swing by and grab a drink with us.

Please be sure to stay tuned to our social media platforms to catch interviews with our customers highlighting our project work with them as well as updates on where our clients are presenting at the UC.

If you will be in San Diego for the UC and would like to connect or learn more about our GIS and GeoIoT solutions, please contact our sales team at sales@gisinc.com.

User Conference 2017 – Our COO’s Perspective

Published June 23, 2017 by Kaitlyn Thomas

This year we are growing our presence at the 2017 Esri Business Summit and Esri International User Conference in July. Our COO, Greg Harris, has published a blog on LinkedIn that explains the plans we have. Check it out at this link: https://www.linkedin.com/pulse/attending-2017-esri-user-conference-greg-harris. To learn more about both events, visit http://www.esri.com/about/events/uc

Code Retreat

Published May 16, 2017 by Jeff Galang

Written by Patrick Scanlon

Each year GISincers from across the United States set aside their project work and get on a plane (or in a car) and travel to Unplugged, our annual company gathering. Unplugged 2017 was held just a few weeks ago in Stone Mountain, GA and featured a new and exciting event for developers: Code Retreat.

Code Retreat is an event focused on practicing the craft of software development. It was started in Ann Arbor, MI in 2009 and since then hundreds of Code Retreats have been held all over the world. We started by reviewing Conway’s Game of Life as the programming problem for the day. Then the group broke into pairs and each pair worked on coding some part of Conway’s Game of Life for 45 minutes. After the timer went off we all stopped what we were doing and discussed what approach we took and what we learned. Then we did something that surprises most people: we deleted the code we just wrote. Then we switched partners and repeated the process for another 45 minutes. Although this process is supposed to repeat for at least 4 hours (ideally Code Retreat would be a day long) we had to break early due to various logistical constraints.

Overall our code retreat was a huge success! Knowing that we were not expected to produce anything gave us the freedom to do focused practice. The importance of focused practice is well understood when learning a musical instrument; students typically spend hours practicing scales in an environment free from external expectations. Code Retreat gave us the ability to sharpen the fundamental skills involved in programming without having to worry about how the code will look or whether it works. We were able to practice such things as unit testing and functional programming principles and I think each developer learned something.

Since this was our first Code Retreat and because it was such a unique event, we didn’t get everything right the first try. We had some trouble scaling down our efforts. I think when we received the instructions to work on something for 45 minutes we all instinctively translated that into an instruction to complete the task in 45 minutes. So instead of focusing on writing a small amount of perfect code the way a piano player would focus on playing a perfect scale we dedicated our energy to banging out a larger chunk of code at breakneck speed. Next time we will focus on quality over quantity.

GISinc developers participating in Code Retreat

To learn more about Code Retreat visit their website: http://coderetreat.org. If you like what you see, check out the list of events and see if there is an upcoming Code Retreat in your area!

FREE Webinar – ArcGIS 10.5 – Are You There Yet?

Published May 10, 2017 by Kaitlyn Thomas

GISinc is partnering with our customers to deliver organizational roadmaps for your 10.5 upgrade. We’d like to extend an invitation to you to view our upcoming webinar “ArcGIS 10.5 – Are You There Yet?” on Tuesday, May 23rd at 11:00am CST.

We will be providing insight about the following upgrade features:

  • ArcGIS Pro
  • ArcGIS Enterprise
  • Insights for ArcGIS
  • Portal to Portal Collaboration
  • GeoEvent Server
  • GeoAnalytics Server

View the recording for this webinar at this link: https://attendee.gotowebinar.com/register/2932527635788052226

 

Getting ESRI’s Default Vector Basemaps into the Basemap Gallery Widget

Published April 18, 2017 by Jeff Galang

Whether you agree with putting a basemap gallery widget into your web mapping application or not, it is one of the most common tasks web developers are asked to perform. At some point in developing spatial web applications you will likely be asked to do this. Fortunately, many APIs come with some type of widget and make this task fairly trivial. The ESRI JavaScript API has had a basemap gallery widget since the early days but new vector basemaps have increased it’s relevance as of late. As such, our applications had a requirement to take all of the latest default basemaps within the JSAPI (which include some vector basemaps) and put them into the gallery.

Vector tile layers have been around for a while but are relatively new in the ESRI JSAPI. Moreover, ESRI now provides a number of vector basemaps available from ArcGIS Online for free that can be added to your application. ESRI makes it very easy to add custom basemaps to an application using either the default basemaps collection or the gallery widget itself. However, depending on where you want to put the basemap, the code is a bit different.

To add a vector tile basemap to the default collection, simply create a new basemap object with it’s collection of basemap layers and add it. Required properties for each basemap layer object include url and type.

require([
    "esri/basemaps",
    "esri/map"
  ], function (esriBasemaps, Map) {
    esriBasemaps.myBasemap = {
      baseMapLayers: [{
        type: "VectorTile",
        url: "https://www.arcgis.com/sharing/rest/content/items/92c551c9f07b4147846aae273e822714/resources/styles/root.json"
        }
      ],
      thumbnailUrl: "https://www.arcgis.com/sharing/rest/content/items/92c551c9f07b4147846aae273e822714/info/thumbnail/streetnight_thumb_b2.jpg",
      title: "My Basemap"
    };

    var map = new Map("map", {
      basemap: "myBasemap",
      center: [-111.879655861, 40.571338776], // long, lat
      zoom: 13
    });
});

To add a vector tile basemap to the gallery widget, create a new Basemap object with it’s collection of BasemapLayers and add it to the gallery’s constructor. Required properties for each basemap layer object include styleUrl and type.

require([
  "esri/dijit/Basemap",
  "esri/dijit/BasemapLayer",
  "esri/dijit/BasemapGallery" 
], function(Basemap, BasemapLayer, BasemapGallery) {
  var basemaps = [];
  var myBasemap = new Basemap({
    layers: [new BasemapLayer({
      styleUrl: "https://www.arcgis.com/sharing/rest/content/items/92c551c9f07b4147846aae273e822714/resources/styles/root.json",
      type: "VectorTileLayer"
    })],
    id: "myBasemap",
    title: "My Basemap",
    thumbnailUrl: "https://www.arcgis.com/sharing/rest/content/items/92c551c9f07b4147846aae273e822714/info/thumbnail/streetnight_thumb_b2.jpg"
  });
  basemaps.push(myBasemap);

  var gallery = new BasemapGallery({
    map: map,
    basemaps: basemaps
  }, "myDiv");
  gallery.startup();
});

The main thing to notice in the above examples is that the basemap layer object is different. With the esriBasemaps collection, vector tile layers are defined with a url property and a type property set to VectorTile. With the gallery, vector tile layers are defined with a styleUrl property and a type property set to VectorTileLayer. While this difference is documented in the API it’s not highly visible and easily overlooked.

With the above inconsistencies (VectorTile versus VectorTileLayer and url versus styleUrl), simply transferring the default basemaps into the gallery requires a bit of manipulation. Here’s what we did to accomplish this using Underscore (you could just as easily use Dojo):

require([
  "esri/basemaps",
  "esri/dijit/Basemap",
  "esri/dijit/BasemapLayer",
  "esri/dijit/BasemapGallery" 
], function(esriBasemaps, Basemap, BasemapLayer, BasemapGallery) {
  ...
  // don't show ArcGIS basemaps since we'll add those from the default collection
  var basemapGalleryParams = {
    showArcGISBasemaps: false,
    map: map
  };

  // create a new basemaps array containing the default basemaps
  var basemaps = [];
  _.each(_.keys(esriBasemaps), function (key) {
    var basemap = esriBasemaps[key];
    basemaps.push(new Basemap({
      id: key,
      layers: _.map(basemap.baseMapLayers || [], function (l) {
          return l.type && l.type === "VectorTile" ? _.extend(l, {
              type: l.type + "Layer",
              styleUrl: l.url
          }) : l;
      }),
      thumbnailUrl: basemap.thumbnailUrl,
      title: basemap["title"]
    }));
  });

  basemapGalleryParams.basemaps = basemaps;
  var gallery = new BasemapGallery(basemapGalleryParams, "myDiv");
  gallery.startup();
  ...
});

And that’s it…you now have the entire collection of default basemaps in the widget for use in your application. Perhaps in the future, ESRI will host a group containing the default basemaps so that we can make use of the basemapsGroup option.

Esri Broomfield, CO Office GeoIoT Seminar

Published April 17, 2017 by Kaitlyn Thomas

Senior Regional Account Manager, Dawn Siegel will partner with the Broomfield, CO Esri Office to host a seminar on the GISinc GeoIoT Platform on Wednesday, May 31st. Topics to be covered are Geoevent, Esri Insights, Geoanalytics Tools, and the GISinc GeoIoT Story.

Please register in advance for this seminar at this link: http://info.gisinc.com/geoiotseminardenver

Chicago and Milwaukee Areas Connect

Published April 17, 2017 by Kaitlyn Thomas

Regional Account Manager, Tyler Prahl will be in the greater Chicago and Milwaukee areas August 14-18. Connect with him here to set up a meeting with him while he is in your area.

GISinc and Pro-West Strengthen Offering with Mentor-Protégé Agreement

Published April 11, 2017 by Kaitlyn Thomas

Geographic Information Services, Inc. (GISinc) and Pro-West & Associates, Inc. (Pro-West), have announced their agreement established through the US Small Business Administration’s Mentor-Protégé Program.

The alliance formalizes the longstanding relationship between the two firms, which share closely aligned skill sets and operational approaches. Together, mentor firm GISinc and protégé Pro-West will present to the market an extended team skilled in the full range of GIS services spanning application development, geospatial data services, and system infrastructure and integration.

For the Esri community, GISinc and Pro-West’s Mentor-Protégé Agreement represents a unique offering within the Federal Small Business Specialty Program.

“My excitement for expanding upon our existing relationship with Pro-West, through the Mentor-Protégé Program, is driven by the unique opportunity to respond to increased market demand by providing comprehensive GIS services and solutions,” said Brad Epker, Chief Revenue Officer at GISinc.

Annette Theroux, President, Pro-West, commented: “Our combined team represents some of the most innovative, widest ranging and most specialized expertise in the GIS industry. We already enjoy an excellent relationship with GISinc, and are now looking forward to working together as a formal team to extend our reach across multiple markets, with a special focus on the federal government sector, and solidify our presence in the markets where we are currently engaged with an augmented group of skilled professionals.”

GISinc, celebrating 25 years in GIS, is an employee-owned company located in Birmingham, Alabama, with offices throughout the United States. GISinc has a passion for delivering customer driven location technology solutions to federal, state and local governments, and commercial organizations. For more information, please visit http://www.gisinc.com, or call (205) 941-0442.

Pro-West was established 30 years ago in Walker, MN, and is 100% employee owned. It specializes in making its clients successful by providing GIS data services, analysis, application development, integration, and training for federal, state, and local government, and private industry. Simply put, we make what you do better with location technology. Visit https://www.prowestgis.com/ or call (320) 207-6868.
_____________________________________________________________________________________

For more information:

Lori Page, GISinc: lori.page(at)gisinc(dot)com / (205) 941-0442 ext. 224
Jenny Miller, Pro-West: jmiller(at)prowestgis(dot)com / (320) 207-6858 (direct)