ThinkGeo.com    |     Documentation    |     Premium Support

GeoTiff from epsg 31466 raise exception

Hi,



if reading a GeoTiFF with crs epsg=31466 MapSuite raise an exception.

The index was out of range. He must be non-negative and less than the Collection.

Parameter: index.



Other crs working fine.




Public Function LoadGeoTiffLayer(LayerPath As String, EPSG As IntegerAs GeoTiffRasterLayer
        Try
            Dim TiffRasterLayer As GeoTiffRasterLayer
 
            Dim fileExists As Boolean
            fileExists = My.Computer.FileSystem.FileExists(LayerPath.ToLower.Replace(".tif"“.tfw”))
            If fileExists Then
                TiffRasterLayer = New GeoTiffRasterLayer(LayerPath, LayerPath.ToLower.Replace(".tif"“.tfw”))
            Else
                TiffRasterLayer = New GeoTiffRasterLayer(LayerPath)
            End If
 
            With TiffRasterLayer
                .IsVisible = False
                Dim ImageProjection As New ManagedProj4Projection
                ImageProjection.ExternalProjectionParametersString = ManagedProj4Projection.GetSphericalMercatorParametersString
                ImageProjection.InternalProjectionParametersString = ManagedProj4Projection.GetEpsgParametersString(EPSG)
                ImageProjection.Open()
 
                .ImageSource.Projection = ImageProjection
                .Name = LayerPath
 
                .Open()
            End With
            Return TiffRasterLayer
        Catch ex As Exception
            c_lastError &= ex.Message & vbNewLine
            Debug.WriteLine(ex.Message)
            Return Nothing
        End Try
 
    End Function

I’m using Daily Full Development 9.0.229.0

Any idea?

Regards

Hardy


Hi Hardy, 
  
 Sorry I was unable to reproduce this issue as I don’t have the GeoTiff file on your side. Could you please share the file to us? About how to send data to support please refer to wiki.thinkgeo.com/wiki/map_suite_sending_data_to_support.   
  
 Regards, 
 Peter

Hi Peter,



the upload should be finished in a few minutes.

I have send 2 files (*.tif and *.tfw).



Please try and tell what to do.



Regards

Hardy

Hi Hardy, 
  
 Thanks for sharing files. It proved to be a bug in the development version which has been fixed. The fixed will be available in the 9.0.0.241.0 or later. But currently the proj4 doesn’t support convert projection 31466 to projection mercator, we are working on it. Any progress will be updated here. 
  
 Sorry for any inconvenience. 
  
 Regards, 
 Peter

Hi Peter,



it seems to me that EPSG 31467 also doesn’t work correct.

Please look at my Screen shot.



Problems will be when using data from that projections (31466, 31467). No matter raster or vector.

The red marker Displays the Offset between OSM and the data.

Hope you can fix the bug soon.



Regards

Hardy

Hi Hardy, 
  
 This issue is very difficult to fix and our developers are still working on it. Any progresses will be updated here. 
  
 Sorry for inconvenience. 
  
 Regards. 
 Peter

Hi Handy,



It’s proved to be something wrong with the proj4string of projection 31466 and 31467 when applying it to a small local place. They should be:



31466: 

+proj=tmerc +lat_0=-0.0011 +lon_0=5.99931 +k=1 +x_0=2500000 +y_0=0 +ellps=bessel +towgs84=598.1,73.7,418.2,0.202,0.045,-2.455,6.7 +units=m +no_defs



31467:

+proj=tmerc +lat_0=-0.0011 +lon_0=8.99924 +k=1 +x_0=3500000 +y_0=0 +ellps=bessel +towgs84=598.1,73.7,418.2,0.202,0.045,-2.455,6.7 +units=m +no_defs



Here attached is a demo for loading the TIff file (you provided) in projection 31466, and a shape file (Saarland) in projection 31467. Both of them are displayed in spherical mercator projection of OpenStreetMap. Please check it out.



Thanks,

Johnny

GeoTiffEPSG31466.zip (11 KB)

Hi Johnny,



Display of Geometries and Areal Images is good!



Thanks

Hardy

Hi Hardy, 
  
 Very glad to hear that it works for you. 
  
 Thanks, 
 Peter