riatelab / SpatialPosition

R package for computing spatial position models
https://rgeomatic.hypotheses.org/category/spatialposition
31 stars 4 forks source link

stewart : très léger décalage avec le masque #13

Closed mgageo closed 7 years ago

mgageo commented 7 years ago

D'abord un grand merci pour ce package.

En testant l'exemple présent dans la vignette "Drawing global accessiblity to public hospitals" j'ai un très léger décalage entre le masque et les polygones qui se visualise par du blanc.

Sur mon jeu de données, cela semble plus important image

rCarto commented 7 years ago

Bonjour, Je n'arrive pas à reproduire ce décalage. Pouvez vous fournir la sortir de votre sessionInfo() ?

mgageo commented 7 years ago

Voici

sessionInfo() R version 3.3.2 Patched (2016-11-09 r71647) Platform: x86_64-w64-mingw32/x64 (64-bit) Running under: Windows 10 x64 (build 14393)

locale: [1] LC_COLLATE=French_France.1252 LC_CTYPE=French_France.1252 LC_MONETARY=French_France.1252 LC_NUMERIC=C LC_TIME=French_France.1252

attached base packages: [1] stats graphics grDevices utils datasets methods base

other attached packages: [1] maptools_0.8-40 rgeos_0.3-21 SpatialPosition_1.1.1 rgdal_1.2-4 raster_2.5-8 sp_1.2-3 xlsx_0.5.7 xlsxjars_0.6.1
[9] rJava_0.9-8

loaded via a namespace (and not attached): [1] tools_3.3.2 foreign_0.8-67 Rcpp_0.12.8 grid_3.3.2 lattice_0.20-34

rCarto commented 7 years ago

Tout semble bon de ce côté là. A mon avis il s'agit plutôt d'un bug d'affichage. Ce décalage existe-t-il sans utiliser RStudio ou en exportant directement l'image sans l'afficher (png(...) ou pdf(...)) ?

mgageo commented 7 years ago

Je ne suis pas en RStudio mais en RGui. J'ai fait une sortie en png : png(filename = "steward.png",width = 1024, height = 1024, units = "px", pointsize = 12) et j'ai encore ce léger décalage

steward

rCarto commented 7 years ago

Humm... Pouvez vous m'envoyer votre code avec les données ? Cela devient difficile de vous répondre sans.

mgageo commented 7 years ago

Mon code et les données sont disponibles sous : https://framagit.org/mgageo/stewart/tree/master/STEWART

rCarto commented 7 years ago

Ok, il s'agit bien d'un bug d'affichage entre données raster et vecteur. Je vous suggère de faire quelque chose comme ça pour rester en vectoriel.

(...)
# after globalAccessibility creation ...

# Create a raster (without mask)
rasterAccessibility <- rasterStewart(x = globalAccessibility)

# Create contour polygons 
polyAccessibility <- rasterToContourPoly(r =  rasterAccessibility, 
                                         nclass = 6, mask = spatMask)

# compute breaks
bks <- sort(unique(c(polyAccessibility$min, polyAccessibility$max)))

# Display the map
library(cartography)
opar <- par(mar = c(0,0,1.2,0))
choroLayer(spdf = polyAccessibility,
           var = "center", legend.pos = "topleft",
           breaks = bks, border = "grey90",
           lwd = 0.2,
           legend.title.txt = "Potential number\nof ...",
           legend.values.rnd = 0)
plot(spatMask, add = TRUE)
par(opar)
mgageo commented 7 years ago

Merci pour ce contournement ! Je n'avais pas encore constaté ce genre de décalage entre raster et vecteur, j'utilise très fréquemment une couche vecteur "cadastre" que je superpose à de l'imagerie aérienne.