Seite 1 von 2

Shape Datei als image Plot

Verfasst: Mi Jul 05, 2017 5:37 pm
von knuffikatze
Hallo,

ich habe eine Shape Datei (.shp), die ich mit dem merge() Befehl Daten über eine id angefügt habe. Jetzt möchte ich diese graphisch darstellen. Es gelingt mir jedoch nur, die Grenzen dieser Datei darzustellen. Die unterschiedlichen Felder färben sich jedoch nicht den Werten entsprechend ein. WIe funkioniert sowas?

Vielen Dank schonmal.

Gruß
Eva

Code: Alles auswählen

germany <- readOGR( "x.shp", layer = "x")
germany <- gSimplify(germany, tol=0.001, topologyPreserve=TRUE)

Data <- as.data.table(read.table(y.csv',  sep=';', header=TRUE,, dec=",",
                                           stringsAsFactors=FALSE))

m <- merge(germany, Data, by='ID')

plot(m , border="blue", axes=TRUE, lwd=0.3)

Re: Shape Datei als image Plot

Verfasst: Mi Jul 05, 2017 5:47 pm
von EDi
Ich mache hier mal Werbung für das relative neue sf package,
das viele operationen vereinfacht und der Nachfolger von sp wird. Ziemlcih gut das package, alle die GIS in R machen sollten ein Auge drauf werfen.

Hier ein Beispiel mit der shape die mitgeliefert wird:

Code: Alles auswählen

library(sf)
library(ggplot2)
# read shapefile
nc = st_read(system.file("shape/nc.shp", package="sf"))
# have a look at the data
print(nc[1:5, ])

# plot filled by area
ggplot(nc) +
  geom_sf(aes(fill = AREA))

Re: Shape Datei als image Plot

Verfasst: Mi Jul 05, 2017 5:56 pm
von knuffikatze
Hallo Edi,

ich habe es gerade mal ausprobiert und komme immer aus diesen Fehler:

Error in st_sf(x, ..., agr = agr) :
no simple features geometry column present

Re: Shape Datei als image Plot

Verfasst: Do Jul 06, 2017 12:13 am
von EDi
knuffikatze hat geschrieben: Mi Jul 05, 2017 5:56 pm Hallo Edi,

ich habe es gerade mal ausprobiert und komme immer aus diesen Fehler:

Error in st_sf(x, ..., agr = agr) :
no simple features geometry column present
Ohne ein reproduzierbares Beispiel, kann ich leider auch nur sagen dass mein Beispiel-Code läuft...

Re: Shape Datei als image Plot

Verfasst: Do Jul 06, 2017 9:39 am
von knuffikatze
Hallo Edi,

zudem bekomme ich mit deinem Code den Fehler:

Error in geom_sf(aes(fill = AREA)) : could not find function "geom_sf"

Muss ich hierzu noch eine zusätzliche library laden und wenn ja welche?

Vielen Dank dir.

Gruß
Eva

Re: Shape Datei als image Plot

Verfasst: Fr Jul 07, 2017 11:23 am
von knuffikatze
Hallo,

ich was nun etwas gefunden, was den gleichen Fehler hervorbringt:

http://www.gadm.org/download

Hier habe ich mir die Datei DEU_adm0.shp runtergeladen

Wenn ich nun folgenden Befehl eingeben:

library(sf)
library(ggplot2)
nc <- st_read("...DEU_adm0.shp", package="sf")

kommt dieser Fehler:

Reading layer `DEU_adm0' from data source `...\DEU_adm0.shp' using driver `ESRI Shapefile'
Error in st_sf(x, ..., agr = agr) :
no simple features geometry column present

Könnt Ihr mir hier weiterhelfen?

Ich verzweifel gerade daran.
Danke

Re: Shape Datei als image Plot

Verfasst: Sa Jul 08, 2017 1:00 pm
von EDi
Sorry, hab vergessen zu erwähnen, dass du die Entwicklungsversion von ggplot brauchts (neuer CRAN release dauert noch ein wenig wie ich auf der useR!2017 gehört habe).

Code: Alles auswählen

devtools::install_github("tidyverse/ggplot2")
vorher eventuell noch devtools installieren.

Re: Shape Datei als image Plot

Verfasst: Mo Jul 10, 2017 3:37 pm
von knuffikatze
Hallo Edi,

danke für die Antwort. Leider bekomme ich ein Fehler beim Laden:


* installing *source* package 'ggplot2' ...
** R
** data
*** moving datasets to lazyload DB
** inst
** tests
** preparing package for lazy loading
Error in loadNamespace(i, c(lib.loc, .libPaths()), versionCheck = vI[]) :
namespace 'scales' 0.4.1 is being loaded, but >= 0.4.1.9002 is required
ERROR: lazy loading failed for package 'ggplot2'
* removing 'C:/Users/steltee/Documents/R/R-3.4.0/library/ggplot2'
* restoring previous 'C:/Users/steltee/Documents/R/R-3.4.0/library/ggplot2'
Installation failed: Command failed (1)


Ich weiß nicht wirklich, was dieser bedeutet. Kannst du mir da noch mal weiterhelfen?

Danke.

Gruß
Eva

Re: Shape Datei als image Plot

Verfasst: Mo Jul 10, 2017 9:42 pm
von EDi
Hmm, vielleicht auch scales von github installieren?

Re: Shape Datei als image Plot

Verfasst: Di Jul 11, 2017 10:16 am
von knuffikatze
Hallo Edi,

devtools::install_github("tidyverse/scales")
Downloading GitHub repo tidyverse/scales@master
from URL https://api.github.com/repos/tidyverse/ ... all/master
Installation failed: Not Found (404)

Leider bekomme ich das nicht ans laufen.

Gibt es noch eine andere Möglichkeit meine Shape-Datei sowie dessen Daten mit Ihren Umrissen und dessen Felder wie im Image Plot darzustellen?

Vielen Dank.

Gruß
Eva