Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add HERE support #74

Closed
17 tasks done
dieghernan opened this issue Mar 10, 2021 · 0 comments
Closed
17 tasks done

Add HERE support #74

dieghernan opened this issue Mar 10, 2021 · 0 comments

Comments

@dieghernan
Copy link
Contributor

dieghernan commented Mar 10, 2021

Following #62 , I have implemented HERE:

See the checklist below:

Data

  • data-raw/api_reference.R updated
  • Modify R/data.R

Sandbox

  • Added sandbox/query_debugging/here_test.R
  • Added sandbox/reverse_queries/here_reverse.R
  • Sandbox for HERE batch added
  • Sandbox for HERE batch reverse added

Code

  • R/utils.R - Utils added for HERE
  • R/query_factory.R updated
  • R/geo_methods.R updated
  • R/geo.R updated
  • R/reverse_geo.R updated

Batch

  • R/batch_geocoding.R updated
  • R/reverse_batch_geocoding.R updated

Testing

Misc

  • Update README

About HERE batch geocoding service

Some notes on batch geocoding on HERE:

  • The API is asynchronous so the process is Send POST > wait until status is completed (can be checked via GET) > Retrieve via GET. This makes the batch geocoding code a bit longer.
  • When sending POST, the results returns a RequestID. This is used for the subsequent GET processes. The good point is that you can retrieve previous runs using that RequestID and skipping the POST. This has been implemented.
  • Jobs are deleted after 30 days link
  • Batch geocoding results are in a different format than Single results, and the fields on batch results needs to be selected via the POST request. I have selected what I consider the most relevant, but those can be modified by the user via a custom query.
  • There are other bits of the code that are discretional, as seconds between GET status calls, some warnings, etc. Some feedback would be appreciated.
  • HERE Batch Geocoding is really slow. It can be useful for very large requests (limit of 1,000,000 plus the possibility of retrieving previous jobs as mentioned before), but I decided to force the batch mode only if the user requests it. Note that this is not the default behaviour for the rest of batch geocoder (batch by default if n>1 and mode is not single) but from an user perspective it can be frustating to wait 1 minute for geocoding two addresses.

Glad to know your feedback, specially on the batch geocoding implementation.

Regards

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant