helium / blockchain-etl

Blockchain follower that follows and stores the Helium blockchain
Apache License 2.0
64 stars 37 forks source link

Geocoding seems to fail to get a country code for Northern Cyprus #235

Closed abhay closed 3 years ago

abhay commented 3 years ago

More details in https://github.com/helium/miner/issues/1031.

https://api.helium.io/v1/hotspots/112CA7UxpkFPUM5QEbeAT5MqrH6Z7AEqDjKptV3H2LzBv29SCofF

abhay commented 3 years ago

Reverse geocoder response has the data but the problem is described in this line:

https://github.com/helium/blockchain-etl/blob/master/src/be_db_geocoder.erl#L259

The first result does not include a country code. This would be a good issue to tackle if someone in the community wants to make a quick fix.

licentia88 commented 3 years ago

this is my hotspot at norther Cyprus, https://explorer.helium.com/hotspots/112GBRdLxrGowtqKyxz9o9DffyQx21YXSxALf6dJrQ6ct8fdbkkN I would appreciate if bobcat devs could manually assert location to my device.

ccavusoglu0 commented 3 years ago

Is there anyone working on this so far? In Cyprus geocoder api calls may return more than one set and in northern areas of Cyprus somehow don't return country in first result set. It turns it in second result set and this may change.

Geocoder result: (https://maps.googleapis.com/maps/api/geocode/json?latlng=35.179663,33.364570&key=AIzaSyAh7eR1XpSX0euwVXZAPPuEgnP4vSOVeMw)

Since code consider only first geocoder api result, it returns null for country id and as a result miner cannot take region to set frequency EU868. So basically it cannot broadcast locally in the end. Helium API result: (https://api.helium.io/v1/hotspots/112CA7UxpkFPUM5QEbeAT5MqrH6Z7AEqDjKptV3H2LzBv29SCofF)

I dont know erlang but as I see we can probably read all result sets and if country code is null skip to next result set in there and if it has country code not null consider that result. or consider first result for all parameters but check for the country in the rest of result sets. There are many affected miners in Cyprus.

caferelgin commented 3 years ago

Is this commit deployed? Do we need to reassert location?

madninja commented 3 years ago

Is this commit deployed? Do we need to reassert location?

It will be deployed today, and no you will not need to reassert location just restart your hotspot(s)

eva98-sudo commented 2 years ago

My hotspot has OTA version 1.0.2.36 and the "region: undefined". I applied resync and then reset. No change on the region field. Have I any chance to mine with this hotspot?

ccavusoglu0 commented 2 years ago

My hotspot has OTA version 1.0.2.36 and the "region: undefined". I applied resync and then reset. No change on the region field. Have I any chance to mine with this hotspot?

Which city the device is located? North Nicosia is solved with @madninja fix. Areas that currently do not work is because google reverse geocoder dont return country parameter in those areas at all. We are expecting rest to be solved with PocV11 deployment. You can check this issue by replacing coordinates in following link with your miner coordinates. If returned adress don't have CY in adress components, it the reason.

https://maps.googleapis.com/maps/api/geocode/json?latlng=35.179663,33.364570&key=AIzaSyAh7eR1XpSX0euwVXZAPPuEgnP4vSOVeMw .

eva98-sudo commented 2 years ago

My location is Arezzo, Italy...relatively away from Cyprus. Have you a rough forecast for the PocV11 deployment? Thank you