Determining if raster can be clipped with polygon using ArcObjects? The Next CEO of Stack OverflowOutput raster extents when using the Spatial Analyst Extract By Mask tool to clip a raster“There is not enough memory” Error when accessing IArea.LabelPointExample of a “bleeding” raster in GIS?Clipping raster python script stops abruptly?Merging attributes from point with containing polygon?Cannot set boolean operator within ArcMap ModelBuilder as TrueGetting catalog path from IFeatureClass using ArcObjects?Clipping raster by mask layer polygon produces Nodata values in QGISST_Intersection between two raster returning different results depending on input orderDetermining validity of odd polygon using ArcObjects?

Reference request: Grassmannian and Plucker coordinates in type B, C, D

Flying from Cape Town to England and return to another province

How to avoid supervisors with prejudiced views?

What can we do to stop prior company from asking us questions?

What connection does MS Office have to Netscape Navigator?

Is this "being" usage is essential?

Does falling count as part of my movement?

Is there a way to bypass a component in series in a circuit if that component fails?

Is micro rebar a better way to reinforce concrete than rebar?

How to place nodes around a circle from some initial angle?

Where do students learn to solve polynomial equations these days?

A Man With a Stainless Steel Endoskeleton (like The Terminator) Fighting Cloaked Aliens Only He Can See

I want to make a picture in physics with TikZ. Can you help me?

How does Madhvacharya interpret Bhagavad Gita sloka 18.66?

WOW air has ceased operation, can I get my tickets refunded?

Is it ever safe to open a suspicious HTML file (e.g. email attachment)?

Can MTA send mail via a relay without being told so?

Make solar eclipses exceedingly rare, but still have new moons

Domestic-to-international connection at Orlando (MCO)

Is there a difference between "Fahrstuhl" and "Aufzug"

I believe this to be a fraud - hired, then asked to cash check and send cash as Bitcoin

No sign flipping while figuring out the emf of voltaic cell?

Why do airplanes bank sharply to the right after air-to-air refueling?

How did people program for Consoles with multiple CPUs?



Determining if raster can be clipped with polygon using ArcObjects?



The Next CEO of Stack OverflowOutput raster extents when using the Spatial Analyst Extract By Mask tool to clip a raster“There is not enough memory” Error when accessing IArea.LabelPointExample of a “bleeding” raster in GIS?Clipping raster python script stops abruptly?Merging attributes from point with containing polygon?Cannot set boolean operator within ArcMap ModelBuilder as TrueGetting catalog path from IFeatureClass using ArcObjects?Clipping raster by mask layer polygon produces Nodata values in QGISST_Intersection between two raster returning different results depending on input orderDetermining validity of odd polygon using ArcObjects?










2















Using ArcGIS 10.4.1 ArcObjects with geoprocessing. I have an input feature class with 100s of polygons and also one raster. I iterate through each polygon and clip the raster and then do additional work. It has performed well up to today. It seems some our polygons are outside of the raster area.



So my code in VB.NET looks like this:



'create an IVariantArray to hold the parameter values.
Dim parameters As IVariantArray = New VarArray

'populate the variant array with parameter values.
parameters.Add(inSurfaceFullName) 'input surface
parameters.Add("") 'rectangle to be used as the clipper
parameters.Add(outClippedRasterFullName) 'the output raster (ex Raster_3)
parameters.Add(inClippingPolyFullName) 'the input template dataset to be used as a clipper. in this case our sub feature class (NOT the input feature class)
parameters.Add("") 'all the pixels with the specified value will be set to NoData in the output raster dataset.
parameters.Add("ClippingGeometry") 'the raster dataset is clipped based on the perimeter of the polygon shape.

'execute the model tool by name.
Dim res As IGeoProcessorResult = GP.Execute("Clip_management", parameters, Nothing)


When it gets to the polygon that does not intersect the raster I get this error:



System.Runtime.InteropServices.COMException (0x80004005): Error HRESULT E_FAIL has been returned from a call to a COM component.
at ESRI.ArcGIS.Geoprocessing.GeoProcessorClass.Execute(String Name, IVariantArray ipValues, ITrackCancel pTrackCancel)


I have been looking in the ESRI SDK for a pre-process where I can check if the polygon intersects the raster with a True/False as the result. Is that something that exists? Or another way to check the intersection of a geometry with a raster?



The only thing I have tried is to check if the extents intersect but I can see where this may fail. For example a circle geometry just at the corner of the raster. the envelopes will intersect but the geometry and raster will not.




With help from @MichaelStimson, I ended up testing the raster envelope against the polygon geometry. Seems to work rather well. Here is the function I use to test all features in a feature class against the raster:



''' <summary>
''' this function will determine if the polygon feature class is outside of the raster boundary. it will test all features in the
''' feature class and return one result for the overall disjoint result.
''' <param name="pInSurfaceEnv">the input surface envelope</param>
''' <param name="pPolyDsName">the input polygon Dataset name object</param>
''' </summary>
''' <returns></returns>
''' <remarks></remarks>
Private Function IsFeatureClassDisjointWithRaster(pInSurfaceEnv As IEnvelope, pPolyDsName As IDatasetName) As Boolean
Try
Dim pRelOp As IRelationalOperator2 = CType(pInSurfaceEnv, IRelationalOperator2)
Dim pFeatClass As IFeatureClass = OpenFileFeatClassDataset(pPolyDsName.WorkspaceName.PathName, pPolyDsName.Name)
Dim pFeatCursor As IFeatureCursor = pFeatClass.Search(Nothing, True)

Dim IsFeatClassDisjoint As Boolean = True 'we assume the entire feature class is disjoint
Dim pFeature As IFeature = pFeatCursor.NextFeature
Do While Not pFeature Is Nothing
Dim IsFeatureDisjoint As Boolean = pRelOp.Disjoint(pFeature.ShapeCopy)

'we only need one feature to be non disjoint to make the entire feature class non disjoint
If Not IsFeatureDisjoint Then IsFeatClassDisjoint = False

'next feature
pFeature = pFeatCursor.NextFeature
Loop

Return IsFeatClassDisjoint
Catch ex As Exception
Throw
End Try
End Function









share|improve this question



















  • 1





    I can't speak to vb.net, but you could do a raster to polygon conversion and check against that output. If that's too expensive with a million tiny polygons then convert to a boolean raster before polygonizing.

    – mikewatt
    2 days ago











  • That method has merit @mikewatt, if you have a spatial analyst license you can perform raster to polygon on IsNull(your_raster) then with the query filter of "GRIDCODE = 0" delete searched rows (help.arcgis.com/en/sdk/10.0/arcobjects_net/componenthelp/… FeatureClass implements ITable) to remove the null portion... this is more time consuming but ensures there is actual data in the image the polygon intersects.

    – Michael Stimson
    2 days ago






  • 1





    Why not just catch and handle the error?

    – user2856
    2 days ago











  • Well I may have many polygons and they can be large. So wouldn't I be doing an extract twice for each polygon that is within the raster?

    – sinDizzy
    2 days ago











  • So test the extents are not disjoint, then do the clip and catch the exception where the envelopes intersect but the geometry and raster don't.

    – user2856
    2 days ago















2















Using ArcGIS 10.4.1 ArcObjects with geoprocessing. I have an input feature class with 100s of polygons and also one raster. I iterate through each polygon and clip the raster and then do additional work. It has performed well up to today. It seems some our polygons are outside of the raster area.



So my code in VB.NET looks like this:



'create an IVariantArray to hold the parameter values.
Dim parameters As IVariantArray = New VarArray

'populate the variant array with parameter values.
parameters.Add(inSurfaceFullName) 'input surface
parameters.Add("") 'rectangle to be used as the clipper
parameters.Add(outClippedRasterFullName) 'the output raster (ex Raster_3)
parameters.Add(inClippingPolyFullName) 'the input template dataset to be used as a clipper. in this case our sub feature class (NOT the input feature class)
parameters.Add("") 'all the pixels with the specified value will be set to NoData in the output raster dataset.
parameters.Add("ClippingGeometry") 'the raster dataset is clipped based on the perimeter of the polygon shape.

'execute the model tool by name.
Dim res As IGeoProcessorResult = GP.Execute("Clip_management", parameters, Nothing)


When it gets to the polygon that does not intersect the raster I get this error:



System.Runtime.InteropServices.COMException (0x80004005): Error HRESULT E_FAIL has been returned from a call to a COM component.
at ESRI.ArcGIS.Geoprocessing.GeoProcessorClass.Execute(String Name, IVariantArray ipValues, ITrackCancel pTrackCancel)


I have been looking in the ESRI SDK for a pre-process where I can check if the polygon intersects the raster with a True/False as the result. Is that something that exists? Or another way to check the intersection of a geometry with a raster?



The only thing I have tried is to check if the extents intersect but I can see where this may fail. For example a circle geometry just at the corner of the raster. the envelopes will intersect but the geometry and raster will not.




With help from @MichaelStimson, I ended up testing the raster envelope against the polygon geometry. Seems to work rather well. Here is the function I use to test all features in a feature class against the raster:



''' <summary>
''' this function will determine if the polygon feature class is outside of the raster boundary. it will test all features in the
''' feature class and return one result for the overall disjoint result.
''' <param name="pInSurfaceEnv">the input surface envelope</param>
''' <param name="pPolyDsName">the input polygon Dataset name object</param>
''' </summary>
''' <returns></returns>
''' <remarks></remarks>
Private Function IsFeatureClassDisjointWithRaster(pInSurfaceEnv As IEnvelope, pPolyDsName As IDatasetName) As Boolean
Try
Dim pRelOp As IRelationalOperator2 = CType(pInSurfaceEnv, IRelationalOperator2)
Dim pFeatClass As IFeatureClass = OpenFileFeatClassDataset(pPolyDsName.WorkspaceName.PathName, pPolyDsName.Name)
Dim pFeatCursor As IFeatureCursor = pFeatClass.Search(Nothing, True)

Dim IsFeatClassDisjoint As Boolean = True 'we assume the entire feature class is disjoint
Dim pFeature As IFeature = pFeatCursor.NextFeature
Do While Not pFeature Is Nothing
Dim IsFeatureDisjoint As Boolean = pRelOp.Disjoint(pFeature.ShapeCopy)

'we only need one feature to be non disjoint to make the entire feature class non disjoint
If Not IsFeatureDisjoint Then IsFeatClassDisjoint = False

'next feature
pFeature = pFeatCursor.NextFeature
Loop

Return IsFeatClassDisjoint
Catch ex As Exception
Throw
End Try
End Function









share|improve this question



















  • 1





    I can't speak to vb.net, but you could do a raster to polygon conversion and check against that output. If that's too expensive with a million tiny polygons then convert to a boolean raster before polygonizing.

    – mikewatt
    2 days ago











  • That method has merit @mikewatt, if you have a spatial analyst license you can perform raster to polygon on IsNull(your_raster) then with the query filter of "GRIDCODE = 0" delete searched rows (help.arcgis.com/en/sdk/10.0/arcobjects_net/componenthelp/… FeatureClass implements ITable) to remove the null portion... this is more time consuming but ensures there is actual data in the image the polygon intersects.

    – Michael Stimson
    2 days ago






  • 1





    Why not just catch and handle the error?

    – user2856
    2 days ago











  • Well I may have many polygons and they can be large. So wouldn't I be doing an extract twice for each polygon that is within the raster?

    – sinDizzy
    2 days ago











  • So test the extents are not disjoint, then do the clip and catch the exception where the envelopes intersect but the geometry and raster don't.

    – user2856
    2 days ago













2












2








2








Using ArcGIS 10.4.1 ArcObjects with geoprocessing. I have an input feature class with 100s of polygons and also one raster. I iterate through each polygon and clip the raster and then do additional work. It has performed well up to today. It seems some our polygons are outside of the raster area.



So my code in VB.NET looks like this:



'create an IVariantArray to hold the parameter values.
Dim parameters As IVariantArray = New VarArray

'populate the variant array with parameter values.
parameters.Add(inSurfaceFullName) 'input surface
parameters.Add("") 'rectangle to be used as the clipper
parameters.Add(outClippedRasterFullName) 'the output raster (ex Raster_3)
parameters.Add(inClippingPolyFullName) 'the input template dataset to be used as a clipper. in this case our sub feature class (NOT the input feature class)
parameters.Add("") 'all the pixels with the specified value will be set to NoData in the output raster dataset.
parameters.Add("ClippingGeometry") 'the raster dataset is clipped based on the perimeter of the polygon shape.

'execute the model tool by name.
Dim res As IGeoProcessorResult = GP.Execute("Clip_management", parameters, Nothing)


When it gets to the polygon that does not intersect the raster I get this error:



System.Runtime.InteropServices.COMException (0x80004005): Error HRESULT E_FAIL has been returned from a call to a COM component.
at ESRI.ArcGIS.Geoprocessing.GeoProcessorClass.Execute(String Name, IVariantArray ipValues, ITrackCancel pTrackCancel)


I have been looking in the ESRI SDK for a pre-process where I can check if the polygon intersects the raster with a True/False as the result. Is that something that exists? Or another way to check the intersection of a geometry with a raster?



The only thing I have tried is to check if the extents intersect but I can see where this may fail. For example a circle geometry just at the corner of the raster. the envelopes will intersect but the geometry and raster will not.




With help from @MichaelStimson, I ended up testing the raster envelope against the polygon geometry. Seems to work rather well. Here is the function I use to test all features in a feature class against the raster:



''' <summary>
''' this function will determine if the polygon feature class is outside of the raster boundary. it will test all features in the
''' feature class and return one result for the overall disjoint result.
''' <param name="pInSurfaceEnv">the input surface envelope</param>
''' <param name="pPolyDsName">the input polygon Dataset name object</param>
''' </summary>
''' <returns></returns>
''' <remarks></remarks>
Private Function IsFeatureClassDisjointWithRaster(pInSurfaceEnv As IEnvelope, pPolyDsName As IDatasetName) As Boolean
Try
Dim pRelOp As IRelationalOperator2 = CType(pInSurfaceEnv, IRelationalOperator2)
Dim pFeatClass As IFeatureClass = OpenFileFeatClassDataset(pPolyDsName.WorkspaceName.PathName, pPolyDsName.Name)
Dim pFeatCursor As IFeatureCursor = pFeatClass.Search(Nothing, True)

Dim IsFeatClassDisjoint As Boolean = True 'we assume the entire feature class is disjoint
Dim pFeature As IFeature = pFeatCursor.NextFeature
Do While Not pFeature Is Nothing
Dim IsFeatureDisjoint As Boolean = pRelOp.Disjoint(pFeature.ShapeCopy)

'we only need one feature to be non disjoint to make the entire feature class non disjoint
If Not IsFeatureDisjoint Then IsFeatClassDisjoint = False

'next feature
pFeature = pFeatCursor.NextFeature
Loop

Return IsFeatClassDisjoint
Catch ex As Exception
Throw
End Try
End Function









share|improve this question
















Using ArcGIS 10.4.1 ArcObjects with geoprocessing. I have an input feature class with 100s of polygons and also one raster. I iterate through each polygon and clip the raster and then do additional work. It has performed well up to today. It seems some our polygons are outside of the raster area.



So my code in VB.NET looks like this:



'create an IVariantArray to hold the parameter values.
Dim parameters As IVariantArray = New VarArray

'populate the variant array with parameter values.
parameters.Add(inSurfaceFullName) 'input surface
parameters.Add("") 'rectangle to be used as the clipper
parameters.Add(outClippedRasterFullName) 'the output raster (ex Raster_3)
parameters.Add(inClippingPolyFullName) 'the input template dataset to be used as a clipper. in this case our sub feature class (NOT the input feature class)
parameters.Add("") 'all the pixels with the specified value will be set to NoData in the output raster dataset.
parameters.Add("ClippingGeometry") 'the raster dataset is clipped based on the perimeter of the polygon shape.

'execute the model tool by name.
Dim res As IGeoProcessorResult = GP.Execute("Clip_management", parameters, Nothing)


When it gets to the polygon that does not intersect the raster I get this error:



System.Runtime.InteropServices.COMException (0x80004005): Error HRESULT E_FAIL has been returned from a call to a COM component.
at ESRI.ArcGIS.Geoprocessing.GeoProcessorClass.Execute(String Name, IVariantArray ipValues, ITrackCancel pTrackCancel)


I have been looking in the ESRI SDK for a pre-process where I can check if the polygon intersects the raster with a True/False as the result. Is that something that exists? Or another way to check the intersection of a geometry with a raster?



The only thing I have tried is to check if the extents intersect but I can see where this may fail. For example a circle geometry just at the corner of the raster. the envelopes will intersect but the geometry and raster will not.




With help from @MichaelStimson, I ended up testing the raster envelope against the polygon geometry. Seems to work rather well. Here is the function I use to test all features in a feature class against the raster:



''' <summary>
''' this function will determine if the polygon feature class is outside of the raster boundary. it will test all features in the
''' feature class and return one result for the overall disjoint result.
''' <param name="pInSurfaceEnv">the input surface envelope</param>
''' <param name="pPolyDsName">the input polygon Dataset name object</param>
''' </summary>
''' <returns></returns>
''' <remarks></remarks>
Private Function IsFeatureClassDisjointWithRaster(pInSurfaceEnv As IEnvelope, pPolyDsName As IDatasetName) As Boolean
Try
Dim pRelOp As IRelationalOperator2 = CType(pInSurfaceEnv, IRelationalOperator2)
Dim pFeatClass As IFeatureClass = OpenFileFeatClassDataset(pPolyDsName.WorkspaceName.PathName, pPolyDsName.Name)
Dim pFeatCursor As IFeatureCursor = pFeatClass.Search(Nothing, True)

Dim IsFeatClassDisjoint As Boolean = True 'we assume the entire feature class is disjoint
Dim pFeature As IFeature = pFeatCursor.NextFeature
Do While Not pFeature Is Nothing
Dim IsFeatureDisjoint As Boolean = pRelOp.Disjoint(pFeature.ShapeCopy)

'we only need one feature to be non disjoint to make the entire feature class non disjoint
If Not IsFeatureDisjoint Then IsFeatClassDisjoint = False

'next feature
pFeature = pFeatCursor.NextFeature
Loop

Return IsFeatClassDisjoint
Catch ex As Exception
Throw
End Try
End Function






raster polygon arcobjects clip intersect






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited yesterday









Hornbydd

27k32957




27k32957










asked 2 days ago









sinDizzysinDizzy

262110




262110







  • 1





    I can't speak to vb.net, but you could do a raster to polygon conversion and check against that output. If that's too expensive with a million tiny polygons then convert to a boolean raster before polygonizing.

    – mikewatt
    2 days ago











  • That method has merit @mikewatt, if you have a spatial analyst license you can perform raster to polygon on IsNull(your_raster) then with the query filter of "GRIDCODE = 0" delete searched rows (help.arcgis.com/en/sdk/10.0/arcobjects_net/componenthelp/… FeatureClass implements ITable) to remove the null portion... this is more time consuming but ensures there is actual data in the image the polygon intersects.

    – Michael Stimson
    2 days ago






  • 1





    Why not just catch and handle the error?

    – user2856
    2 days ago











  • Well I may have many polygons and they can be large. So wouldn't I be doing an extract twice for each polygon that is within the raster?

    – sinDizzy
    2 days ago











  • So test the extents are not disjoint, then do the clip and catch the exception where the envelopes intersect but the geometry and raster don't.

    – user2856
    2 days ago












  • 1





    I can't speak to vb.net, but you could do a raster to polygon conversion and check against that output. If that's too expensive with a million tiny polygons then convert to a boolean raster before polygonizing.

    – mikewatt
    2 days ago











  • That method has merit @mikewatt, if you have a spatial analyst license you can perform raster to polygon on IsNull(your_raster) then with the query filter of "GRIDCODE = 0" delete searched rows (help.arcgis.com/en/sdk/10.0/arcobjects_net/componenthelp/… FeatureClass implements ITable) to remove the null portion... this is more time consuming but ensures there is actual data in the image the polygon intersects.

    – Michael Stimson
    2 days ago






  • 1





    Why not just catch and handle the error?

    – user2856
    2 days ago











  • Well I may have many polygons and they can be large. So wouldn't I be doing an extract twice for each polygon that is within the raster?

    – sinDizzy
    2 days ago











  • So test the extents are not disjoint, then do the clip and catch the exception where the envelopes intersect but the geometry and raster don't.

    – user2856
    2 days ago







1




1





I can't speak to vb.net, but you could do a raster to polygon conversion and check against that output. If that's too expensive with a million tiny polygons then convert to a boolean raster before polygonizing.

– mikewatt
2 days ago





I can't speak to vb.net, but you could do a raster to polygon conversion and check against that output. If that's too expensive with a million tiny polygons then convert to a boolean raster before polygonizing.

– mikewatt
2 days ago













That method has merit @mikewatt, if you have a spatial analyst license you can perform raster to polygon on IsNull(your_raster) then with the query filter of "GRIDCODE = 0" delete searched rows (help.arcgis.com/en/sdk/10.0/arcobjects_net/componenthelp/… FeatureClass implements ITable) to remove the null portion... this is more time consuming but ensures there is actual data in the image the polygon intersects.

– Michael Stimson
2 days ago





That method has merit @mikewatt, if you have a spatial analyst license you can perform raster to polygon on IsNull(your_raster) then with the query filter of "GRIDCODE = 0" delete searched rows (help.arcgis.com/en/sdk/10.0/arcobjects_net/componenthelp/… FeatureClass implements ITable) to remove the null portion... this is more time consuming but ensures there is actual data in the image the polygon intersects.

– Michael Stimson
2 days ago




1




1





Why not just catch and handle the error?

– user2856
2 days ago





Why not just catch and handle the error?

– user2856
2 days ago













Well I may have many polygons and they can be large. So wouldn't I be doing an extract twice for each polygon that is within the raster?

– sinDizzy
2 days ago





Well I may have many polygons and they can be large. So wouldn't I be doing an extract twice for each polygon that is within the raster?

– sinDizzy
2 days ago













So test the extents are not disjoint, then do the clip and catch the exception where the envelopes intersect but the geometry and raster don't.

– user2856
2 days ago





So test the extents are not disjoint, then do the clip and catch the exception where the envelopes intersect but the geometry and raster don't.

– user2856
2 days ago










1 Answer
1






active

oldest

votes


















0














First you can start by obtaining the extent of the raster (IRasterDataset) with IGeodataset.Extent which returns an IEnvelope which can be cast as an IRelationalOperator.



For each polygon geometry (IGeometry) then test your relational operator for Disjoint which is quicker than trying to find Overlaps. If IRelationalOperator.Disjoint then the polygon does not intersect the extent of the raster so skip to the next one.






share|improve this answer























  • Thanks for the input. As per my post "The only thing I have tried is to check if the extents intersect but I can see where this may fail. For example a circle geometry just at the corner of the raster. the envelopes will intersect but the geometry and raster will not."

    – sinDizzy
    2 days ago











  • Do you have spatial analyst extension? Does the suggestion by mikewatt sound like a possibility?

    – Michael Stimson
    2 days ago











  • I misread the message. I think it will work. I will test with my data.

    – sinDizzy
    2 days ago











Your Answer








StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "79"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);













draft saved

draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fgis.stackexchange.com%2fquestions%2f316932%2fdetermining-if-raster-can-be-clipped-with-polygon-using-arcobjects%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown

























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes









0














First you can start by obtaining the extent of the raster (IRasterDataset) with IGeodataset.Extent which returns an IEnvelope which can be cast as an IRelationalOperator.



For each polygon geometry (IGeometry) then test your relational operator for Disjoint which is quicker than trying to find Overlaps. If IRelationalOperator.Disjoint then the polygon does not intersect the extent of the raster so skip to the next one.






share|improve this answer























  • Thanks for the input. As per my post "The only thing I have tried is to check if the extents intersect but I can see where this may fail. For example a circle geometry just at the corner of the raster. the envelopes will intersect but the geometry and raster will not."

    – sinDizzy
    2 days ago











  • Do you have spatial analyst extension? Does the suggestion by mikewatt sound like a possibility?

    – Michael Stimson
    2 days ago











  • I misread the message. I think it will work. I will test with my data.

    – sinDizzy
    2 days ago















0














First you can start by obtaining the extent of the raster (IRasterDataset) with IGeodataset.Extent which returns an IEnvelope which can be cast as an IRelationalOperator.



For each polygon geometry (IGeometry) then test your relational operator for Disjoint which is quicker than trying to find Overlaps. If IRelationalOperator.Disjoint then the polygon does not intersect the extent of the raster so skip to the next one.






share|improve this answer























  • Thanks for the input. As per my post "The only thing I have tried is to check if the extents intersect but I can see where this may fail. For example a circle geometry just at the corner of the raster. the envelopes will intersect but the geometry and raster will not."

    – sinDizzy
    2 days ago











  • Do you have spatial analyst extension? Does the suggestion by mikewatt sound like a possibility?

    – Michael Stimson
    2 days ago











  • I misread the message. I think it will work. I will test with my data.

    – sinDizzy
    2 days ago













0












0








0







First you can start by obtaining the extent of the raster (IRasterDataset) with IGeodataset.Extent which returns an IEnvelope which can be cast as an IRelationalOperator.



For each polygon geometry (IGeometry) then test your relational operator for Disjoint which is quicker than trying to find Overlaps. If IRelationalOperator.Disjoint then the polygon does not intersect the extent of the raster so skip to the next one.






share|improve this answer













First you can start by obtaining the extent of the raster (IRasterDataset) with IGeodataset.Extent which returns an IEnvelope which can be cast as an IRelationalOperator.



For each polygon geometry (IGeometry) then test your relational operator for Disjoint which is quicker than trying to find Overlaps. If IRelationalOperator.Disjoint then the polygon does not intersect the extent of the raster so skip to the next one.







share|improve this answer












share|improve this answer



share|improve this answer










answered 2 days ago









Michael StimsonMichael Stimson

21.7k22460




21.7k22460












  • Thanks for the input. As per my post "The only thing I have tried is to check if the extents intersect but I can see where this may fail. For example a circle geometry just at the corner of the raster. the envelopes will intersect but the geometry and raster will not."

    – sinDizzy
    2 days ago











  • Do you have spatial analyst extension? Does the suggestion by mikewatt sound like a possibility?

    – Michael Stimson
    2 days ago











  • I misread the message. I think it will work. I will test with my data.

    – sinDizzy
    2 days ago

















  • Thanks for the input. As per my post "The only thing I have tried is to check if the extents intersect but I can see where this may fail. For example a circle geometry just at the corner of the raster. the envelopes will intersect but the geometry and raster will not."

    – sinDizzy
    2 days ago











  • Do you have spatial analyst extension? Does the suggestion by mikewatt sound like a possibility?

    – Michael Stimson
    2 days ago











  • I misread the message. I think it will work. I will test with my data.

    – sinDizzy
    2 days ago
















Thanks for the input. As per my post "The only thing I have tried is to check if the extents intersect but I can see where this may fail. For example a circle geometry just at the corner of the raster. the envelopes will intersect but the geometry and raster will not."

– sinDizzy
2 days ago





Thanks for the input. As per my post "The only thing I have tried is to check if the extents intersect but I can see where this may fail. For example a circle geometry just at the corner of the raster. the envelopes will intersect but the geometry and raster will not."

– sinDizzy
2 days ago













Do you have spatial analyst extension? Does the suggestion by mikewatt sound like a possibility?

– Michael Stimson
2 days ago





Do you have spatial analyst extension? Does the suggestion by mikewatt sound like a possibility?

– Michael Stimson
2 days ago













I misread the message. I think it will work. I will test with my data.

– sinDizzy
2 days ago





I misread the message. I think it will work. I will test with my data.

– sinDizzy
2 days ago

















draft saved

draft discarded
















































Thanks for contributing an answer to Geographic Information Systems Stack Exchange!


  • Please be sure to answer the question. Provide details and share your research!

But avoid


  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.

To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fgis.stackexchange.com%2fquestions%2f316932%2fdetermining-if-raster-can-be-clipped-with-polygon-using-arcobjects%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Romeo and Juliet ContentsCharactersSynopsisSourcesDate and textThemes and motifsCriticism and interpretationLegacyScene by sceneSee alsoNotes and referencesSourcesExternal linksNavigation menu"Consumer Price Index (estimate) 1800–"10.2307/28710160037-3222287101610.1093/res/II.5.31910.2307/45967845967810.2307/2869925286992510.1525/jams.1982.35.3.03a00050"Dada Masilo: South African dancer who breaks the rules"10.1093/res/os-XV.57.1610.2307/28680942868094"Sweet Sorrow: Mann-Korman's Romeo and Juliet Closes Sept. 5 at MN's Ordway"the original10.2307/45957745957710.1017/CCOL0521570476.009"Ram Leela box office collections hit massive Rs 100 crore, pulverises prediction"Archived"Broadway Revival of Romeo and Juliet, Starring Orlando Bloom and Condola Rashad, Will Close Dec. 8"Archived10.1075/jhp.7.1.04hon"Wherefore art thou, Romeo? To make us laugh at Navy Pier"the original10.1093/gmo/9781561592630.article.O006772"Ram-leela Review Roundup: Critics Hail Film as Best Adaptation of Romeo and Juliet"Archived10.2307/31946310047-77293194631"Romeo and Juliet get Twitter treatment""Juliet's Nurse by Lois Leveen""Romeo and Juliet: Orlando Bloom's Broadway Debut Released in Theaters for Valentine's Day"Archived"Romeo and Juliet Has No Balcony"10.1093/gmo/9781561592630.article.O00778110.2307/2867423286742310.1076/enst.82.2.115.959510.1080/00138380601042675"A plague o' both your houses: error in GCSE exam paper forces apology""Juliet of the Five O'Clock Shadow, and Other Wonders"10.2307/33912430027-4321339124310.2307/28487440038-7134284874410.2307/29123140149-661129123144728341M"Weekender Guide: Shakespeare on The Drive""balcony"UK public library membership"romeo"UK public library membership10.1017/CCOL9780521844291"Post-Zionist Critique on Israel and the Palestinians Part III: Popular Culture"10.2307/25379071533-86140377-919X2537907"Capulets and Montagues: UK exam board admit mixing names up in Romeo and Juliet paper"Istoria Novellamente Ritrovata di Due Nobili Amanti2027/mdp.390150822329610820-750X"GCSE exam error: Board accidentally rewrites Shakespeare"10.2307/29176390149-66112917639"Exam board apologises after error in English GCSE paper which confused characters in Shakespeare's Romeo and Juliet""From Mariotto and Ganozza to Romeo and Guilietta: Metamorphoses of a Renaissance Tale"10.2307/37323537323510.2307/2867455286745510.2307/28678912867891"10 Questions for Taylor Swift"10.2307/28680922868092"Haymarket Theatre""The Zeffirelli Way: Revealing Talk by Florentine Director""Michael Smuin: 1938-2007 / Prolific dance director had showy career"The Life and Art of Edwin BoothRomeo and JulietRomeo and JulietRomeo and JulietRomeo and JulietEasy Read Romeo and JulietRomeo and Julieteeecb12003684p(data)4099369-3n8211610759dbe00d-a9e2-41a3-b2c1-977dd692899302814385X313670221313670221

Creating closest line along the point''s azimuth using PostgreSQL Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern) Announcing the arrival of Valued Associate #679: Cesar Manara Unicorn Meta Zoo #1: Why another podcast?Drawing line between points at specific distance in PostGIS?How to efficiently find the closest point over the dateline?How to find the nearest point by using PostGIS function?PostGIS nearest point with LATERAL JOIN in PostgreSQL 9.3+Creating a table and inserting selected streets using plpgsql functionsCreating a table that stores Distances and other columnSaving select query results (year wise) from PostgreSQL/PostGIS to text filesWhat is the information behind this geometry?How to give start and end vertex ids dynamically in pgr_dijkstra?Point to Polygon nearest distance DS_distance is not using geography index & knn <-> or <#> does not give result in orderLine to point conversion with start point and end point detection?

Crop image to path created in TikZ? Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern)Crop an inserted image?TikZ pictures does not appear in posterImage behind and beyond crop marks?Tikz picture as large as possible on A4 PageTransparency vs image compression dilemmaHow to crop background from image automatically?Image does not cropTikzexternal capturing crop marks when externalizing pgfplots?How to include image path that contains a dollar signCrop image with left size given