diff --git a/codemeta.json b/codemeta.json
index 2a7d8c7f..73597fac 100644
--- a/codemeta.json
+++ b/codemeta.json
@@ -8,13 +8,13 @@
"codeRepository": "https://github.com/dieghernan/nominatimlite",
"issueTracker": "https://github.com/dieghernan/nominatimlite/issues",
"license": "https://spdx.org/licenses/MIT",
- "version": "0.4.0",
+ "version": "0.4.0.9000",
"programmingLanguage": {
"@type": "ComputerLanguage",
"name": "R",
"url": "https://r-project.org"
},
- "runtimePlatform": "R version 4.4.0 (2024-04-24 ucrt)",
+ "runtimePlatform": "R version 4.4.1 (2024-06-14)",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
@@ -220,7 +220,7 @@
},
"applicationCategory": "cartography",
"keywords": ["r", "geocoding", "openstreetmap", "address", "nominatim", "reverse-geocoding", "rstats", "shapefile", "r-package", "spatial", "cran", "api-wrapper", "api", "gis"],
- "fileSize": "250.978KB",
+ "fileSize": "245.448KB",
"citation": [
{
"@type": "SoftwareSourceCode",
diff --git a/data/osm_amenities.rda b/data/osm_amenities.rda
index eaecd91d..eab45025 100644
Binary files a/data/osm_amenities.rda and b/data/osm_amenities.rda differ
diff --git a/inst/schemaorg.json b/inst/schemaorg.json
index 43d25a59..9f007b8d 100644
--- a/inst/schemaorg.json
+++ b/inst/schemaorg.json
@@ -47,8 +47,8 @@
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
- "runtimePlatform": "R version 4.4.0 (2024-04-24 ucrt)",
- "version": "0.4.0"
+ "runtimePlatform": "R version 4.4.1 (2024-06-14)",
+ "version": "0.4.0.9000"
},
{
"id": "https://doi.org/10.32614/CRAN.package.nominatimlite",
diff --git a/man/figures/README-line-object-1.png b/man/figures/README-line-object-1.png
index eb1860db..a6f7078e 100644
Binary files a/man/figures/README-line-object-1.png and b/man/figures/README-line-object-1.png differ
diff --git a/man/figures/README-pizzahut-1.png b/man/figures/README-pizzahut-1.png
index 1e87258f..e3e0b6ba 100644
Binary files a/man/figures/README-pizzahut-1.png and b/man/figures/README-pizzahut-1.png differ
diff --git a/man/figures/README-statue_liberty-1.png b/man/figures/README-statue_liberty-1.png
index 6dc7fe45..be12c007 100644
Binary files a/man/figures/README-statue_liberty-1.png and b/man/figures/README-statue_liberty-1.png differ
diff --git a/tests/testthat/test-geo_address_lookup.R b/tests/testthat/test-geo_address_lookup.R
index 4f02d342..da2c887a 100644
--- a/tests/testthat/test-geo_address_lookup.R
+++ b/tests/testthat/test-geo_address_lookup.R
@@ -142,3 +142,33 @@ test_that("Fail", {
expect_true(all(is.na(several[, 2:3])))
})
+
+
+test_that("Integers #47", {
+ skip_on_cran()
+ skip_if_api_server()
+ skip_if_offline()
+
+
+ vector_ids <- "9743343761"
+
+ several <- geo_address_lookup(vector_ids)
+
+ # IDs should have the right string
+ comp <- unique(gsub("[^0-9]", "", several$query))
+
+ expect_identical(vector_ids, comp)
+
+
+ # With decimals
+ vector_ids2 <- 9743343761.34
+ several <- geo_address_lookup(vector_ids2)
+
+ expect_identical(vector_ids, comp)
+
+ # With negatives
+ vector_ids3 <- -1 * vector_ids2
+ several <- geo_address_lookup(vector_ids3)
+
+ expect_identical(vector_ids, comp)
+})
diff --git a/tests/testthat/test-geo_address_lookup_sf.R b/tests/testthat/test-geo_address_lookup_sf.R
index d952a341..c7b5d372 100644
--- a/tests/testthat/test-geo_address_lookup_sf.R
+++ b/tests/testthat/test-geo_address_lookup_sf.R
@@ -127,3 +127,33 @@ test_that("Fail", {
expect_true(all(sf::st_is_empty(several)))
})
+
+
+test_that("Integers #47", {
+ skip_on_cran()
+ skip_if_api_server()
+ skip_if_offline()
+
+
+ vector_ids <- "9743343761"
+
+ several <- geo_address_lookup_sf(vector_ids)
+
+ # IDs should have the right string
+ comp <- unique(gsub("[^0-9]", "", several$query))
+
+ expect_identical(vector_ids, comp)
+
+
+ # With decimals
+ vector_ids2 <- 9743343761.34
+ several <- geo_address_lookup_sf(vector_ids2)
+
+ expect_identical(vector_ids, comp)
+
+ # With negatives
+ vector_ids3 <- -1 * vector_ids2
+ several <- geo_address_lookup_sf(vector_ids3)
+
+ expect_identical(vector_ids, comp)
+})
diff --git a/vignettes/nominatimlite.Rmd b/vignettes/nominatimlite.Rmd
index f02e69df..f5574807 100644
--- a/vignettes/nominatimlite.Rmd
+++ b/vignettes/nominatimlite.Rmd
@@ -1,164 +1,164 @@
----
-title: "Get started with nominatimlite"
-output: rmarkdown::html_vignette
-desc: >
- Quick examples showing what **nominatimlite** can do for you.
-vignette: >
- %\VignetteIndexEntry{Get started with nominatimlite}
- %\VignetteEngine{knitr::rmarkdown}
- %\VignetteEncoding{UTF-8}
-bibliography: references.bib
-link-citations: true
----
-
-
-
-
-
-The goal of **nominatimlite** is to provide a light interface for geocoding
-addresses, based on the [Nominatim
-API](https://nominatim.org/release-docs/latest/). It also allows to load spatial
-objects using the **sf** package.
-
-Full site with examples and vignettes on
-
-
-## What is Nominatim?
-
-**Nominatim** is a tool to search
-[OpenStreetMap](https://www.openstreetmap.org/) data by name and address
-([geocoding](https://wiki.openstreetmap.org/wiki/Geocoding "Geocoding")) and to
-generate synthetic addresses of OSM points (reverse geocoding).
-
-## Why **nominatimlite**?
-
-The main goal of **nominatimlite** is to access the Nominatim API avoiding the
-dependency on **curl**. In some situations, **curl** may not be available or
-accessible, so **nominatimlite** uses base functions to overcome this
-limitation.
-
-## Recommended packages
-
-There are other packages much more complete and mature than **nominatimlite**,
-that presents similar features:
-
-- [**tidygeocoder**](https://jessecambon.github.io/tidygeocoder/)
- [@R-tidygeocoder]: Allows to interface with Nominatim, Google, TomTom,
- Mapbox, etc. for geocoding and reverse geocoding.
-- [**osmdata**](https://docs.ropensci.org/osmdata/) [@R-osmdata]: Great for
- downloading spatial data from OpenStreetMap, via the [Overpass
- API](https://wiki.openstreetmap.org/wiki/Overpass_API).
-- [**arcgeocoder**](https://dieghernan.github.io/arcgeocoder/)
- [@R-arcgeocoder]: Lite interface for geocoding with the ArcGIS REST API
- Service.
-
-## Usage
-
-### `sf` objects
-
-With **nominatimlite** you can extract spatial objects easily:
-
-
-``` r
-library(nominatimlite)
-
-# Extract some points - Pizza Hut in California
-
-CA <- geo_lite_sf("California", points_only = FALSE)
-
-pizzahut <- geo_lite_sf("Pizza Hut, California",
- limit = 50,
- custom_query = list(countrycodes = "us")
-)
-
-library(ggplot2)
-
-ggplot(CA) +
- geom_sf() +
- geom_sf(data = pizzahut, col = "red")
-```
-
-![Pizza Hut in California](../man/figures/README-pizzahut-1.png){width="100%"}
-
-You can also extract polygon and line objects (if available) using the option
-`points_only = FALSE`:
-
-
-``` r
-sol_poly <- geo_lite_sf("Statue of Liberty, NY, USA", points_only = FALSE)
-
-ggplot(sol_poly) +
- geom_sf()
-```
-
-![The Statue of
-Liberty](../man/figures/README-statue_liberty-1.png){width="100%"}
-
-### Geocoding and reverse geocoding
-
-*Note: examples adapted from **tidygeocoder** package*
-
-In this first example we will geocode a few addresses using the `geo_lite()`
-function:
-
-
-``` r
-library(tibble)
-
-# create a dataframe with addresses
-some_addresses <- tribble(
- ~name, ~addr,
- "White House", "1600 Pennsylvania Ave NW, Washington, DC",
- "Transamerica Pyramid", "600 Montgomery St, San Francisco, CA 94111",
- "Willis Tower", "233 S Wacker Dr, Chicago, IL 60606"
-)
-
-# geocode the addresses
-lat_longs <- geo_lite(some_addresses$addr, lat = "latitude", long = "longitude")
-#>
|
| | 0%
|
|================= | 33%
|
|================================= | 67%
|
|==================================================| 100%
-```
-
-Only latitude and longitude are returned from the geocoder service in this
-example, but `full_results = TRUE` can be used to return all of the data from
-the geocoder service.
-
-
-
-|query | latitude| longitude|address |
-|:------------------------------------------|--------:|----------:|:-----------------------------------------------------------------------------------------------------------------|
-|1600 Pennsylvania Ave NW, Washington, DC | 38.89770| -77.03655|White House, 1600, Pennsylvania Avenue Northwest, Ward 2, Washington, District of Columbia, 20500, United States |
-|600 Montgomery St, San Francisco, CA 94111 | 37.79520| -122.40279|Transamerica Pyramid, 600, Montgomery Street, Financial District, San Francisco, California, 94111, United States |
-|233 S Wacker Dr, Chicago, IL 60606 | 41.87874| -87.63596|Willis Tower, 233, South Wacker Drive, Printer's Row, Loop, Chicago, Cook County, Illinois, 60606, United States |
-
-
-
-To perform reverse geocoding (obtaining addresses from geographic coordinates),
-we can use the `reverse_geo_lite()` function. The arguments are similar to the
-`geo_lite()` function, but now we specify the input data columns with the `lat`
-and `long` arguments. The dataset used here is from the geocoder query above.
-The single line address is returned in a column named by the `address`.
-
-
-``` r
-reverse <- reverse_geo_lite(
- lat = lat_longs$latitude, long = lat_longs$longitude,
- address = "address_found"
-)
-#>
|
| | 0%
|
|================= | 33%
|
|================================= | 67%
|
|==================================================| 100%
-```
-
-
-
-|address_found | lat| lon|
-|:-----------------------------------------------------------------------------------------------------------------------------------|--------:|----------:|
-|Zastava Sjedinjenih Američkih Država, Pennsylvania Avenue Northwest, Ward 2, Washington, District of Columbia, 20006, United States | 38.89772| -77.03655|
-|Transamerica Pyramid, 600, Montgomery Street, Financial District, San Francisco, California, 94111, United States | 37.79520| -122.40279|
-|Willis Tower, 233, South Wacker Drive, Printer's Row, Loop, Chicago, Cook County, Illinois, 60606, United States | 41.87874| -87.63596|
-
-
-
-For more advance users, see [Nominatim
-docs](https://nominatim.org/release-docs/latest/api/Search/) to check the
-parameters available.
-
-## References
+---
+title: "Get started with nominatimlite"
+output: rmarkdown::html_vignette
+desc: >
+ Quick examples showing what **nominatimlite** can do for you.
+vignette: >
+ %\VignetteIndexEntry{Get started with nominatimlite}
+ %\VignetteEngine{knitr::rmarkdown}
+ %\VignetteEncoding{UTF-8}
+bibliography: references.bib
+link-citations: true
+---
+
+
+
+
+
+The goal of **nominatimlite** is to provide a light interface for geocoding
+addresses, based on the [Nominatim
+API](https://nominatim.org/release-docs/latest/). It also allows to load spatial
+objects using the **sf** package.
+
+Full site with examples and vignettes on
+
+
+## What is Nominatim?
+
+**Nominatim** is a tool to search
+[OpenStreetMap](https://www.openstreetmap.org/) data by name and address
+([geocoding](https://wiki.openstreetmap.org/wiki/Geocoding "Geocoding")) and to
+generate synthetic addresses of OSM points (reverse geocoding).
+
+## Why **nominatimlite**?
+
+The main goal of **nominatimlite** is to access the Nominatim API avoiding the
+dependency on **curl**. In some situations, **curl** may not be available or
+accessible, so **nominatimlite** uses base functions to overcome this
+limitation.
+
+## Recommended packages
+
+There are other packages much more complete and mature than **nominatimlite**,
+that presents similar features:
+
+- [**tidygeocoder**](https://jessecambon.github.io/tidygeocoder/)
+ [@R-tidygeocoder]: Allows to interface with Nominatim, Google, TomTom,
+ Mapbox, etc. for geocoding and reverse geocoding.
+- [**osmdata**](https://docs.ropensci.org/osmdata/) [@R-osmdata]: Great for
+ downloading spatial data from OpenStreetMap, via the [Overpass
+ API](https://wiki.openstreetmap.org/wiki/Overpass_API).
+- [**arcgeocoder**](https://dieghernan.github.io/arcgeocoder/)
+ [@R-arcgeocoder]: Lite interface for geocoding with the ArcGIS REST API
+ Service.
+
+## Usage
+
+### `sf` objects
+
+With **nominatimlite** you can extract spatial objects easily:
+
+
+``` r
+library(nominatimlite)
+
+# Extract some points - Pizza Hut in California
+
+CA <- geo_lite_sf("California", points_only = FALSE)
+
+pizzahut <- geo_lite_sf("Pizza Hut, California",
+ limit = 50,
+ custom_query = list(countrycodes = "us")
+)
+
+library(ggplot2)
+
+ggplot(CA) +
+ geom_sf() +
+ geom_sf(data = pizzahut, col = "red")
+```
+
+![Pizza Hut in California](../man/figures/README-pizzahut-1.png){width="100%"}
+
+You can also extract polygon and line objects (if available) using the option
+`points_only = FALSE`:
+
+
+``` r
+sol_poly <- geo_lite_sf("Statue of Liberty, NY, USA", points_only = FALSE)
+
+ggplot(sol_poly) +
+ geom_sf()
+```
+
+![The Statue of
+Liberty](../man/figures/README-statue_liberty-1.png){width="100%"}
+
+### Geocoding and reverse geocoding
+
+*Note: examples adapted from **tidygeocoder** package*
+
+In this first example we will geocode a few addresses using the `geo_lite()`
+function:
+
+
+``` r
+library(tibble)
+
+# create a dataframe with addresses
+some_addresses <- tribble(
+ ~name, ~addr,
+ "White House", "1600 Pennsylvania Ave NW, Washington, DC",
+ "Transamerica Pyramid", "600 Montgomery St, San Francisco, CA 94111",
+ "Willis Tower", "233 S Wacker Dr, Chicago, IL 60606"
+)
+
+# geocode the addresses
+lat_longs <- geo_lite(some_addresses$addr, lat = "latitude", long = "longitude")
+#>
|
| | 0%
|
|================= | 33%
|
|================================= | 67%
|
|==================================================| 100%
+```
+
+Only latitude and longitude are returned from the geocoder service in this
+example, but `full_results = TRUE` can be used to return all of the data from
+the geocoder service.
+
+
+
+|query | latitude| longitude|address |
+|:------------------------------------------|--------:|----------:|:-----------------------------------------------------------------------------------------------------------------|
+|1600 Pennsylvania Ave NW, Washington, DC | 38.89770| -77.03655|White House, 1600, Pennsylvania Avenue Northwest, Ward 2, Washington, District of Columbia, 20500, United States |
+|600 Montgomery St, San Francisco, CA 94111 | 37.79520| -122.40279|Transamerica Pyramid, 600, Montgomery Street, Financial District, San Francisco, California, 94111, United States |
+|233 S Wacker Dr, Chicago, IL 60606 | 41.87874| -87.63596|Willis Tower, 233, South Wacker Drive, Printer's Row, Loop, Chicago, Cook County, Illinois, 60606, United States |
+
+
+
+To perform reverse geocoding (obtaining addresses from geographic coordinates),
+we can use the `reverse_geo_lite()` function. The arguments are similar to the
+`geo_lite()` function, but now we specify the input data columns with the `lat`
+and `long` arguments. The dataset used here is from the geocoder query above.
+The single line address is returned in a column named by the `address`.
+
+
+``` r
+reverse <- reverse_geo_lite(
+ lat = lat_longs$latitude, long = lat_longs$longitude,
+ address = "address_found"
+)
+#>
|
| | 0%
|
|================= | 33%
|
|================================= | 67%
|
|==================================================| 100%
+```
+
+
+
+|address_found | lat| lon|
+|:-----------------------------------------------------------------------------------------------------------------------------------|--------:|----------:|
+|Zastava Sjedinjenih Američkih Država, Pennsylvania Avenue Northwest, Ward 2, Washington, District of Columbia, 20006, United States | 38.89772| -77.03655|
+|Transamerica Pyramid, 600, Montgomery Street, Financial District, San Francisco, California, 94111, United States | 37.79520| -122.40279|
+|Willis Tower, 233, South Wacker Drive, Printer's Row, Loop, Chicago, Cook County, Illinois, 60606, United States | 41.87874| -87.63596|
+
+
+
+For more advance users, see [Nominatim
+docs](https://nominatim.org/release-docs/latest/api/Search/) to check the
+parameters available.
+
+## References