One of the objectives of this website is to create our own mapping applications. This requires a strong knowledge base of geography, mathematics, and computer programming. So before we can jump into the more advanced projects, we have to start with the basics. We’ve already been investigating GPS in our previous posts but today we will create a very basic mapping application.
Our “World Mapper” program begins by acquiring a map of the earth. I downloaded this one from Wikipedia Commons and shrunk it down to 400 pixels by 200 pixels.

Read the rest of this entry »
Continuing with our GPS program, we now need to add a method to read from the GPS device. This step will grab the NMEA information, parse it, and store it in the classes provided in from the Coding 4 Fun project.
public bool ReadData()
{
byte[] bData = new byte[256];
try
{
_port.Read(bData, 0, 256);
_protocol.ParseBuffer(bData);
_validData = true;
return true;
}
catch
{
_validData = false;
return false;
}
}
Read the rest of this entry »
Using the information in the previous 3 posts, we can now build our own GPS solution based on the Coding 4 Fun project. Our objective is to create a DLL that can be used in future projects that need to read from GPS devices. The DLL will serve as the interface between the program and a GPS device.
Read the rest of this entry »
As I mentioned before, Microsoft’s Coding 4 Fun GPS project contains a math error when calculating latitude and longitude. I’ll first provide a brief review of the NMEA protocol to better understand the error and how to correct it.
GPS receivers communicate using the NMEA protocol. Another device, such as a computer, receives the data in the form of NMEA sentences. There are several different types of NMEA sentences that allow for information on location (GPGGA), accuracy (GPGSA), satellite reception (GPGSV), etc. to be transmitted.
Read the rest of this entry »
Before reading, be sure to review part 1 and download the Coding 4 Fun GPS Program.
After opening the GPS program in Visual C# Express Edition, you will note that the Coding for Fun project is actually composed of two solutions named GPS and GPSClient. The GPS solution contains 4 files where all the C# code needed to connect and read from a GPS is stored. The second solution is named GPSClient and is just a GUI for displaying the information being transmitted from the GPS device.
Read the rest of this entry »
Have you ever wanted to connect to a GPS device within your own custom application? In the past, this was a difficult task for the average programmer using languages like C++. Fortunately, Microsoft’s .NET framework along with the C# programming language has made this task much easier.
Read the rest of this entry »
This week I took a look at Quantum GIS (QGIS) on a UMPC. QGIS is an open source mapping application that is free to use. First I installed QGIS version 0.7.3 on a Samsung Q1 without any problems. Then I setup a test map that consisted of some vector data that is freely available from the Michigan Center for Geographic Information.

Read the rest of this entry »
In early 2006, Microsoft officially announced their vision for the Ultra-Mobile PC (UMPC). What began as the “Origami Project†evolved into a unique mobile device combining the processing power of a desktop computer with the mobility of a PDA. The devices would also add the functionality of a tablet PC by running Windows XP Tablet Edition.
Read the rest of this entry »
Spatial Horizons is an exploration into the world of geographic information. We explore how geography, maps, and location-based services can change the way we interact with information.
The primary purpose of this blog is to serve as a project journal. Entries will discuss and describe the various geospatial projects we are working on currently. Hopefully they will provide instruction to some readers and inspiration to others.