π Check out my slides on 'Learning resources and teaching methods' for Spatial Data Science π
#SDSL2024 in Prague π¨πΏ
#SpatialDataScience #GeoEducation #OpenScience #rspatial #geopython #juliageo
π Check out my slides on 'Learning resources and teaching methods' for Spatial Data Science π
#SDSL2024 in Prague π¨πΏ
#SpatialDataScience #GeoEducation #OpenScience #rspatial #geopython #juliageo
2/ Before we go full #geoweirdness , a bit of #geoeducation
Time zone information is tracked by the "tz" database, a fascinating, open-source project worth learning about!
https://en.wikipedia.org/wiki/Tz_database
Most countries have simple time zones, generally based on the sun's position relative to the region's positions on the Earth's surface. However, time zones also involves political and historical factors, and thus they don't always correspond to the longitudinal lines on the globe.
1/ Time for this week's geo thread.
We have some fun #geoweirdness planned for the coming weeks, but this week we're back to #geoeducation
Today's topic is something we often see people get confused about: browser geolocation.
What is it, and how is it different than geocoding?
9/ Wrapping up - browser location is an interesting tool that can be used to improve the user's web application experience.
But ... it requires user permission, and even if that permission is granted it can be inaccurate or misleading.
π©βπ Want to learn more? Here's the official W3C geolocation spec: https://w3c.github.io/geolocation-api/
7/ We have a guide to this whole process of browser geolocation to geocoding with example javascript (where the code screenshots above came from)
https://opencagedata.com/guides/how-to-determine-user-location-via-browser-geolocation
8/ Want to see browser geolocation in action?
Give it a go on this OpenLayers tutorial:
https://openlayers.org/en/latest/examples/geolocation.html
But make sure you haven't disabled geolocation in your browser settings. Some browsers helpfully show this in the nav bar.
Please note also that if browser location relies on IP geolocation it can be misled by VPNs.
10/ Thanks for reading (and sharing) this week's #geoeducation ππ§βπthread.
If you found this interesting you may also like our thread about the details of IP geolocation:
https://en.osm.town/@opencage/110684680611521959
or our thread about the privacy implications of geocoding:
https://en.osm.town/@opencage/112263444689238767
We have links to many more geothreads about geospatial technologies, #geoweirdness of individual countries, geocoding, border disputes, etc listed on our blog:
https://blog.opencagedata.com/geothreads
5/ Assuming the user gives permission π, the browser then receives a longitude and latitude, and potentially other info like altitude.
Important: depending on the tech used these coords may be more or less accurate ππ The accuracy value is a number in meters that the actual position may vary from the reported position.
https://developer.mozilla.org/en-US/docs/Web/API/GeolocationCoordinates
Note: browsers also allow users to turn off location prompting.
4/ How exactly the browser determines the location varies.
It may be from GPS π°οΈ or cell towers πΌ(on mobile) or wifi πΆ or IP-to-location. each of these methods have pros and cons.
Developers can ask the browser for a more or less accurate location.
Here's what that looks like in basic javascript:
3/ π¨ Achtung! π¨ - location is private information π΅οΈ, the user has to actively give permission for the browser to receive this info.
https://developer.mozilla.org/en-US/docs/Web/API/Geolocation
6/ ok, so now we have geographic coordinates!
We use them as inputs into reverse geocoding, which is turning coordinates into location human-readable location info.
You may recall our #geoeducation thread about the nuances of reverse geocoding https://en.osm.town/@opencage/111743653275940467
1/ Let's head into the weekend with a #geoeducation thread about a little known, but much loved π₯°, feature of our geocoding API: annotations.
Annotations are information about the location that we add to the geocoding API results
Final bonus toot - what to do if you want the benefits of tracking where youβve been without the privacy risk? π΅οΈπΊοΈ
Please check out our friends at @owntracks https://owntracks.org an open source, privacy-focused journey tracking and sharing software
11/ Thanks for reading and sharing
Please get in touch if you have any questions (or suggestions) about our approach to privacy or security (or anything else).
We have more threads about #geoeducation, the #geoweirdness of specific countries, border disputes, geocoding, etc linked on our blog: https://blog.opencagedata.com/geothreads
Stay safe and private! π΅οΈ
10/ Digital privacy is a continually evolving issue. New technology makes so much possible, but also exposes us to new risks. It's a topic that is never "done".
We welcome (and pay for) suggestions as to how we can improve security. Here's our bug bounty program, at the bottom you can find a list of bug reports we've paid for:
https://opencagedata.com/security-bounty
Here's a report we wrote about our experiences running a bug bounty program as a smaller company:
https://blog.opencagedata.com/post/running-a-security-bounty-program-as-a-bootstrapped-business-lessons-learned
9/ Finally, we do our best to educate users of the API about privacy implications of location data.
For example here is a guide to NOT showing precisely geocoded locations
https://opencagedata.com/guides/how-to-preserve-privacy-by-showing-only-an-imprecise-location
8/ Next, if you use the optional "no_record" parameter in your API call, we will keep ... absolutely no record of what your query was. None. Nada. Zilch.
7/ So now let's get into the geocoding API itself.
First up, please send us only location information, never details of who is at that location. Besides privacy concerns it just makes geocoding much harder.
Please see: https://opencagedata.com/guides/how-to-format-your-geocoding-query
5/ When you sign up for a free trial of our service all you need is a working email.
Inactive free trial accounts get deleted after 6 months. Of course, you can also delete your account sooner anytime you like.
And don't worry π, signing up doesn't put you on our marketing list. We have no marketing list βοΈπ«
3/ But let's get into what we actually do about privacy.
It starts with our website, where we don't use Google Analytics or any other trackers.
Instead, we use privacy-focused Fathom Analytics so we can anonymously see what is happening on the site without tracking anyone. Our Fathom account is configured so that all data stays in the EU πͺπΊ.
EDIT: here's a Fathom referral code if you want a discount: https://usefathom.com/ref/Q1OOEC