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.

We want to obtain the specific place of the boundaries of a shapefile. We want to be able to get the points of each polygon corresponding to a specific place in order to use these data in an algorithm. GRASS is the GIS that we are using. We have the elevation map from SRTM and the vector map containing the boundaries from http://www.unsalb.org/. Can we query/retrieve the points contained in a specific boundary for all the polygons in the vector map?

Sorry first time to use a GIS

share|improve this question
2  
specifically, do you want one elevation point for each polygon? or "ALL" the elevation points (from SRTM) contained by each polygon? Then what? You want to create a new shapefile? output a text file?? –  Brad Nesom Jan 26 '11 at 12:44
    
Actually our plan is to make a simulation system of rainfall. The rainfall inputs are per town (1 town one = polygon). So that would make all of the points per polygon to be compared with the rainfall input for that specific town. The output would be either a text file or directly to our program (in C#). Thanks. –  teamAngat Jan 27 '11 at 6:56

2 Answers 2

up vote 0 down vote accepted

You could take your town polygon dataset with rainfall attribute and rasterize it using something like:

v.to.rast input=towns output=rainfall_raster use=attr type=area column=rainfall 

Then you can take the resulting rainfall_raster and compare it to the elevation map using raster calculator.

share|improve this answer

Yes, an easy way to do that is to use v.overlay or v.select:

v.overlay ainput=map1 binput=map2 output=map_out operator=and

or

v.select ainput=map1 binput=map2 output=map_out

share|improve this answer
    
Sorry but I don't get it. I don't know if an overlay would help us querying the polygons –  teamAngat Jan 27 '11 at 6:59
1  
The overlay will result in features from binput that are inside ainput. You can try v.select too. I've edited the answer. Regards. –  Pablo Jan 27 '11 at 11:38

Your Answer

 
discard

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.