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
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!
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.
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.
is this “View” that matches the ArcMap table field name to an Excel
column in your sheet.
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 .
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
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
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 .
on the two blue ellipses and set them as model parameters.
We obtain the following model:
order to use it as toolbox tool, rename the elements that will be presented as
parameters with explicit texts:
can save the template and run it from the toolbox:
result of the model execution is as follows:
Thank you for this