Solved

Custom Coordinate System Monte Mario Italy 1-2


Userlevel 2
Badge +4

Good evening at everyone.

I have a shapefile of buildings in the reference system Gauss Boaga Italy Monte Mario 1 (EPSG:3003) [1]

If I reproject these data in ETRS89 UTM 32N (EPSG:25832) using the proj4 library (with QGIS or PostGIS) and I obtain a very valid result [2], which overlaps with the orthophotos in coming from the WMS. [3]

I tried to configure a custom SRID [4] by entering the 7 reprojection parameters used by the proj4 library contained in QGIS or PostGIS [5]

I tried to reproject with FME using my custom srid, but the result is very different [6]. Is something wrong with the custom configuration [4] or fme  transformer [7]?

Thank you!

In the zipfile: 

[1] original.shp

[2] reprojected_with_qgis.shp

[4] MyCoordSysDefs.fme

[6] reprojected_with_fme.shp

other references:

[3] http://pubblicazioni.provincia.fi.it/geoserver/wms?request=GetCapabilities

layer=orto2016

[5]

"+proj=tmerc +lat_0=0 +lon_0=9 +k=0.9996 +x_0=1500000 +y_0=0 +ellps=intl +towgs84=-104.1,-49.1,-9.9,0.971,-2.917,0.714,-11.68 +units=m +no_defs"

icon

Best answer by pdorio 18 July 2018, 09:50

View original

3 replies

Userlevel 2
Badge +4

OK I SOLVED!!!

The Austrian reference system: EPSG:31255 uses also the 7 reprojection parameters in the PROJ4 definition:

+proj=tmerc +lat_0=0 +lon_0=13.3333333333 +k=1 +x_0=0 +y_0=-5000000 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs

Looking at the configuration of the reference system in FME, I realized that the rotation parameters have the opposite value compared to the PROJ4 projection:

ROT_X: -5,137
ROT_Y: -1,474
ROT_Z: -5.297

I have also applied the same opposite values for my datum definition and now works great!!!! 

To explain:

  • 1st proj4 parameter = [DELTA_X]
  • 2nd proj4 parameter  = [DELTA_Y]
  • 3rd proj4 parameter  = [DELTA_Z]
  • 4th proj4 parameter  = -[ROT_X]
  • 5th proj4 parameter  = -[ROT_Y]
  • 6th proj4 parameter  = -[ROT_Z]
  • 7th proj4 parameter  = [BWSCALE]

I will report below in full:

DATUM_DEF Monte_Mario                     	\
    DESC_NM "Monte Mario, 7 parameter"     \
    SOURCE "PROJ4"                         \
    ELLIPSOID "INTNL"                      \
    USE 7PARAMETER                         \
    DELTA_X -104.1                         \
    DELTA_Y -49.1                          \
    DELTA_Z -9.9          \
    BWSCALE -11.68                   \
    ROT_X -0.971                           \
    ROT_Y 2.917                            \
    ROT_Z -0.714

COORDINATE_SYSTEM_DEF "MonteMario1+7params" \
EPSG 3003                           \        
GROUP EUROPE                           \        
DESC_NM "Monte Mario / Italy zone 1"    \        
SOURCE "PROJ4"   \        
DT_NAME Monte_Mario                     \        
PROJ TM                                 \        
MAX_LAT 47.04                           \        
MAX_LNG 12.00                           \        
MIN_LAT 36.53                           \        
MIN_LNG 5.94                            \    
UNIT METER                              \        
ORG_LAT 0 \
PARM1 9  \
PROJ TM  \
QUAD 1  \
SCL_RED 0.9996000000  \
UNIT METER  \
X_OFF 1500000  \
Y_OFF 0 

COORDINATE_SYSTEM_DEF "MonteMario2+7params" \
EPSG 3004                           \        
GROUP EUROPE                           \        
DESC_NM "Monte Mario / Italy zone 2"    \        
SOURCE "PROJ4"   \        
DT_NAME Monte_Mario                     \        
PROJ TM                                 \        
MAX_LAT 47.10                           \        
MAX_LNG 18.99                           \        
MIN_LAT 34.76                           \        
MIN_LNG 12.00                            \    
UNIT METER                              \        
ORG_LAT 0 \
PARM1 15  \
PROJ TM  \
QUAD 1  \
SCL_RED 0.9996000000  \
UNIT METER  \
X_OFF 2520000  \
Y_OFF 0 


I would suggest that FME developers will integrate natively this definition for EPSG 3003 and 3004 in the same way as it has been done for Austrian systems (e.g. 31254,31255, 31256, 31257, 31258,31259).

What is the best way to suggest this change?

Badge +2

OK I SOLVED!!!

The Austrian reference system: EPSG:31255 uses also the 7 reprojection parameters in the PROJ4 definition:

+proj=tmerc +lat_0=0 +lon_0=13.3333333333 +k=1 +x_0=0 +y_0=-5000000 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs

Looking at the configuration of the reference system in FME, I realized that the rotation parameters have the opposite value compared to the PROJ4 projection:

ROT_X: -5,137
ROT_Y: -1,474
ROT_Z: -5.297

I have also applied the same opposite values for my datum definition and now works great!!!! 

To explain:

  • 1st proj4 parameter = [DELTA_X]
  • 2nd proj4 parameter  = [DELTA_Y]
  • 3rd proj4 parameter  = [DELTA_Z]
  • 4th proj4 parameter  = -[ROT_X]
  • 5th proj4 parameter  = -[ROT_Y]
  • 6th proj4 parameter  = -[ROT_Z]
  • 7th proj4 parameter  = [BWSCALE]

I will report below in full:

DATUM_DEF Monte_Mario                     	\
    DESC_NM "Monte Mario, 7 parameter"     \
    SOURCE "PROJ4"                         \
    ELLIPSOID "INTNL"                      \
    USE 7PARAMETER                         \
    DELTA_X -104.1                         \
    DELTA_Y -49.1                          \
    DELTA_Z -9.9          \
    BWSCALE -11.68                   \
    ROT_X -0.971                           \
    ROT_Y 2.917                            \
    ROT_Z -0.714

COORDINATE_SYSTEM_DEF "MonteMario1+7params" \
EPSG 3003                           \        
GROUP EUROPE                           \        
DESC_NM "Monte Mario / Italy zone 1"    \        
SOURCE "PROJ4"   \        
DT_NAME Monte_Mario                     \        
PROJ TM                                 \        
MAX_LAT 47.04                           \        
MAX_LNG 12.00                           \        
MIN_LAT 36.53                           \        
MIN_LNG 5.94                            \    
UNIT METER                              \        
ORG_LAT 0 \
PARM1 9  \
PROJ TM  \
QUAD 1  \
SCL_RED 0.9996000000  \
UNIT METER  \
X_OFF 1500000  \
Y_OFF 0 

COORDINATE_SYSTEM_DEF "MonteMario2+7params" \
EPSG 3004                           \        
GROUP EUROPE                           \        
DESC_NM "Monte Mario / Italy zone 2"    \        
SOURCE "PROJ4"   \        
DT_NAME Monte_Mario                     \        
PROJ TM                                 \        
MAX_LAT 47.10                           \        
MAX_LNG 18.99                           \        
MIN_LAT 34.76                           \        
MIN_LNG 12.00                            \    
UNIT METER                              \        
ORG_LAT 0 \
PARM1 15  \
PROJ TM  \
QUAD 1  \
SCL_RED 0.9996000000  \
UNIT METER  \
X_OFF 2520000  \
Y_OFF 0 


I would suggest that FME developers will integrate natively this definition for EPSG 3003 and 3004 in the same way as it has been done for Austrian systems (e.g. 31254,31255, 31256, 31257, 31258,31259).

What is the best way to suggest this change?

Hi @pdorio, So glad to see that you've sorted out this custom Coordinate System. Thank you for providing all the details about the new coordinate system, I've posted an suggestion on your behalf, in our Idea page. This is usually the best place to suggest enhancements, and other users will be able to chime in and vote for the idea. The popularity of the idea will be taken into consideration when our development team prioritize their future effort. 

 

To post ideas, you can access the NEW IDEA button on all pages in the Knowledge Center. In case you are interested any any other tips about the Knowledge Center, it might be worth to check out this article

 

Userlevel 5
Badge +28

Thanks for the work and for sharing - I ran into the same issues with this coordiante system today. 

Reply