Excel tables with Model Builder

Although this article is, primarily, aimed at novice
users of Model Builder, it can be helpful for more advanced users since, even
though, the procedure may seem simple at first, has a trap.

In our example, we will use an Excel table downloaded from
INSEE, with unemployment data by municipality from 2001 to 2012 ( download
link of the table
, link
of the download page
).

In addition to the Excel table, we will use the IGN Geofla Municipalities
layer (link of the download page).

We want to create a points layer with unemployment data.
To this end,  we will
use as information, in the Excel table, the INSEE town code (text field), and
the same code is found in the GeoFla Municipalities layer. In the
previous table, we find the XY coordinates of the municipalities centroid.

Therefore we will make a joint between the Excel table and
the Municipalities table based on the INSEE code, then, we will create an XY
event layer using the coordinates of the municipalities centroids.
We will save everything in a new feature class that will be
able to use directly later.

The central tool of this
model is the joint tool:   

Followed by the creation of a points layer with the XY
coordinates.

If you are new to Model Builder, you will try, in vain, to
join your Excel table and your municipalities table with the Joint tool.

To succeed, the first clue is given by the title of the entries
in the tool. Always read these headings
carefully as they will always save you time!
Let’s
start with the second heading: “Joint Table”. You
want to attach your data to the attribute table of the Municipalities layer.
You will not have any problem.
Now
let’s look at the first heading: “Layer name or tabular view”.
There it goes. A layer necessarily implies an
existing geometry (point, line, polygon). Your
Excel table is not a geographic layer. It is
not a table in the sense of ArcGis (dbf of a shape, table of a geodatabase,
…). And a “Tabular View”, what is it?

A tabular view is an interface between the file on your disk
and the ArcGis tools. You cannot access data directly
from external files, you have to go through a view, an interface.
This is what ArcMap does when you load an Excel table or a
text file, it creates a view making it available to you in the legend window.

It
is this “View” that matches the ArcMap table field name to an Excel
column in your sheet.
If
you do not have a view, ArcMap cannot use Excel columns.

Therefore, you need a tabular
view and you only have one Excel table at the moment. You need a tool to solve this
problem and this tool is “Generate tabular view ” which you will
find in the toolbox ” Tools of Data Management ” -> ” Layers
and tabular views
“.  

The trap is here!

Now we can configure the joint
of the two data sources:  

For the joints, pay attention to the order of the
entries, whether in Model Builder or in ArcMap. The
first entry is the table to which you want to add the attributes of the second.

If you now run the model you will have the unpleasant
surprise that the model cannot succeed because an error message tells you that
the input table does not have an OID (internal identifier). Even
if in interactive mode you can apply a joint to an Excel table, you cannot with
the geoprocessor tools.

To solve this problem, you must import the Excel table into
an ArcGis table.

You will use the Excel to
Table
command in the Data Conversion -> Excel toolbox .  

Model continuation

Now it remains to configure
the generation of points (XY events):  

But, this is not the end.

The events layer exists only within the current
document and, moreover, it does not have an internal identifier (OID).
This lack of identifier seriously limits the possibilities of
working on the layer. So you have to create a real
data layer, by registering this “events” layer in a geodatabase (or a
shape file).

We will use the ” Feature
class to feature class
” tool from the toolbox ” Conversion
tools
” -> Towards a geodatabase

We have finished building the flow model, still
remains to define the model parameters for its execution:

For input data, right-click the blue ovals and select Model
Parameter

For
the output layer, do the same.

For fields to be used as X and Y, right-click the Generate
XY Event Layer
-> Generate Variable -> Start Variable
tool and select X Field and Y Field .
Right-click
on the two blue ellipses and set them as model parameters.

We obtain the following model:  

In
order to use it as toolbox tool, rename the elements that will be presented as
parameters with explicit texts:

You
can save the template and run it from the toolbox:  

The
result of the model execution is as follows:

Leave a Reply

Your email address will not be published. Required fields are marked *