[GRASS-dev] custom CRS

Benjamin Ducke benducke at fastmail.fm
Sun Mar 19 13:24:17 PDT 2017


On 19/03/17 20:11, Paulo van Breugel wrote:
> 
> 
> On 19/03/2017 12:27, Benjamin Ducke wrote:
>> On 18/03/17 12:15, Paulo van Breugel wrote:
>>>
>>> On 18-03-17 10:06, Paulo van Breugel wrote:
>>>> Dear all,
>>>>
>>>> I have a shapefile which is in CRS ESRI:37203 [1], which is defined in
>>>> the prj file as
>>>>
>>>> GEOGCS["GCS_Everest_India_Nepal",DATUM["D_Everest_India_Nepal",SPHEROID["Everest_Definition_1962",6377301.243,300.8017255]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]]
>>>>
>> [SNIP]
>>
>>>> +proj=longlat +a=6377301.243 +b=6356100.2284
>>>> +towgs84=295,736,257,0,0,0,0 +no_defs
>> Are you sure that your "+towgs84" parameters are correct?
>> It seems to me that you intend to apply a three parameter
>> transformation, but you are specifying a seven parameter
>> transform with the scaling (last parameter) set to "0",
>> which might have unintended consequences.
> Good question. I am not sure, I have copied that from
> https://github.com/klokantech/epsg.io/issues/49 (the same is given in
> [2]). This is not my area of expertise, so any tips (for dummies) how I
> can test or find out more about this would be great. 

Because your source system does not use the WGS84
datum, you should specify a datum transform. This is
assuming that you wish to reproject your data at some
point from the Indian Grid System into something more
modern, such as UTM with WGS84 datum. If you will
never need to reproject, then you can just ignore all
of the following.

Re. the datum transformation:
You'll know there is a problem when you get a result
with rather lousy accuracy after reprojection. I would
expect a simple three parameter datum transform to give
you ca. 5m of result accuracy.

Simple datum transformations have three parameters:

1-3: x/y/z translations

... or an additional four (more accurate):

4-6:  x/y/z rotations
7: scaling

It's a common mistake to set the seventh parameter
to "0", believing that this means "skip this"
(and by "common" I mean: I've done this myself before).
This is true for parameters 1-6 (translating or rotating
by "0" does "nothing"). But it is not true for 7!
Scaling a number by "0" sets its value to "0". Scaling
by "1" is the operation that "does nothing".

To be on the safe side, specify only the three parameters
that your datum transform actually has:

+towgs84=295,736,257

> I have just send an
> email forwarding your question to the person that proposed the proj
> definition, so hopefully I'll get some useful feedback.

This seems to be a rather nice page:

http://kanchu_deep.tripod.com/igintro.htm

It has the three parameters for your datum transform
plus a bunch of very useful literature at the bottom
of the page.

Best,

Ben

> 
>>   To specify a three parameter datum transform:
>>
>> +towgs84=295,736,257
>>
>> If you really want to specify all seven parameters, but
>> want only the first three to take effect:
>>
>> +towgs84=295,736,257,0,0,0,1
>>
>> Best,
>>
>> Ben
>>
>>>> Question 2: In QGIS it is possible to define a custom CRS using the
>>>> above. Can I do this in GRASS as well, and if so, how? Or can / should
>>>> I add this to the datum information files in $GISBASE/etc/proj/ogr_csv?
>>>>
>>>>
>>>> Regards,
>>>>
>>>> Paulo
>>>>
>>>>
>>>> [1] https://epsg.io/37203
>>>> [2]
>>>> https://disqus.com/home/discussion/qgistutorials/georeferencing_topo_sheets_and_scanned_maps/#comment-1426454689
>>>>
>>> A link that provides further relevant information
>>>
>>> https://github.com/klokantech/epsg.io/issues/49
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> grass-dev mailing list
>>> grass-dev at lists.osgeo.org
>>> https://lists.osgeo.org/mailman/listinfo/grass-dev
>>>
>>
>>
> 



-- 
Dr. Benjamin Ducke
{*} Geospatial Consultant
{*} GIS Developer

Spatial technology for the masses, not the classes:
experience free and open source GIS at http://gvsigce.org


More information about the grass-dev mailing list