Adding geography to tmap World data frame - r

I need to map data of South America and the Caribbean, including small geographies such as St. Vincent and the Grenadines. However, in the World data set with the tmap library these are not included. Using the included spatial data base of the tmap library seems easier than finding, loading, parsing and cleaning a different shape file from some other sources. Is it possible to insert these countries or should I just fight through learning the details of GIS just to draw a simple thematic map of the Caribbean?
I have battled with reading shape files from OSM today and other mapping packages. Tmap is a great approach for us non-GIS professionals.
Thanks for any direction you can give.

Related

Searching for postal code map of Germany for R

I'm searching for a map of Germany which is divided into the different postal codes and could be coloured in R. Possible would be a map like this on wikipedia:
https://upload.wikimedia.org/wikipedia/commons/c/cd/Karte_Paketzentren_Deutsche_Post_AG.png
Is there any package which is supporting this?
You can download the Geojson (I advise this format) from https://public.opendatasoft.com/explore/dataset/postleitzahlen-deutschland/export/
You can then read the Geojson with the sf package. You will find support for this on stackoverflow. Through the sf package you will have graphing possibilities with various other packages.
You can also download shapefiles for "Landkreis" and other administrative areas in Germany on this site.

Creating Custom Shapefiles

I have the zip code tabulation area (ZCTA) ESRI shape files from the US Census Bureau that I would like to use to display data on map charts using software like tableau, SAS JMP, etc.
Each of these programs can readily recognize and plot the zip shapes in map charts, however the detail is too fine and I need to aggregate the zips into custom districts and regions that are useful for the project. For this data set districts are comprised of various zip codes, and regions are comprised of many districts.
My question is, how can I edit the zip shape files to aggregate them into district shapes and then also aggregate the district shapes into region shapes.
Even if someone could point me to some documentation on how to do this, would greatly appreciated.
Thanks
josh
If you have JMP, you should be able to use this Add-in created by the JMP developers:
https://community.jmp.com/docs/DOC-7362
There is a companion blog post about it as well:
http://blogs.sas.com/content/jmp/2013/08/22/an-add-in-to-combine-jmp-map-shapes/

Adding Boundaries to Spatial Polygons Object

I have the following SpatialPolygonsDataFrame.
require(raster)
usa <- getData('GADM', country='USA', level=2)
metro <- subset(usa, NAME_1=="Nebraska" & NAME_2 %in% c("Dodge","Douglas","Sarpy","Washington"))
plot(metro)
I would like to be able to replicate the following map boundaries (defined by the colors):
Does anyone know a good plan of attack? I realize this is a somewhat manual process. I have already downloaded all US Census files that are of a more detailed geography. I was hoping that a more detailed level of geography could be aggregated to answer the above question, but unfortunately the districts do not line up the same.
Is there a R function already out there that would be helpful in assisting this manual process? At the very minimum, I would like to be able to leverage the perimeter of the 4-county area.
Use writeOGR from the rgdal package to create a shapefile of your metro object. Then install QGIS (http://www.qgis.org/), a free and open-source GIS, and load the shapefile as a new layer.
Then you can edit the layer, add new polygons, edit lines etc, then save as a shapefile to read back into R.
Additionally, you may be able to "georeference" your image (by identifying known lat-long points on the image) and load that into QGIS as a raster layer. That makes it easier to digitise your new areas. All you need for that is a few lat-long coordinates of specific points, such as the corners of polygons or line intersections, and then QGIS has a georeferencing plugin that can do it.
I don't think you'll find any R code as suitable for digitising new geometries over an image as good as QGIS.
After half an hour (and twenty years experience, not all of which you'll need) I've got this:
I didn't precisely digitise your new boundaries though, just roughly for speed. That QGIS screen cap shows the five coloured areas under the four metro areas.
Step one was georeferencing. This screengrab shows how the PNG has been georeferenced - the red line is the metro area shapefile drawn with transparency over the PNG after the PNG has been converted to a GeoTIFF by matching control points.
Step two was then using QGIS editing tools to split, join, and create new polygons. Then I just coloured them and added labelling to pretty it up.
I could probably bundle these files all up for you to neaten, but it really doesn't take that long and you'll learn a lot from doing it. Also, this is probably a gis.stackexchange.com question...

Themathic map/choropleth map of the Netherlands

I have a bunch of data on Dutch individuals that I would like to visualize with a choropleth map. I also have the location of the individuals (longitude and latitude), so I was hoping that it would be possible to visualize that on a Dutch map that is divided into municipalities (="gemeente" in Dutch), so I can color each municipality according to the mean value of all individuals living there. I know that the R package maptools can make choropleth maps, but I believe that it requires template maps in the form of a .shp file. Does anyone know where I could find such a template for the Netherlands? Preferably with municipalities and NOT per province, so for this image it would be the one on the left:
(source: www.kb.nl)
Any suggestions for other packages/software/etc to do this are also welcome! Many thanks!
also try GADM: http://www.gadm.org/
This site is an excellent resource, extra bonus: .Rdata is one of the formats you can download in (containing a SpatialPolygonsDataFrame). They also have .shp format, for your case.
Your main problem will be finding a shapefile for the municipalities. Once you have that and can easily relate your data at the lat/long level to the municipalities, then plotting becomes easy.
ggplot2 is a fantastic example.
Choropleths in R is a potential example, because it does not use shapefiles, but I believe the maps package supports it
Failing that, you could always try Weave
There are various .shp files for the Netherlands here:
http://www.eea.europa.eu/data-and-maps/data/eea-reference-grids/
You might also be able to find the municipalities layer on GeoCommons and join your data with one of those layers. GeoCommons makes it really easy to make many different choropleth maps quickly.
Another source for shapefiles at Eurostat is here. However, with a restrictive license, and I believe only at NUTS3 level (I did not look at it, though).
Open Streetmap does contain administrative boundaries,but not as polygons. Here is a report about how to transform boundaries to polygons. (I did not try)
You can find recent official Dutch maps here: https://www.pdok.nl/nl/producten/pdok-downloads/basis-registratie-kadaster/bestuurlijke-grenzen-actueel in .gml and .xsd formats (not in .shp unfortunately). National borders, province and municipality.

Combining bordering shapefiles in R

I have five shapefiles of bordering counties in California that I am trying to combine into one large shapefile and maintain the original borders of the counties. I then want to plot points such as this so the map only needs to be a simple map of county boundaries. Is there a way to do this in R or will I have to use something like ArcGIS?
There is extensive documentation about merging within a shapefile such as here where both shapefiles have the same coordinates. But no documentation on shapefiles that only partially share coordinates.
If you only need to put all the borders into one data set then you can do that with sp/rgdal easily enough, but if you need to actually merge borders geometrically (clip/join/dissolve) and so on the support in R is not that simple.
Roughly the simple option is read each shapefile with readOGR, then spRbind them together. If rgdal presents difficulties for building/installing then there are other options for reading shapefiles in various packages.
btw, "something like ArcGIS" but much closer to "free": www.manifold.net
If you are looking for a Free and Open Source solution I highly recommend QGIS or uDIG or OpenJump or MapWindows. You can do all the shapefile manipulation you want in these packages, they are all GIS software.
I am sorry I do not of a way to do this in R and I am not sure I would trust the result - better to use a hammer for a nail than to use a screwdriver.
If you want to programmaticly want to alter the shapefiles let me know and I will recommend some python and java libraries.

Resources