Open ihsanhaikalz opened 6 years ago
Hey, this code assumes you have measurement data from RIPE Atlas (as in data/4514096.json) in this example. It will then perform the constraint-based geolocation and then return a city if geolocation using given measurements was successful.
If I don't have the measurement data from RIPE Atlas how am I able to do that? As far as I know RIPE Atlas is "not free" to do the ping measurement and I was thinking to do it focusing only in Germany. Do you know any free alternative for me to get the measurement? Also I am having the same problem how to run your code as I think you only gave partial example code for it, could you show me the example code of running your code?
So somehow I was able to get it running, but when I run the gelocateIPUsingSimpleCBG.py with 3 json files put in the data folder, two got no result while another one somehow suggested that I am in Malaysia, which is wrong as I am in Germany.
The result is like below
[python geolocateIPUsingSimpleCBG.py data/3680163.json
{'': {'': {'hougang mall': {'lat': 1.37249, 'lon': 103.893}}},
'id': {'': {'kabil': {'lat': 1.05, 'lon': 104.13},
'karimun besar offshore': {'lat': 1.07, 'lon': 103.52}},
'37': {'pancur biru lestari ii': {'lat': 1.03072, 'lon': 104.055},
'wooden house': {'lat': 1.13284, 'lon': 103.959}},
'kr': {'durian': {'lat': 1.02, 'lon': 103.57}},
'ri': {'batam': {'lat': 1.12103, 'lon': 104.119},
'nipah': {'lat': 1.12, 'lon': 103.55},
'sekupang': {'lat': 1.13, 'lon': 103.93}}},
'my': {'': {'tebrau': {'lat': 1.5, 'lon': 103.83}},
'01': {'johor bahru': {'lat': 1.4655, 'lon': 103.758},
'kampong tanjong kupang': {'lat': 1.35, 'lon': 103.58},
'kampung pasir gudang baru': {'lat': 1.4726, 'lon': 103.878},
'kampung tanjung langsat': {'lat': 1.47, 'lon': 104.02},
'kelapa sawit': {'lat': 1.6698, 'lon': 103.533},
'kota tinggi': {'lat': 1.7381, 'lon': 103.9},
'kulai': {'lat': 1.6561, 'lon': 103.603},
'nusajaya': {'lat': 1.47, 'lon': 103.63},
'pekan nenas': {'lat': 1.51, 'lon': 103.514},
'pengerang': {'lat': 1.37, 'lon': 104.12},
'skudai': {'lat': 1.53741, 'lon': 103.658},
'taman molek': {'lat': 1.55, 'lon': 103.8},
'taman senai': {'lat': 1.6006, 'lon': 103.642},
'tampoi': {'lat': 1.48, 'lon': 103.69},
'tanjong bin': {'lat': 1.33, 'lon': 103.55},
'tanjung pelepas': {'lat': 1.37, 'lon': 103.55},
'ulu tiram': {'lat': 1.6, 'lon': 103.817}}},
'sg': {'': {'blk 658d': {'lat': 1.33723, 'lon': 103.7},
'blk658d': {'lat': 1.33731, 'lon': 103.701},
'choa chu kang': {'lat': 1.28, 'lon': 103.85},
'clementi': {'lat': 1.28, 'lon': 103.85},
'funan digitalife mall': {'lat': 1.29143, 'lon': 103.85},
'jurong/singapore': {'lat': 1.33, 'lon': 103.7},
'ministry of information, communications and the arts': {'lat': 1.29063,
'lon': 103.848},
'pasir panjang wharves': {'lat': 1.27, 'lon': 103.78},
'pasir ris new town': {'lat': 1.37, 'lon': 103.93},
'pulau ayer chawan': {'lat': 1.27, 'lon': 103.7},
'tampines': {'lat': 1.33, 'lon': 103.93},
'the central': {'lat': 1.28928, 'lon': 103.847},
'toa payoh': {'lat': 1.33, 'lon': 103.85},
'tuas': {'lat': 1.32, 'lon': 103.65},
'west coast town': {'lat': 1.28, 'lon': 103.85}},
'00': {'singapore': {'lat': 1.28967, 'lon': 103.85}},
'01': {'bukit merah estate': {'lat': 1.28, 'lon': 103.82}},
'02': {'seletar': {'lat': 1.41695, 'lon': 103.868}},
'04': {'changi': {'lat': 1.34013, 'lon': 103.996},
'paya lebar': {'lat': 1.35695, 'lon': 103.9}},
'05': {'pioneer': {'lat': 1.32, 'lon': 103.68},
'tengah': {'lat': 1.38726, 'lon': 103.709}}}}](url)
How do I make it to be able to locate me "accurately"? Do I need the data from RIPE dataset, which is not free as far as I know?
Hey. So this code only works for real traceroute from RIPE Atlas. Did you pass-in recent traceroute data to it? Also, in some cases, it's possible that the code cannot confidently predict location in which case it will not return you results.
Hi. I stummbled upon your library after Googling CBG implementation library and I want to try to use it. Unfortunately I'm not proficient with python so I have difficulties of using and understanding it.
You gave an example code like this
but I don't know what is the next step to actually geolocate the IP. Could you give a complete example of how to use it? Also is there any restriction for using it? Will it work if I give my IP address but my current location is in Germany?
Thanks