2017-05-31 1 views

Antwort

1

Dies ist ein Fehler im Kartenpaket. Es wird in der kommenden Version 3.2 behoben werden. Es gibt einen schnellen Weg, um den Fehler zu vermeiden, wie mweber erklärt. Sie können verkürzen es sogar zu

map.where(map("county",fill=TRUE,plot=FALSE), -94.40780005, 40.49069996) 

Der Fehler wahrscheinlich herum für Alter gewesen ist, und zeigt nur für die „Grafschaften“ Datenbank für missouri Länder, die alphabetisch nach St Louis folgen.

Für die technisch Interessierten: In der Tat können Sie manuell die installierte Paket reparieren (oder besser gesagt: stoppen, den Fehler von Grafschaften Daten zu beeinflussen) und bearbeite Karten/mapdata/counties.N In dieser Datei werden Sie sehen, dass Bei den Zeilen 1545-1564 entsprechen die Zeilennummern nicht den Polygonnummern, da jemand eine Zeile verschoben hat. Wenn Sie diese einzelne Zeile zurück verschieben, funktioniert alles wieder. Der eigentliche Fehler im R-Code ist, dass für Kartendatenbanken map.where() davon ausgegangen wird, dass die Polygonnummer gleich der Zeilennummer in der .N-Datei ist, was fast immer OK ist, aber in diesem Fall fehlschlägt.

3

Ich kann nicht Sagen Sie genau warum, aber wenn Sie zuerst die Grafschaften nach Missouri unterteilen und die Parameter fill und plot hinzufügen, wird Worth als Ergebnis zurückgegeben, wie es sein sollte. Ich folgte nur das letzte Beispiel in der Hilfe für map.where in maps packet

p <- map('county','Missouri',fill = TRUE, plot = FALSE) 
map.where(p, -94.40780005, 40.49069996) 
[1] "missouri, worth" 
Verwandte Themen