I wish to display a map in QGIS (world country shapefiles) showing all countries but centered on the Pacific area.
I am not familiar with Proj4, so is there any way this can be done in QGIS?
Well, not that easy, as QGIS does not come with predefined Robinson or Miller projections.
So I tried a Custom CRS and got this picture (not in first run!):
For a central meridian at 150° West, it is necessary to split the world boundaries shapefile at 30° East (to be precise, at 29.9 and 30.1 to avoid intersections)
So these are the steps:
Save As ...into WGS84, and add that to the canvas
1;POLYGON ((30.1 89, 29.9 89, 29.9 -89, 30.1 -89, 30.1 89))
Text delimited layer, using semicolon as separator and WGS84 as CRS (you will get a very thin polygon around 30°E)
Vector -> Geoprocessing -> Differencewith the two polygon layers
+proj=robin +lon_0=-150 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs
On-the-fly projectionand choose Robinson as project CRS
For the Miller projection, you can use the same pre-cut shapefile. In Proj, Miller has some problems with the ellipsoid, so we take a sphere instead (you won't see a difference):
+proj=mill +lon_0=-150 +lat_0=0 +R=6371000 +units=m +no_defs
With on-the fly activated, it does not look as well, New Zealand is missing at full extent, but returns when zooming in. So we need to
Save As ... the shapefile in miller projection, and show only that, without on-the-fly reprojection:
QGIS comes ready supplied with everything you need (i.e. it handles Proj4 for you under the hood). If your data are already in the projection you want, then right-click the layer and choose "Set Project CRS from Layer". This will put the data view into the same projection as your data. You will probably have to also right-click your layer and choose "Zoom to Layer Extent".
If your data are in some other projection, you can either reproject on the fly (in project properties) or reproject the data itself by right-clicking your layer and choosing "Save as". When the save dialog box opens, select the CRS for the output dataset and then use the new reprojected dataset.