How to add a new entry to the ERDAS IMAGINE EPSG database - ERDAS Imagine Tutorial
How to add a new entry to the ERDAS IMAGINE EPSG database - ERDAS Imagine Tutorial
Download PDF

Why is my EPSG Code 0?



The image has the valid projection (projection=Transverse Mercator, Spheroid=GRS 1980, Datum=SWEREF99), but this particular combination doesn't have a valid EPSG code in IMAGINE.

Why IMAGINE returns the EPSG Code 0

[1] Basically, ERDAS IMAGINE use ESRI's library (based on ArcGIS 9.2) to convert EPSG to ERDAS IMAGINE's internal EPRJ system. ERDAS IMAGINE recognizes the EPSG codes that ESRI recognizes. Beginning with ERDAS IMAGINE 2010, it has an automatic EPSG update engine, so that the IMAGINE EPSG database will be synchronized with EPSG database at www.epsg.org.

[2] How does IMAGINE find the EPSG Code?
IMAGINE simply matches the combination of “Projection”, “Spheroid”, and “Datum” of your image to IMAGINE's internal projection database. ERDAS IMAGINE use the following files to setup its projection “database” (these files have a unique key to link to each other, so they behave just like a database):
mapprojections.dat
spheroid.tab
epsg.plb
Here is the workflow:

IMAGINE will try to match this combination: [Projection=Transverse Mercator, Spheroid=GRS 1980, Datum=SWEREF99] in the epsg.plb file, but unfortunately there is no such combination. The closet combination is:

"ETRS89 / ETRS-TM35FIN (3067)" { INTERNAL 1 "GRS 1980" "GRS 1980" 35 3: 1.0000000000000000E+00 }

But the projection (Transverse Mercator) and datum (GRS 1980:SWEREF99) don't match the EPSG definition. That's why IMAGINE return EPSG code 0.

Example of epsg.plb

EPSG Code Definition in epsg.plb Note
EPSG 2397 For EPSG: 2397
"Pulkovo 1942(83) / 3-degree Gauss-Kruger zone 3 (2397)" {
INTERNAL 9 "Krasovsky" "DE_42/83 to ETRS89" 0
2: 1.0000000000000000E+00 4: 1.5707963267948966E-001
5: 0.0000000000000000E+00 6: 3.5000000000000000E+06
7: 0.0000000000000000E+00 "meters"
}
Projection = Internal 9 =
Transverse Mercator
Spheroid = Krasovsky
Datum = DE_42/83 to ETRS89
EPSG 3067 "ETRS89 / ETRS-TM35FIN (3067)" {
INTERNAL 1 "GRS 1980" "GRS 1980" 35
3: 1.0000000000000000E+00
}
Projection = Internal 1 = UTM
(zone 35)
Spheroid = GRS 1980
Datum = GRS 1980
EPSG 3021 Not Supported by IMAGINE


How to manually add a new entry to the IMAGINE EPSG database

We need to permit IMAGINE to recognize the EPSG for this image, so that we can create a new EPSG code for it. In this example, let’s use EPSG=3007.

[1] Find the parameters for the projection “Transverse Mercator” in the “mapprojections.dat” file
(\etc\mapprojections.dat).

"Transverse Mercator" {  
Internal 9
"Spheroid" <spheroid>
"Scale factor at central meridian" <2:number>
"Longitude of central meridian" <4:angle ew:dd>
"Latitude of origin of projection" <5:angle ns:dd>
"False easting" <6:distance ew:meters>
"False northing" <7:distance ns:meters>

[2] Find the parameters for the spheroid “GRS 1980” in the “spheroid.tab” file (\etc\spheroid.tab).

"GRS 1980" {  
9 6378137.0 6356752.31414
"GRS 1980" 0 0 0 0 0 0 0
"ETRS 1989" 0 0 0 0 0 0 0
"SWEREF99" 0 0 0 0 0 0 0

[3] Find the parameters for the datum “SWEREF99” for spheroid “GRS 1980” in the “spheroid.tab”
file(\etc\spheroid.tab).

"GRS 1980" {  
9 6378137.0 6356752.31414
"GRS 1980" 0 0 0 0 0 0 0
"ETRS 1989" 0 0 0 0 0 0 0
"SWEREF99" 0 0 0 0 0 0 0

[4] Create the new EPSG 3007 code for this combination:
a. Open the image in an IMAGINE viewer, select “Image Info”, then go to “Edit->Add/change projection.
b. Select “Custom”, and you will see the Projection Chooser:

c. Select “Save”, and save it to your desired category. In this example, we will use “Argentina.” Select OK.

d. Open C:\Document and Settings\\.imagine930\projections\argentina.plb
You will see this at the end of the document:

"test" { INTERNAL 9 "GRS 1980" "SWEREF99" 0 2:1.0000000000000000E+000 4:2.0943951023931959E-001 5:0.0000000000000000E+000 6:1.5000000000000000E+005 7:0.0000000000000000E+000 }

This projection is EPSG 3007, which you can verify at http://www.epsg-registry.org/

e. You can modify it so that it looks like this: "Sweden projection / Sweden projection for special user (3007),"
which will be the name for the new EPSG code.

"Sweden projection / Sweden projection for special user (3007)" { INTERNAL 9 "GRS 1980" "SWEREF99" 0 2:1.0000000000000000E+000 4:2.0943951023931959E-001 5:0.0000000000000000E+000 6:1.5000000000000000E+005 7:0.0000000000000000E+000 }

Parameter Explanation
INTERNAL 9 Projection name
"GRS 1980" Spheroid name
"SWEREF99" Datum name
0 Zone number
2:1.0000000000000000E+000 Scale factor at central meridian
4:2.0943951023931959E-001 Longitude of central meridian
12 (degree) * pi / 180 =
0.2094395... (radian)
5:0.0000000000000000E+000 Latitude of orig projection
0 (degree) * pi / 180 = 0 (radian)
6:1.5000000000000000E+005 FALSE easting = 150000 (meters)
7:0.0000000000000000E+000 FALSE northing = 0 (meters)

f. Now append this new entry to the end of your \etc\projections\epsg.plb file, like this.  Make sure
you add unit “meters” at the end:

…. "(Deprecated) NTF (Paris) / Centre France (27593)" { INTERNAL 67 "Clarke 1880 IGN" "NTF" 0 2:8.5521133347722149E-001 3:0.0000000000000000E+000 4:9.9987749900000000E-001 5:6.0000000000000000E+005 6:2.0000000000000000E+005 "meters" } "(Deprecated) NTF (Paris) / Centre France (27594)" { INTERNAL 67 "Clarke 1880 IGN" "NTF" 0 2:8.1768675455934341E-001 3:0.0000000000000000E+000 4:9.9994471000000000E-001 5:2.3435800000000000E+002 6:1.8586136900000000E+005 "meters" } "Sweden projection / Sweden projection for special user (3007)" {
INTERNAL 9 "GRS 1980" "SWEREF99" 0
2:1.0000000000000000E+000 4:2.0943951023931959E-001
5:0.0000000000000000E+000 6:1.5000000000000000E+005
7:0.0000000000000000E+000 “meters
}

[5] Now restart ERDAS IMAGINE, reconfigure PE/GCE codes, and restart IMAGINE again.
a. ERDAS IMAGINE classic interface: Utilities > Reconfigure PE GCS Codes.
b. ERDAS IMAGINE ribbon interface: ERDAS Menu button > Configuration menu > Reconfigure PE GCS Codes.

[6] Open the image in the IMAGINE viewer and launch Image Info. ERDAS IMAGINE will now recognize your image with your customized EPSG code.

Source: http://www.erdas.com