Dheeraj, I noticed you are talking about the layer level geometry functions, which hasn't been updated in the C# bindings yet. I'll add the necessary implementation shorly. Also added a ticket to track the changes: http://trac.osgeo.org/gdal/ticket/5264
Best regards, Tamas 2013/10/10 Dheeraj Reddy Mamidi <drmam...@rothwellgroup.com> > Tamas, > > Sorry the sample code had wrong data source names. Here is the corrected > sample code.. > > > var spatialReference = new OSGeo.OSR.SpatialReference(""); > spatialReference.ImportFromProj4("+proj=longlat +ellps=WGS84 +datum=WGS84 > +no_defs"); > > var driver = OSGeo.OGR.Ogr.GetDriverByName("ESRI Shapefile"); > > DataSource dataSourceToIntersectOn = > driver.Open(@"C:\Temp\gdal_32\Polygon.shp", 0); > Layer layerToIntersectOn = dataSourceToIntersectOn.GetLayerByIndex(0); > > DataSource dataSourceToIntersect = > driver.Open(@"C:\Temp\gdal_32\Polyline.shp", 0); > Layer layerToIntersect = dataSourceToIntersect.GetLayerByIndex(0); > > var intersectedShapeData = driver.CreateDataSource(@"C:\Temp\gdal_32", new > string[] { }); > wkbGeometryType wkbGeometryType = > layerOriginal.GetLayerDefn().GetGeomType(); > Layer intersectedLayer = intersectedShapeData.CreateLayer("intersection", > spatialReference, wkbGeometryType, new string[] { }); > > OSGeo.OGR.SWIGTYPE_p_void callback_data = new > OSGeo.OGR.SWIGTYPE_p_void(new IntPtr(5), false, layerToIntersect); > > OSGeo.OGR.SWIGTYPE_p_GDALProgressFunc callback = new > SWIGTYPE_p_GDALProgressFunc(new IntPtr(5), false, layerToIntersect); > > layerToIntersect.Intersection(layerToIntersectOn, intersectedLayer, new > string[] { "SKIP_FAILURES=YES" }, callback, callback_data); // Line where > it fails > > > Thanks, > Dheeraj > > > On Thu, Oct 10, 2013 at 1:16 PM, Dheeraj Reddy Mamidi < > drmam...@rothwellgroup.com> wrote: > >> Hi Tamas, >> >> Thanks for your response. In fact I don't require progress notification, >> but I am not able to ignore those arguments (pass them as null). If I pass >> them as null I get error "Attempt to dereference null GDALProgressFunc". If >> I just pass those arguments initializing them they way I am doing below in >> the sample code, I get "Attempted to read or write protected memory. >> This is often an indication that other memory is corrupt." error. >> >> I am using Gdal 1.10 library. >> >> Here is the sample code.. >> >> var spatialReference = new OSGeo.OSR.SpatialReference(""); >> spatialReference.ImportFromProj4("+proj=longlat +ellps=WGS84 +datum=WGS84 >> +no_defs"); >> >> var driver = OSGeo.OGR.Ogr.GetDriverByName("ESRI Shapefile"); >> >> DataSource dataSourceToIntersectOn = >> driver.Open(@"C:\Temp\gdal_32\Polygon.shp", 0); >> Layer layerToIntersectOn = dataSourceCookieCutter.GetLayerByIndex(0); >> >> DataSource dataSourceToIntersect = >> driver.Open(@"C:\Temp\gdal_32\Polyline.shp", 0); >> Layer layerToIntersect = dataSourceOriginal.GetLayerByIndex(0); >> >> var intersectedShapeData = driver.CreateDataSource(@"C:\Temp\gdal_32", >> new string[] { }); >> wkbGeometryType wkbGeometryType = >> layerOriginal.GetLayerDefn().GetGeomType(); >> Layer intersectedLayer = intersectedShapeData.CreateLayer("intersection", >> spatialReference, wkbGeometryType, new string[] { }); >> >> OSGeo.OGR.SWIGTYPE_p_void callback_data = new >> OSGeo.OGR.SWIGTYPE_p_void(new IntPtr(5), false, layerToIntersect); >> >> OSGeo.OGR.SWIGTYPE_p_GDALProgressFunc callback = new >> SWIGTYPE_p_GDALProgressFunc(new IntPtr(5), false, layerToIntersect); >> >> layerToIntersect.Intersection(layerToIntersectOn, intersectedLayer, new >> string[] { "SKIP_FAILURES=YES" }, callback, callback_data); // Line where >> it fails >> >> >> The data that I am trying to intersect (shapefiles are attached). >> >> >> Thanks, >> Dheeraj >> >> >> >> >> >> On Thu, Oct 10, 2013 at 12:33 PM, Tamas Szekeres <szeker...@gmail.com>wrote: >> >>> Dheeraj, >>> >>> I don't think the OSGeo.OGR.Layer.Intersection supports progress >>> notification. You might probably have encountered a bug which should be >>> fixed. Do you have a sample code to reproduce this issue? I would >>> specifically interested in the actual geometries have been passed to the >>> function. >>> >>> Best regards, >>> >>> Tamas >>> >>> >>> >>> 2013/10/10 Dheeraj Reddy Mamidi <drmam...@rothwellgroup.com> >>> >>>> Hi list, >>>> >>>> I have troubles with C# bindings of OGR. I was trying to perform >>>> intersection on two feature classes (shape file formats) using >>>> OSGeo.OGR.Layer.Intersection(), but have problems making it work. I >>>> keep getting an error saying "AccessViolationException was unhandled. >>>> Attempted to read or write protected memory. This is often an indication >>>> that other memory is corrupt. >>>> >>>> Is the above error something to do with SWIGTYPE_p_GDALProgressFunc >>>> callback and OSGeo.OGR.SWIGTYPE_p_void callback_data arguments? I >>>> tried passing those parameters null as suggested by some in the forums >>>> butI keep getting the error "Attempt to dereference >>>> null GDALProgressFunc". I am not sure what that means. >>>> >>>> And when I instantiate callback as new SWIGTYPE_p_GDALProgressFunc() >>>> and new callback_data as new SWIGTYPE_p_void(), I don't get error Attempt >>>> to dereference null GDALProgressFunc, but still have error saying >>>> AccessViolationException >>>> was unhandled. Attempted to read or write protected memory. This is often >>>> an indication that other memory is corrupt. >>>> >>>> Can someone please help me figure this out and let me know how to make >>>> use of OSGeo.OGR.Layer.Intersection() in the right way with c# >>>> bindings. Thank you. >>>> >>>> Thanks, >>>> Dheeraj >>>> >>>> >>>> >>>> _______________________________________________ >>>> gdal-dev mailing list >>>> gdal-dev@lists.osgeo.org >>>> http://lists.osgeo.org/mailman/listinfo/gdal-dev >>>> >>> >>> >> >> >> -- >> >> > > > -- > Dheeraj Reddy Mamidi > >
_______________________________________________ gdal-dev mailing list gdal-dev@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/gdal-dev