There are ways, not easy though. If you want to narrow it down to a city, you can always just use NeoTrace, probably the easiest way to trace an IP to a physical location.