[GIS] Converting Excel Sheet to Shapefile without XY Coordinates

arcgis-10.2arcgis-desktopconvertexcelmodelbuilder

I am currently trying to build a model that will join two excel tables (without xy coordinates) to one shapefile, which will save some time on a very long process that I have to repeatedly do each day at work. I know that there is a way to manually do it if I right-click the shapefile in the table of contents and add a join from that menu; however, there seems to be no way of doing it in the ModelBuilder.

I am guessing it is a similar situation to the two different merge options in the toolbox and in the editor drop down menu, where they share the same name yet function differently. Therefore, I was wondering if there was a way to make a conversion of an excel table to a shapefile in model builder without coordinates? I know that there is a new tool in ArcGIS 10.2 that would probably help me with this, but the updates are not easily accessed at my work (I am currently using 10.0), so are there other ways of doing this?

This may seem like a simple question, but things are a lot more difficult using model builder due to the fact that I need the process to work automatically each time I use the tool and cannot think of a way that would add xy coordinates and delete them each time I use the tool while not messing with the structure of the original input shapefile. What are my options?

Best Answer

I think you might use Add Join as mentioned above. Yet I belive that Join Field will be of a better use. It simple works as Add join, but adds flexibility to the process, enabling to add only some fields, or all of them. Otherwise, "regular join" will join all fields, which can make quite a mess with big datasets.

To elaborate on the "conversion" to Shapefile. This would be a crooked way of handling this situation. Shape files are first of all spatial; that is to "make up" some (x,y) coords just to add it would be inefficient and basically wrong. In addition, using merge would not aid your problem, since merge binds rows together, and you are looking to bind coloumns.

edit - due to comments:

Note that when using join in a model, whether it is join field or other join tools, that data is being joined to the original table, i.e. there is no new file being generated. For example:

If you start with Shapefile and join a table to it within a model you will see the output as shapefile(2), or (3) etc. That is, the same input file after you ran an operation on it. Therefore setting shapefile(2) as a model parameter would not help, since there is no new file as an output.

If you insist on a new file for an output, I suggest you use the Copy Features tool, to copy the file after you have joined a table/field. Than you can set its output as a model parameter.

Related Question