force_FC = TRUE
no longer adds a rmapshaperid
id column. force_FC
is also better respected across functions and methods; previously it was
somewhat inconsistent (#151).gj2008
, which if TRUE
outputs geojson following the old
(2008) specification. Polygon rings are CW and holes are CCW, which is the
opposite of the default RFC 7946-compatible output. This is required by D3, and
packages that depend on it, like plotly (#167, #168).This is a fairly major release with much of the internal plumbing changed. I have tried to keep user-facing changes to a minimum, but please report any issues to https://github.com/ateucher/rmapshaper/issues.
geojsonsf
package instead of geojsonio
for object conversion (#118).v0.6.25
(#130).geojson_list
objects. This was a rarely-used class from the geojsonio
package (#118).force_FC
, sys
, and sys_mem
are now passed to apply_mapshaper_commands
via ...
rather than explicitly, so they are now documented in the ...
section of each function. This may break some existing code if you were passing values to these arguments by position rather than by name, especially using force_FC
in ms_simplify
as it was not at the end of the argument list. It may also change the class of the return value for some input classes and functions (such as ms_lines
and ms_innerlines
) as force_FC
will inherit the default TRUE
for all functions.quiet
argument to silence mapshaper console messages when using sys = TRUE
. This can be controlled globally with options("mapshaper.sys_quiet" = TRUE)
(#125).options("mapshaper.sys_mem"=X)
, where X
is the amount of memory in GB.units
columns in sf
objects would cause failures; all numeric columns of class "units"
are now converted to numeric before running through mapshaper commands. (#116, thanks @Robinlovelace)force_FC
in apply_mapshaper_commands()
. The default value is TRUE
(#120, thanks @dblodgett-usgs)check_sys_mapshaper()
- fixed description of return value (#117, thanks @dblodgett-usgs).tmpdir()
path and sys = TRUE
(#107)ms_erase
(#110, #104, #112)sys = TRUE
, now uses mapshaper-xl
in the system call, allowing
larger memory use. Default 8GB can be specified in new argument sys_mem
(#94, #112)system2()
over system()
for flexibilitylibv8
installed, as they do not support many
aspects of modern JavaScript (ES6). This appears to only impact ms_erase()
and ms_clip()
.apply_mapshaper_commands()
no longer deletes a file when used on a local file (#99, #100)rgdal
to Suggests
so ms_clip
and ms_erase
can transform
Spatial*
objects when they have different CRSs.sf
object is a tibble, the output is now now also a tibble,
(#95, thanks @mdsumner)mapshaper
v0.4.107sys = TRUE
would fail on Windows in some circumstances (#77)rmapshaper
functions on sfc
objects failed with
sf v0.7
sys
argument to allow the use of the system mapshaper
if it's installed (#61)mapshaper
v0.4.64 (#60)sf::st_read()
is now used throughout for reading from disk and from geojson
strings, which allows for greater consistency and better performance.rmapshaperid
column is only retained if it is the only column, otherwise it's dropped.ms_innerlines
returns only the geometry for sf
and Spatial*DataFrame
classes. (#57)ms_dissolve
gains a weight
argument for generating weighted centroids of dissolved points. (#39)snap_interval
to ms_simplify()
(#43, @nikolai-b)drop_null_geometries
argument in ms_simplify.geo_list()
(#45, @nikolai-b)keep
in ms_simplify()
were converted to scientific notation (#48)weighting
argument to ms_simplify()
(#27)remove_slivers
argument in ms_clip()
and ms_erase()