[R-sig-Geo] dissolve internal borders of polygons using st_union and group_by
Barry Rowlingson
b@row||ng@on @end|ng |rom gm@||@com
Thu Oct 17 17:37:20 CEST 2019
Buffering the data by a teeny tiny number of fractional degrees is
sufficient to make the edges overlap enough to dissolve properly. Hacky
solution, and results in a world that is 0.00001 degrees more coastline all
round (a negative buffer can correct for this a bit).
kk <- aggregate(st_buffer(world_map,.00000001), list(world_map$continent),
head, n=1)
Barry
On Thu, Oct 17, 2019 at 4:22 PM Michael Sumner <mdsumner using gmail.com> wrote:
> rnaturalearth is really dirty data, there's no way forward when things are
> so bad, only backing up can help.
>
> Do you need the whole world? Where do you need, and what scale? Your
> question suggests that finding the right data is the solution rather than
> battling with software.
>
> Cheers, Mike
>
>
>
> On Fri., 18 Oct. 2019, 00:27 Roger Bivand, <Roger.Bivand using nhh.no> wrote:
>
> > On Thu, 17 Oct 2019, Marta Rufino wrote:
> >
> > > Dear Roger,
> > >
> > > Thank you very much for your quick and dedicated response.
> > >
> > > Please state all versions:
> > >> sessionInfo()
> > >> sf_extSoftVersion()
> > >
> > > See bellow. I though it was a trivial issue, thus sorry for not
> reporting
> > > it earlier.
> > >
> > >
> > >> With an updated system, most of your code just does not work for me.
> > >
> > > Just updated everything, r included, and it still runs in my machine -
> > > perhaps because I failed to update to proj6 and I am still using proj4
> -
> > I
> > > will have to dedicate more time to overcome it. Is there sites that
> > explain
> > > win-dummies installation?
> >
> > You don't need to update yet, but modern PROJ will upset many workflows.
> >
> > >
> > >
> > >> You
> > >> are looking for sf::aggregate():
> > >> kk <- aggregate(world_map, list(world_map$continent), head, n=1)
> > >> plot(st_geometry(kk))
> > >>
> > >
> > > This will be then a fourth option:
> > > # Answer from ROGER:
> > > kk4 <- aggregate(world_map, list(world_map$continent), head, n=1)
> > >
> > > object.size(kk4)
> > > kk4 %>%
> > > ggplot()+
> > > geom_sf()
> > >
> > > The sp_transform was simply to check if it was workable the produced
> file
> > > (in other cases, the code functioned, but then I could not work with
> the
> > > files produced) - so ok to remove it or change it.
> > >
> > > You example using rgeos is really nice and I am grateful for it, but I
> > > really wanted to understand how to do it overall so I can apply in
> other
> > > situations I am working with.
> > > I don't understand the difference between all those options, that
> > > apparently are giving the same result, but not so much in fact.
> >
> > My attempts to use st_precision() to try to find a precision level
> > that removed the artefacts ended in segmentation faults, so the current
> > best workaround is as shown to use rgeos, until the correct sf
> incantation
> > is forthcoming.
> >
> > Roger
> >
> > >
> > > Any further ideas on the subject?
> > >
> > > Thank you once again,
> > > Best wishes,
> > > M.
> > >
> > >
> > >> sessionInfo()
> > > R version 3.6.1 (2019-07-05)
> > > Platform: x86_64-w64-mingw32/x64 (64-bit)
> > > Running under: Windows >= 8 x64 (build 9200)
> > >
> > > Matrix products: default
> > >
> > > locale:
> > > [1] LC_COLLATE=English_United Kingdom.1252
> > > [2] LC_CTYPE=English_United Kingdom.1252
> > > [3] LC_MONETARY=English_United Kingdom.1252
> > > [4] LC_NUMERIC=C
> > > [5] LC_TIME=English_United Kingdom.1252
> > >
> > > attached base packages:
> > > [1] stats graphics grDevices utils datasets methods
> > > [7] base
> > >
> > > other attached packages:
> > > [1] rgeos_0.5-2 ggthemes_4.2.0 ggrepel_0.8.1
> > > [4] ggplot2_3.2.1 tidyr_1.0.0 scales_1.0.0
> > > [7] dplyr_0.8.3 reshape2_1.4.3 viridis_0.5.1
> > > [10] viridisLite_0.3.0 units_0.6-5 rnaturalearth_0.1.0
> > > [13] tmap_2.3-1 mapview_2.7.0 plotKML_0.5-9
> > > [16] lubridate_1.7.4 zoo_1.8-6 rasterVis_0.46
> > > [19] latticeExtra_0.6-28 RColorBrewer_1.1-2 lattice_0.20-38
> > > [22] raster_3.0-7 maptools_0.9-8 sf_0.8-0
> > > [25] gstat_2.0-3 rgdal_1.4-6 sp_1.3-1
> > >
> > > loaded via a namespace (and not attached):
> > > [1] colorspace_1.4-1 class_7.3-15 colorRamps_2.3
> > > [4] leaflet_2.0.2 htmlTable_1.13.2 satellite_1.0.1
> > > [7] base64enc_0.1-3 dichromat_2.0-0 rstudioapi_0.10
> > > [10] hexbin_1.27.3 fansi_0.4.0 codetools_0.2-16
> > > [13] splines_3.6.1 knitr_1.25 zeallot_0.1.0
> > > [16] Formula_1.2-3 tmaptools_2.0-2 cluster_2.1.0
> > > [19] png_0.1-7 shiny_1.4.0 compiler_3.6.1
> > > [22] backports_1.1.5 assertthat_0.2.1 Matrix_1.2-17
> > > [25] fastmap_1.0.1 lazyeval_0.2.2 cli_1.1.0
> > > [28] later_1.0.0 acepack_1.4.1 htmltools_0.4.0
> > > [31] tools_3.6.1 gtable_0.3.0 glue_1.3.1
> > > [34] Rcpp_1.0.2 vctrs_0.2.0 leafsync_0.1.0
> > > [37] crosstalk_1.0.0 lwgeom_0.1-7 xfun_0.10
> > > [40] stringr_1.4.0 mime_0.7 lifecycle_0.1.0
> > > [43] XML_3.98-1.20 MASS_7.3-51.4 promises_1.1.0
> > > [46] parallel_3.6.1 yaml_2.2.0 gridExtra_2.3
> > > [49] aqp_1.17 rpart_4.1-15 reshape_0.8.8
> > > [52] stringi_1.4.3 plotrix_3.7-6 e1071_1.7-2
> > > [55] checkmate_1.9.4 intervals_0.15.1 rlang_0.4.0
> > > [58] pkgconfig_2.0.3 pixmap_0.4-11 RSAGA_1.3.0
> > > [61] purrr_0.3.2 htmlwidgets_1.5.1 tidyselect_0.2.5
> > > [64] plyr_1.8.4 magrittr_1.5 R6_2.4.0
> > > [67] Hmisc_4.2-0 DBI_1.0.0 pillar_1.4.2
> > > [70] foreign_0.8-72 withr_2.1.2 shapefiles_0.7
> > > [73] xts_0.11-2 survival_2.44-1.1 nnet_7.3-12
> > > [76] tibble_2.1.3 spacetime_1.2-2 crayon_1.3.4
> > > [79] utf8_1.1.4 KernSmooth_2.23-15 grid_3.6.1
> > > [82] data.table_1.12.4 FNN_1.1.3 dismo_1.1-4
> > > [85] digest_0.6.21 classInt_0.4-1 webshot_0.5.1
> > > [88] xtable_1.8-4 httpuv_1.5.2 stats4_3.6.1
> > > [91] munsell_0.5.0
> > >> sf_extSoftVersion()
> > > GEOS GDAL proj.4 GDAL_with_GEOS
> > > "3.6.1" "2.2.3" "4.9.3" "true"
> > > USE_PROJ_H
> > > "false"
> > >>
> > >
> > >>
> > >>
> > >
> >
> > --
> > Roger Bivand
> > Department of Economics, Norwegian School of Economics,
> > Helleveien 30, N-5045 Bergen, Norway.
> > voice: +47 55 95 93 55; e-mail: Roger.Bivand using nhh.no
> > https://orcid.org/0000-0003-2392-6140
> > https://scholar.google.no/citations?user=AWeghB0AAAAJ&hl=en
> >
> > _______________________________________________
> > R-sig-Geo mailing list
> > R-sig-Geo using r-project.org
> > https://stat.ethz.ch/mailman/listinfo/r-sig-geo
> >
>
> [[alternative HTML version deleted]]
>
> _______________________________________________
> R-sig-Geo mailing list
> R-sig-Geo using r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
>
[[alternative HTML version deleted]]
More information about the R-sig-Geo
mailing list