• In my mind, this is a question of granularity. There are only 181 latitudes (90 degrees north to 90 degrees south including 0) and 360 longitudes (plus or minus 180 degrees) and they aren't going to change. Two dimension tables could be created since they are independent of one another holding only the degree value for each one which are linked to whatever fact tables require them. Then the precise latitude and longitude can be added as fields for the fact tables (which is probably the only way it could be done for decimal geolocation values). The facts can then be rolled up by the overall latitude and longitude without involving huge tables and still preserve the precise values for a given entry. Even giving the latitude/longitude tables a granularity of one minute (60 minutes per degree), would only involve a table of 21,600 records for longitude and 10,860 for latitude. Again, if the precise location is needed, the full latitude and longitude can be included in the fact tables. It is trivial for a computer to convert decimal to degree/minute/second and back if needed.

    This is similar to the Kimball design tip 51 for handling time of day as a dimension in addition to a calendar dimension.

    ____________
    Just my $0.02 from over here in the cheap seats of the peanut gallery - please adjust for inflation and/or your local currency.