double should be fine for latitudes/longitudes. BigDecimal becomes more important once you start manipulating currency or need to have more control over precision.
If you're concerned about precision, you should probably go with BigDecimalfor lots of reasons covered in this post. That said, double or floatshould be just fine to store what you need in terms of being able to satisfy the range of values that you need.
At just six decimal places of precision I don't think double or float will trip you up, but if you start aggregating the values in any way, the minor imprecisions can start to add up.
A double has enough precision for storing that. However, when displaying to users, use a format string like %.6f so that you don't print garbage digits out.
Using double has enough precision for accurate lat/lon down to inches for 6-7 decimal places. In aviation, if decimal degrees are used, they typically go to at least 7 decimal places. In our NASA simulations, lat/lon data are doubles while all other attitude and altitude are floats. In other words, the 6th decimal place for altitude isn't significant while the 6th decimal place for lat/lon is for sub-foot accuracy. You should not use float for lat/lon if you need precision down to sub-feet.
You can play around in Google Earth to see what accuracy you get by placing markers and manipulating the last decimal digit.