[Gdal-dev] GDAL C# bindings freezing problem

Ben Greene bgreene at rapidmap.com.au
Mon Apr 16 19:18:36 EDT 2007


I was originally using the latest FWTools 1.2.2 binaries (I think that makes it 1.4.0), and then I compiled from the 1.4.1 sources according to the instructions on this site.  When I compiled from sources, the debugger would step into the SWIG wrappers, but I still had the same problem.
 
Here is the VB code I'm currently using, if you would like the C# code I can probably dig that up too, but the VB is basically a direct translation of it.
 
Private Shared image As Dataset

Public Shared Function GetGeoReference(ByVal Filename As String) As GeoReference

If Not (Filename Is Nothing) Then

'Return Nothing

'if uncommented, the code will not crash

End If

GDAL.gdal.AllRegister()

image = GDAL.gdal.Open(Filename, 0)

If (image Is Nothing) Then

Return Nothing

End If

Dim gr(6) As Double

image.GetGeoTransform(gr)

Dim topLeft() As Double = TransformWGS84(gr(0), gr(3))

Dim bottomRight() As Double = TransformWGS84(gr(0) + gr(1) * image.RasterXSize, gr(3) + gr(5) * image.RasterXSize)

If (topLeft.Length = 2 And bottomRight.Length = 2) Then

Return New GeoReference(topLeft(0), topLeft(1), bottomRight(0), bottomRight(1))

Else

Return Nothing

End If

image.Dispose()

End Function

Public Shared Function TransformWGS84(ByVal px As Double, ByVal py As Double) As Double()

Dim point() As Double

point = New Double() {0.0, 0.0}

Dim srWGS84 As New SpatialReference("")

srWGS84.SetWellKnownGeogCS("WGS84")

If (image.GetProjection() = "") Then

Return New Double() {}

End If

Dim srCurrent As New SpatialReference(image.GetProjection())

Dim transform As New CoordinateTransformation(srCurrent, srWGS84)

If (transform Is Nothing) Then

Return New Double() {}

End If

Try

transform.TransformPoint(point, px, py, 0)

Catch

Return New Double() {}

End Try

Return point

End Function

 

I'm not sure how I can post the GeoTIFFs - is there free hosting somewhere that people generally use?

Thanks,

Ben

	-----Original Message----- 
	From: Tamas Szekeres [mailto:szekerest at gmail.com] 
	Sent: Mon 4/16/2007 7:59 PM 
	To: Ben Greene 
	Cc: gdal-dev at lists.maptools.org 
	Subject: Re: [Gdal-dev] GDAL C# bindings freezing problem
	
	

	Ben,
	
	Could you post an example code and data to reproduce this problem?
	Which version of the C# bindings you use?
	
	Best regards,
	
	Tamas
	
	
	2007/4/16, Ben Greene <bgreene at rapidmap.com.au>:
	> Hi,
	>
	> I've been trying to modify an existing program to be able to read the georeferencing and image data from geotiffs using GDAL.  The program is written in VB.Net, but for my initial attempt I wrote a library in C#, and used that as a go-between.  I was having frequent crashing issues when the program hit the functions that load the image, so I switched to another library for the image loading stuff (I was also having trouble with indexed images, and it crashed much more often with certain images).
	>
	> I was still having the crashing problems, so I removed the references to my library, and everything worked.  I tried converting my code to VB and integrating it into the original program, but I'm still having the same issue.
	>
	> When the program crashes, it just freezes, taking the debugger with it (when I try to break, the environment freezes.  I then have to kill the process, and the debugger unfreezes).  This happens at different lines throughout the program, and for some images very occasionally (one in 20 executions maybe) won't happen, but with others will work most of the time.  There doesn't seem to be any pattern to the compression used, but larger images seem to be slightly more likley to crash.
	>
	> Has anyone else had similar problems?
	>
	> Cheers
	>
	> _______________________________________________
	> Gdal-dev mailing list
	> Gdal-dev at lists.maptools.org
	> http://lists.maptools.org/mailman/listinfo/gdal-dev
	>
	





More information about the Gdal-dev mailing list