Make Stellar/Star Data Maps In GIS

Read More
hygdata_quick_qgis_starmap

I have a latent interest in stargazing but haven’t done much about it for a long time until the past weekend when I had a bit of time and wondered if I could create a star map using QGIS. I found a couple tutorials and stackexchange questions that referenced David Nash’s HYG Database from www.Astronexus.com. Some of the tutorials showed equations for computing latitude and longitude from the star position values – ascension, declination specifically. However, I found that there is already an X and Y column in the latest version of the dataset which makes it easy to map, here’s how.

Download the Star Location Data

From the HYG Database page, grab the HYG version 3.0 dataset:

  • HYG 3.0: Database containing all stars in Hipparcos, Yale Bright Star, and Gliese catalogs (almost 120,000 stars, 14 MB)

The resulting 34MB CSV file contains about 20 columns and 119,615 rows.

Import CSV File into QGIS

  1. Launch QGIS (I’m using 2.10.1-Pisa)
  2. Select Layer -> Add Layer -> Add Delimited Text Layer
  3. Browse to the file location, select File Format radio button as CSV and the rest should take care of itself

Form importing the HYG Database star map CSV file into QGIS

Tweak the Map

If you use a typical WGS84 projection you’ll get a ton of points oriented in a circle.  I took a few minutes to zoom into a meaningful scale (for me it was around 1:5M), change the background colour and then use the LUM attribute to change the relative size of the stars.  I also changed the colours to be shades of white.  Here is what I was able to produce.  It’s not all that meaningful to me but I know that when I need to dig into the data further it will be available!

hygdata_quick_qgis_starmap

I’ve attached my project file here so you can get started quickly.

I’d love to hear what you would use this kind of data for and if you have any tips for making it more useful or better rendered.

Day 1 – Building a 3D Game using Geo Data (Hobby project)

Read More
Day 1 - Unity 3D real time rendering of geodata

We are a team of three guys (so far) with a design idea for a simple yet challenging racing/strategy game based on real-world geospatial data coupled with a 3D gaming engine. Tonight we started building it together in Unity after downloading a bunch of public geospatial datasets. Here’s a summary of what we’ve done and some basic screenshots. The goal is to make progress every couple days to show we is possible with a little work and a combination of creative, technical and group management skillsets.

First Images

Day 1 - Unity 3D real time rendering of geodata

Starting with Geography

The landscape of our 3D game is built using real world geographic information – aka geospatial data. We wanted this so that we could build games around real locales and market the game to local users. One side benefit is the players will learn a little about Canadian geography!

We’ve got a great collection of geo data for all of Canada available through the government Geogratis website. After we’ve decided what map tile numbers we needed, we grab the CDED data which is a TIFF elevation image file with geographic coordinates included.

We also found a BC provincial shaded relief map layer that was pretty nice as a starter. As both these data files are geolocated we can load the data into GIS (geographic information system) software from QGIS.org and combine it with any other data we have for the region. In our case we have a “populated places” point file from naturalearthdata.org that we show as stars on top of the shaded relief map.

Then we export the elevation data and the relief data (including the stars) into two files for Unity to ingest. The result is one PNG that is going to be our texture and the other will be the heightmap for the terrain.

day1_geodata

Loading into Unity

We created a terrain object with some pretty huge dimensions and height. There are mountains in the region we are working with, so it’s pretty cool to see. We apply the heightmap using a commonly used Unity script (I’ll have to put the link here when I remember where I got it!).

Then we add the shade relief map as a texture to the terrain et voila! We threw in a plane of basic water and raised it to the level where it filled the main river valleys. As our game is going to first start as a river racing game, we want to start with water from the very beginning.

We added a car, parented it to the camera and were racing down our waterways within 2 hours of starting. We spent a lot of time adjusting sizes of terrains and texture so we could try to match real-world scale. There are some further ideas we are going to try to optimise this as well as nail down a workflow for easily ingesting new geodata for other regions (as we had to manually export and adjust things in the GIS).


Reposted from our Indiedb blog, hence writing for a slightly non-geo audience: http://www.indiedb.com/members/1tylermitchell/blogs/edit/1mitchellco-day-1-cross-country-river-run-race-game

 

PDF Map Hack – Remove Embedded Image

Read More
pdforthomap

Need to remove an embedded image from a PDF file?  You can easily chop out parts of it as needed with the PDFtk command line tool and a little bit of text editing.  Here’s how… Continue reading “PDF Map Hack – Remove Embedded Image”

Generate terrain with flowing water from DEM in Unity

Read More
terrain-waterflow-gis-unity

Just a quick video follow up based on a reader asking how I did what I did in my previous post with Unity (http://unity3d.com) game engine.

Using Surface Wave asset and built-in Unity Terrain generator, plus a script for taking DEMs and creating Terrains easily.  I’m really new at this by the way, but have a brilliant teacher showing me this stuff in my spare time 🙂

 

IoT Day 4: Bidgely Cloud Energy Monitor Dashboard

Read More
Bidgely Energy Monitor Dashboard - Usage

After a week of collecting smart meter readings, I’m now ready to show results in a cloud-based energy monitor system – Bidgely – complete with graphs showing readings, cost and machine learning results breaking down my usage by appliance.


Bidgely Energy Monitor Dashboard - UsageThis is part 4 of a series of posts about the Internet of Things applied to Home Energy Monitoring.  I have a Smart Meter from BC Hydro, an Eagle energy monitor and various cloud apps helping me understand it all.

 

See my post from Day 1 – getting started or Day 2 – connecting to cloud services – Day 3 – viewing data


3 Value Added Parts to Bidgely

In this post I’ll show you the three parts of Bidgely that I’ve found most helpful:

  1. Usage dashboard
  2. Cost dashboard
  3. Appliance breakdown (best for last!)

Usage Dashboard

Bidgely Energy Monitor Dashboard - Usage
Bidgely Energy Monitor – Usage Dashboard

Continue reading “IoT Day 4: Bidgely Cloud Energy Monitor Dashboard”

IoT Day 3: Viewing data on the Eagle Energy Monitor

Read More
Eagle energy monitor current usage screen
Eagle energy monitor Meter/Current Usage screen

Photo of an Eagle energy monitor device

The Eagle energy monitor from Rainforest Automation is a very handy device.  It reads the wireless signal from my electricity meter and makes it available through a web interface – both a graphical environment and a RESTful API.  In this post we look at the standard graphical screens and the data download option. Next time we’ll look at the RESTful API for programmers to use.


This is part 3 of a series of posts about the Internet of Things applied to Home Energy Monitoring.

See my post from Day 1 – getting started or Day 2 – connecting to cloud services.


Continue reading “IoT Day 3: Viewing data on the Eagle Energy Monitor”

IoT Day 2: Cloud Services for Energy Monitoring

Read More
Bidgely Energy Monitor Dashboard
Bidgely Energy Monitor Dashboard

Energy monitoring isn’t only about knowing what’s happening right now, but also understanding what happened historically.  Often that includes knowing not just what was happening but also when and why.  Enter cloud services for energy monitoring.  They range from simple charts and graphs to predicting your usage over time – essentially storing, analysing and enriching your raw data.
In this post I review two cloud services that I’ve tried so far and show you what you get from them. Continue reading “IoT Day 2: Cloud Services for Energy Monitoring”

IoT Day 1: Home Energy Monitoring

Read More
Graph showing electricity usage from an Eagle home enery monitor
Graph showing electricity usage from an Eagle home enery monitor
Eagle energy home monitoring IoT device
Eagle energy home monitoring IoT device

 

In my next series of blog posts we explore an Internet of Things topic – Home energy monitoring – from a first person perspective.  Join me as I install, use and hack a monitor (and related cloud services) in my new home.


This is part 1 of a series of posts about the Internet of Things applied to Home Energy Monitoring.

See my post from Day 2 – starting to use Cloud Services. Continue reading “IoT Day 1: Home Energy Monitoring”

VIDEO: Kibana 3 Dashboard – 3 Use Cases Demonstrated

Read More
Kibana 3 Dashboard: All Events

Kibana dashboards, from the Elasticsearch project, can help you visualise activity and incidents in log files. Here I show 3 different types of use cases for dashboards and how each can be used to answer different questions depending on the person.  Video and details follow. Continue reading “VIDEO: Kibana 3 Dashboard – 3 Use Cases Demonstrated”

Running Gephi graph vizualization on OSX Mavericks (10.9.5)

Read More
Gephi visualization running on OSX
Gephi running on OSX - showing Tyler's social network from LinkedIn
Gephi visualization running on OSX
Gephi running on OSX – showing Tyler’s social network from LinkedIn

Having trouble launching latest Gephi on OSX?  I’m running Mavericks but I’m sure this will help others who have upgraded or who are still running older versions of OSX.

From command line, use the jdkhome parameter when launching Gephi and point it to the system Java 1.6 install: