dirkhh
Joined: 02/07/2015 19:44:19
Messages: 1
Offline
|
I'm the maintainer of an open source project that is just starting to use geonames.org to do reverse geo lookup. The software in question is called Subsurface and is a dive log program, so the GPS fixes that people will want reverse coding for are most likely to be bodies of water.
This seems to work well for many areas, but for some it fails. When I try to figure out why I realize that I don't understand how bodies of water are supposed to be encoded.
Let's use Hood Canal for example. There is a geo tag http://www.geonames.org/5797632/hood-canal.html with coordinates N 47°33′51″ W 122°59′49″, but it doesn't appear to have dimensions... so how does the algorithm determine if a point is part of this body of water?
A common dive spot for example is Sund Rock at 47°26'16.6"N 123°07'12.4"W. Doing a reverse lookup at it via http://api.geonames.org/ocean?lat=47.437937&lng=-123.120104&radius=50&username=... returns "Unk"
But a look at the map would make you think that this should clearly be part of Hood Canal
(OK, that's a silly way to create a map but it's the easiest I could think of that shows both spots...) https://goo.gl/maps/9HJ3J
So I guess my question is two fold:
a) how does GeoNames figure out if a point is part of a body of water
b) how can I fix things so that Sund Rock (and other spots in Hood Canal) are correctly reverse-geocoded as Hood Canal?
Of course once I figure this out I will encourage my users to keep improving the data... we have thousands of divers who use Subsurface so there is a good likelihood that they will find more spots that aren't correctly classified.
Thanks
|