Take the 2-minute tour ×
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

enter image description here

Hi all

I have some home range estimates for fish that I made using the adehabitat pkg in R. However, a lot of them overlap land, so I need to subtract the area where they overlap with land ("BaseMap") from the total area to get the "water" estimate. I tried with one file, and I think if I use the intersect tool, then the calculate area tool in arcmap, I can get the area of intersection(overlap), and eventually subtract that from the total values I got from R. The problem is, I have a bunch of fish, and want to automate the process, or else I'll be stuck clicking my life away.

I've tried to build a model using the iterate feature classes option in ModelBuilder, but I don't think it's actually iterating. Plus, I get an error for Calculate areas: "000641 : Too few records for analysis. This tool requires at least feature(s) to compute results", which I don't understand because I've run it with only feature and it works fine. I'll attach my model attempt here. My goal was to calculate the total area of my KUD shapefiles, and then the area of intersection with the basemap, which I will eventually subtract. Any advice would be greatly appreciated.

share|improve this question
    
Added tags to the question and a link to adehabitat in CRAN. –  om_henners Mar 18 '12 at 6:43
add comment

migrated from stackoverflow.com Mar 17 '12 at 23:55

This question came from our site for professional and enthusiast programmers.

2 Answers

If I'm reading this right, you just want the total area of water for all fish, regardless of species (i.e. overlaps between species don't matter). If that's the case then you could use the Union tool in ArcGIS to flatten the habitat zones together. If you wanted to you could then follow with a Dissolve to get one big polygon.

Then you could use any one of Intersect, Erase or Union (again) to find out the area of overlap with the basemap, and therefor work out your final water estimate.

share|improve this answer
add comment

You can possibly do all this in R without needing to use ArcGIS. The rgeos package can do polygon overlays and compute intersections (and also do buffers, points-in-polygon tests etc etc).

You can read in your land data from Shapefiles using package "rgdal", and read raster data using package "raster".

Automating the process for 1, 2, 3, or 10,000 of anything is easy enough with a simple R loop.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.