3

I'm working on a fantasy world; a map, to be more specific. I basically just started to paint a world map in Photoshop, but over time it became very big an unfortunately Photoshop is not really good with detailed world maps.

So I went out to look for another software to manage coastlines, rivers, cites, town, borders, streets and much much more. I decided to use QGIS, imported my .psd as .tif and started to vectorize it manually (yes, it took me quite long and I haven't finished yet).

The world map is a projection of a real planet. I never set up any CRS. The problem is, I never thought of any projection-issues before. Later I decided, that the painted map is a "Mollweide" projection of my planet. (I know this will cause some distortion, but that's okay)

To make it easier, I decided the planet to be a perfect sphere with r=10567km.

Since I am a newbie on QGIS, I have three issues now:

  1. I have no good idea, how to define a custom CRS and there is no tutorial for doing that.
  2. I have no idea how to georeference my vector layer. I worked on a mathematical way to transform the mollweide-x,y-coordinates in QGIS to real latitude-longitude-coordinates. But I don't know how to perform the algorithm on my shapefile (I thought of exporting it to GeoJSON) and get QGIS that to display the geocoordinates using my custom CRS after transforming.
  3. Is there a way to keep my background raster layer after transforming the vector layer so I can go on vectorizing?
  • Well, given you chose a difference radius for the planet then earth has, none of the standard EPSG-codes will apply. Otherwise, epsg.io/54009 could have set you on the right path. Before you start overcomplication things, would it be possible to use the standard parameters for earth? (6378km). – Tim Couwelier May 5 '14 at 14:41
2

From your question, this would be the projection data:

+proj=moll +R=10567000 +lon_0=0 +x_0=0 +y_0=0 +units=m +towgs84=0,0,0,0,0,0,0 +no_defs

You can make a custom CRS from it, and Set CRS for layer to apply it to your shapefile.

if you want lat/long coordinates, you have to set up another, geographical CRS with degrees as units:

+proj=longlat +R=10567000 +towgs84=0,0,0,0,0,0,0 +no_defs

Then you can reproject from projected to geographical.

GeoJSON is not a good idea because it usually works with defined EPSG codes. There is a chance of linking to an online or local WKT definition: http://geojson.org/geojson-spec.html#link-objects

The wkt definition of your mollweide projection is:

PROJCS["Mollweide", 
  GEOGCS["GCS_unnamed ellipse",
    DATUM["D_unknown",
    SPHEROID["Unknown",10567000,0]],
    PRIMEM["Greenwich",0],
    UNIT["Degree",0.017453292519943295]],
  PROJECTION["Mollweide"],
    PARAMETER["central_meridian",0],
    PARAMETER["false_easting",0],
    PARAMETER["false_northing",0],
    UNIT["Meter",1]]

and for your latlon CRS:

GEOGCS["unnamed ellipse",
  DATUM["D_unknown",
  SPHEROID["Unknown",10567000,0]],
  PRIMEM["Greenwich",0],
  UNIT["Degree",0.017453292519943295]]
  • Thank you for your answer, it helped me very much. But i still got one question: In the mollweide-CRS there isn't for every x,y a position on the sphere (since its area is limited). So what area is valid an what area is non valid? – user6193 May 6 '14 at 20:19
  • I still wanted to answer to that, but you were impatient: gis.stackexchange.com/questions/95305/… – AndreJ May 8 '14 at 9:50
0

You can just open your shapefile in QGIS and right click on it. There you can define the projection it has. If you want to create your own Projection that’s possible "settings" -> "custom CRS". Now you can save the shapefile in every Projection you like, even another custom CRS. You can perform these steps to raster and vector data in the same way. If you do this your raster should fit to your vector file and you can keep vectorising.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.