If you connect directly to a (wired) network then Opera has to guess your location; if you have wi-fi then Opera looks at the list of hotspots your computer can see and asks Google where those would put you, And of course if you have some sort of cellular data card your carrier can tell them exactly where you are.

Last time I used my wired connection (ethernet) to my LAN they had me pinned at the local reservoir, about 4 miles away. On my laptop (wi-fi) they have me within 100 feet.