Select to view content in your preferred language

Extract data to multipoint

716
3
Jump to solution
07-01-2013 06:54 AM
CatherineThompson
Emerging Contributor
Is there a way to specify which column you want to extract from your Raster layer? Currently it's just adding pixel values to my points which is pretty much useless? Yet if I extract to points individually, I can get multiple columns but for some raster files it just creates empty columns or half sentences or just random symbols.

Any help would be gratefully received.
0 Kudos
1 Solution

Accepted Solutions
curtvprice
MVP Esteemed Contributor
Is there a way to specify which column you want to extract from your Raster layer?


I'm assuming you're referring to the Extract Multi-Values To Point tool.

I think by far the easiest way to do this is extract by the VALUE and then use the Join Field tool to copy over the field(s) you want from the input raster table.

Another option is to use the Sample tool inside the Raster Calculator tool. This allows you to use the Lookup tool to get those values for the inputs. This will probably take longer than the first approach.

samps = Sample([Lookup("grid1","field1"), Lookup("grid1","field2")],      "samp_points", "out_tbl")


I discourage people from using raster attribute tables - there are both performance and data design reasons for this. Spatially complex data and attribute lookups can slow down overlays and complicate processing. Map algebra is much easier to read and write, and more powerful when the raster layers are just simple value grids with no attributes except VALUE and COUNT. If you need attributes, you can always join them back in when needed.

View solution in original post

0 Kudos
3 Replies
curtvprice
MVP Esteemed Contributor
Is there a way to specify which column you want to extract from your Raster layer?


I'm assuming you're referring to the Extract Multi-Values To Point tool.

I think by far the easiest way to do this is extract by the VALUE and then use the Join Field tool to copy over the field(s) you want from the input raster table.

Another option is to use the Sample tool inside the Raster Calculator tool. This allows you to use the Lookup tool to get those values for the inputs. This will probably take longer than the first approach.

samps = Sample([Lookup("grid1","field1"), Lookup("grid1","field2")],      "samp_points", "out_tbl")


I discourage people from using raster attribute tables - there are both performance and data design reasons for this. Spatially complex data and attribute lookups can slow down overlays and complicate processing. Map algebra is much easier to read and write, and more powerful when the raster layers are just simple value grids with no attributes except VALUE and COUNT. If you need attributes, you can always join them back in when needed.
0 Kudos
CatherineThompson
Emerging Contributor
Hurrah! The Add Join function has totally solved my problems. 😉 Many thanks.

So in this instance, I had created a number of rasters for each useful field from a multi field shape file so I could extract those values to a point. Is this a horribly crude way of doing this? I'm sure that there must be a way to extract the data for different fields from the original shape file, but I am not familiar with it? Maybe you'll be able to help me?

Thanks in anticipation.
0 Kudos
curtvprice
MVP Esteemed Contributor
  I'm sure that there must be a way to extract the data for different fields from the original shape file, but I am not familiar with it? 


Either Join by Location or Identity (points against polygons) should create a new dataset with all the fields from the polygons added to the point input. In this case raster may not be faster.
0 Kudos