[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