Important: We've redesigned the Amazon QuickSight analysis workspace. You might encounter screenshots or procedural text that doesn't reflect the new look in the QuickSight console. We're in the process of updating screenshots and procedural text.
To find a feature or item, use the Quick search bar.
For more information on QuickSight's new look, see Introducing new analysis experience on Amazon QuickSight
Geospatial troubleshooting
Use this section to discover the Amazon QuickSight requirements for correctly processing geospatial data. If Amazon QuickSight doesn't recognize your geospatial data as geospatial, use this section to help troubleshoot the issue. Make sure that your data follows the guidelines listed, so that it works in geospatial visuals.
Note
Geospatial charts in Amazon QuickSight currently aren't supported in some AWS Regions, including in China. We are working on adding support for more Regions.
If your geography follows all the guidelines listed here, and still generates errors, contact the Amazon QuickSight team from within the Amazon QuickSight console.
Geocoding issues
Amazon QuickSight geocodes place names into latitude and longitude coordinates. It uses these coordinates to display place names on the map. Amazon QuickSight skips any places that it can't geocode.
For this process to work properly, your data must include at least the country. Also, there can't be duplicate place names inside of a parent place name.
A few issues prevent place names from showing up on a map chart. These issues include unsupported, ambiguous, or invalid locations, as described following.
Topics
Issues with unsupported areas
To map unsupported locations, include latitude and longitude coordinates in your data. Use these coordinates in the geospatial field well to make locations show on a map chart.
Issues with ambiguous locations
Geospatial data can't contain ambiguous locations. For example, suppose
that the data contains a city named Springfield
, but
the next level in the hierarchy is country. Because multiple states have a
city named Springfield
, it isn't possible to geocode
the location to a specific point on a map.
To avoid this problem, you can add enough geographical data to indicate what location should show on a map chart. For example, you can add a state level into your data and its hierarchy. Or, you might add latitude and longitude.
Issues with invalid geospatial data
Invalid geospatial data occurs when a place name (a city, for example) is listed under an incorrect parent (a state, for example). This issue might be a simple misspelling, or data entry error.
Note
Amazon QuickSight doesn't support regions (for example, West Coast or South) as geospatial data. However, you can use a region as a filter in a visual.
Issues with the default country in geocoding
Make sure that you are using the correct default country.
The default for each hierarchy is based on the country or country field that you choose when you create the hierarchy.
To change this default, you can return to the Create hierarchy screen. Then edit or create a hierarchy, and choose a different country.
If you don't create a hierarchy, your default country is based on your AWS Region. For details, see the following table.
Region | Default country |
---|---|
US West (Oregon) Region US East (Ohio) Region US East (N. Virginia) Region |
US |
Asia Pacific (Singapore) | Singapore |
Asia Pacific (Sydney) | Australia |
Europe (Ireland) Region | Ireland |
Issues with latitude and longitude
Amazon QuickSight uses latitude and longitude coordinates in the background to find place names on a map. However, you can also use coordinates to create a map without using place names. This approach also works with unsupported place names.
Latitude and longitude values must be numeric. For example, the map point
indicated by 28.5383355 -81.3792365
is compatible with
Amazon QuickSight. But 28° 32' 18.0096'' N 81° 22' 45.2424'' W
is not.
Topics
Valid ranges for latitude and longitude coordinates
Amazon QuickSight supports latitude and longitude coordinates within specific ranges.
Coordinate | Valid range |
---|---|
Latitude | Between -90 and 90 |
Longitude | Between -180 to 180 |
Amazon QuickSight skips any data outside these ranges. Out-of-range points can't be mapped on a map chart.
Using coordinates in degrees, minutes, and seconds (DMS) format
You can use a calculated field with a formula to create a numeric latitude and longitude out of character strings. Use this section to find different ways that you can create calculated fields in Amazon QuickSight, to parse GPS latitude and longitude into numeric latitude and longitude.
The following sample converts latitude and longitude to numeric format
from separate fields. For example, suppose that you parse 51° 30'
26.4636'' N 0° 7' 39.9288'' W
using space as a delimiter. In
this case, you can use something like the following sample to convert the
resulting fields to numeric latitude and longitude.
In this example, the seconds are followed by two single quotation marks.
If your data has a double quotation mark instead, then you can use
strlen(LatSec)-1)
instead of
strlen(LatSec)-2)
.
/*Latitude*/ ifelse( LatDir = "N", parseInt(split(LatDeg, "°", 1)) + (parseDecimal(split(LatMin, "'", 1) ) /60) + (parseDecimal((substring(LatSec, 1, strlen(LatSec)-2) ) ) /3600), (parseInt(split(LatDeg, "°", 1)) + (parseDecimal(split(LatMin, "'", 1) ) /60) + (parseDecimal((substring(LatSec, 1, strlen(LatSec)-2) ) ) /3600)) * -1 ) /*Longitude*/ ifelse( LongDir = "E", parseInt(split(LongDeg, "°", 1)) + (parseDecimal(split(LongMin, "'", 1) ) /60) + (parseDecimal((substring(LongSec, 1, strlen(LongSec)-2) ) ) /3600), (parseInt(split(LongDeg, "°", 1)) + (parseDecimal(split(LongMin, "'", 1) ) /60) + (parseDecimal((substring(LongSec, 1, strlen(LongSec)-2) ) ) /3600)) * -1 )
If your data doesn't include the symbols for degree, minute and second, the formula looks like the following.
/*Latitude*/ ifelse( LatDir = "N", (LatDeg + (LatMin / 60) + (LatSec / 3600)), (LatDeg + (LatMin / 60) + (LatSec / 3600)) * -1 ) /*Longitude*/ ifelse( LongDir = "E", (LongDeg + (LongMin / 60) + (LongSec / 3600)), (LongDeg + (LongMin / 60) + (LongSec / 3600)) * -1 )
The following sample converts 53°21'N 06°15'W
to
numeric format. However, without the seconds, this location doesn't map as
accurately.
/*Latitude*/ ifelse( right(Latitude, 1) = "N", (parseInt(split(Latitude, '°', 1)) + parseDecimal(substring(Latitude, (locate(Latitude, '°',3)+1), 2) ) / 60) , (parseInt(split(Latitude, '°', 1)) + parseDecimal(substring(Latitude, (locate(Latitude, '°',3)+1), 2) ) / 60) * -1 ) /*Longitude*/ ifelse( right(Longitude, 1) = "E", (parseInt(split(Longitude, '°', 1)) + parseDecimal(substring(Longitude, (locate(Longitude, '°',3)+1), 2) ) / 60) , (parseInt(split(Longitude, '°', 1)) + parseDecimal(substring(Longitude, (locate(Longitude, '°',3)+1), 2) ) / 60) * -1 )
The formats of GPS latitude and longitude can vary, so customize your formulas to match your data. For more information, see the following:
-
Degrees Minutes Seconds to Decimal Degrees
on LatLong.net -
Converting Degrees/Minutes/Seconds to Decimals using SQL
on Stack Overflow -
Geographic Coordinate Conversion
on Wikipedia