GIS means Geographical Information System and it involves software and data that describe a physical geography.
In a regular database, there are fields that hold different types of information. Some hold numbers, some hold strings of text, some hold dates, etc. But regular databases don’t directly know anything about geography.
So if I have a table of cell sites, a regular database doesn’t have a data type to hold the coverage. We can use two fields (latitude and longitude) that hold numbers to store the coordinates of a cell site. These two fields only describe a single point. They do not describe the coverage boundary.
Just two numbers, a latitude and longitude, are required to describe the cell site. So, if you have a 1,000 cell sites, then you might have a database table with 1,000 records with the two fields plus any other data that you need about the cell sites. This is simple. But with a coverage boundary, each bend in the boundary requires a node, which is another latitude/longitude pair.
Therefore, a single cell coverage can have tens of thousands of nodes that describe it. When you consider multiple signal levels, multiple types of coverage, and thousands of cells, you can see the amount of data that the GIS has to manage is huge.
With each cell’s coverage potentially varying so much, you can see how GIS data is highly variable from row to row.
Contrast this with a traditional database – a database that is highly ordered and defined. Even with millions of customers, a billing system’s data can easily fit into traditional databases. The very nature of GIS data makes the data storage/retrieval/calculation issues more significant because you want to do “things” with that information. In a coverage application, some of those things are:
• draw the object (define the cell coverage); • compute the coverage area • understand what retail stores fall within the coverage; • calculate how many miles of interstate highway fall under the coverage; • define an exchange boundary to file certain FCC reports.
Remember, this is just coverage. Consider the myriad of other types of data and the uses: ZIP codes, county boundaries, Public Safety Answering Point boundaries, census, election boundaries, etc.
GIS has traditionally been heavily used in a workstation environment. With large datasets, the full power of the CPU and memory is required to process the data. For web based applications, I’ll call the GIS a “transactional GIS” because the applications tend to be more transaction based rather than analytical.
Some of the things that make a transactional GIS different from more traditional transaction systems are akin to what makes cellular different than AM radio broadcasting.
While the cellular industry makes wireless communications seem simple, the amount of engineering required to make it work is significant. If you think about how wireless works (multiple channels, hand-offs, capacity planning, terrain, roaming, etc.), it is easy to be amazed at the level of effort needed to simply make a phone call.
In a lot of ways, GIS is similar. No one really cares how it works, but that it just should work.
This is where SpatialPoint comes in. We have been working with applications for wireless carriers (engineering, customer service and marketing) for many years and we are familiar with the issues.
As a business, SpatialPoint is focusing on large transactional mapping applications. While we do GIS, most of the applications we build are consumer orientated rather than scientific or analytical. The word “consumer” doesn’t mean “simplistic” but rather scalable and easy to use.
To build “scalable and easy to use” we use an approach for clients that reduces risk because a large part of the computational effort and data effort is performed elsewhere and, therefore, we don’t have to worry about how many servers are required to handle the base maps, geocoding and routing. Planning is required to handle your application, data and how the system will be used and loaded, but because the licensed map content (MapPoint) is not priced by the server or processor, the cost to add a new server is much less than some other systems.
In other words, if the scope increases or the load estimates are wrong, the costs for scaling by adding hardware are not astronomical. Microsoft has produced a great web service that we all benefit from.
Finally, we take the long view of a customer relationship and we feel this will be a platform for many other applications.