I have a map with different polygons (118). Each of this polygons represent diferent vegetation types.

For each of those polygons I have data of which species there is and how abundant they are (the abundance is measured with a scale from 1 to 3).

I would like to "link" (I am sorry if its not the correct way of name it) the data of which species and abundance there is in each of those polygons.

I would like afterwards to be able of selecting the different polygons containing the same abundance and species.

In the polygons I created there is no atributes associated other than (FID, shape and Id. the 3 of them created alone by the program when I drew them) and the tables I have in excel with the data I want to "link" to the polygons contain a column called species and another abundance.

As you can see, I'm pretty new using the program...

As I have tried to do what you all suggest in the comments down here, and I couldn't achieve what I was wanting to do (provably because of my bad explanation before...)

I leave a picture: As you can see in the attribute table, that is how every attribute table of each polygon (which represents one area) looks like. On the right there is how I have my data in excel. Could you please suggest something I could do in order to add to the polygons attribute table the data belonging of species and its abundances (polygon number 1 has to have all the species (Acer mons, Acer pseu, Acer repens….) and its abundance (which are the numbers of the row Area1).

  • Thanks for posting the additional picture. It looks like you have a separate polygon shapefile for each species - is that correct? (The attribute table showing in your screenshot only has 1 polygon). Also, I'm not sure if the layout of your table will work in its current form for the join. I'll try to look at it a bit more. – Sara Barnes Oct 2 '15 at 18:44
  • Related question: gis.stackexchange.com/questions/165135/… – Sara Barnes Oct 5 '15 at 15:14

To link the polygon shapes you have created to the data in your table, you will need to perform a Join.

For the join to work, you need to have a field that is the same between your polygon attribute table and your Excel spreadsheet. This will require some manual work on your part before you do the join, but after that initial work is done, you will be able to perform the join and bring all of the attributes from your Excel table into your polygon shapefile.

Two Options for a Field to Base Join On

Depending on your data, you can either use 1) an existing field from your Excel table and copy that into your polygon shapefile attribute table or 2) you can create a new field in both the spreadsheet and the polygon shapefile to use for the join.

Depending on how many different species you have and how long the names are, it may be easier to go with Option 2 and create a simple new field in both the shapefile and Excel file to base your join on.

For this, you could do something like assign a number to each species (1, 2, 3, etc.) in a new column in the Excel file and then create a new field in the polygon attribute table and add the corresponding numbers there. Once you do this, a simple join will bring the rest of your attributes into your polygon shapefile.

Here is an example of what your data could look like before a join. The attribute table is docked on the left and the Excel file is shown on the right. "Join" is the name of the column/field that is common in both the table and the shapefile. enter image description here

Perform Join

Once you have a common field in your two files (spreadsheet and shapefile), you can perform a join. This video gives a good overview of how to join. Others have linked to ESRI's page which is also helpful.

Here is an example of what your joined table may look like (with symbology applied too). This symbology is Categories, "Unique Values, many fields." enter image description here


Once your join is complete, you can do various things with the symbology tab in the layer properties. At the end of the video, they show one example, but there are many ways you can symbolize your data. If you run into any questions doing that, feel free to post a new question.

  • I created a new column in excel with a name, I added same name in the attribute table in the shapefile, I apply the Join and then in the attribute table appears that column with the new name and all the table "imported" from excel but without any information. It says <Null>. I did as you mentioned, the new column giving one number to each species – Marta Bosque Sep 29 '15 at 14:28
  • @MartaBosque Did you fill any information into the new columns you created in Excel and the shapefile? Having the matching columns is good, but you need to have matching data in them so ArcMap will know which rows from the Excel table to join to the rows in the shapefile. I will add a picture in my answer of what I mean. – Sara Barnes Sep 29 '15 at 14:30

If I understand correct, you want to join your polygon shapefile with an external species table. First, you have to determine which field is common between both datasets. For instance, you might have a column named "type" in your polygon shapefile and a column in your external table that contains the same attributes. Or, you might have a common ID field in both tables. Once you determine the common field in both datasets, you can do join the polygon to the external table by this attribute. Follow these instructions to do the join. After that you can right-click on the joined layer > Data > Export data to save a copy of the polygons with the joined attributes.

Good luck!

  • From @Marta's question, it sounds like she does not have any data that is common between the shapefile and table so she'll have to create it. I gave some ideas of how to do that in my answer. – Sara Barnes Sep 29 '15 at 13:58

You should probably perform a join since the data is in XLS format. That will allow you to join the ID of the polygon to the ID listed in the excel table.

Here is a link describing the join for QGIS if you are using open source.

The "Essentials of joining tables" link will show you how it can apply to your situation (albeit using states, rainfall and population numbers).


As Sara noted, you need to have a column in your excel data that will link to the correct polygon.

Also, if you have multiple species per polygon you might consider creating a pivot table on your excel data based on the polygon field, and then perform a join on the polygon field. Then you would have access all the species for that one polygon at once. See the image below to see an example of how the pivot table might help you.

enter image description here

  • 1
    It sounds like @Marta doesn't have a common field (like ID) that you mention so she'll have to create one. – Sara Barnes Sep 29 '15 at 13:59
  • 1
    Sara is right...I'm trying to do different things you all guys suggested to see if I can do it! :D – Marta Bosque Sep 29 '15 at 14:28
  • 1
    @MartaBosque I updated this answer to show how you might use a pivot table to help show your data if there are multiple species per polygon. – Barrett Sep 29 '15 at 15:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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