Creating a Mapbook Street Index, part III (TypeError)

So, the tool finally ran-almost.  The next (and spoiler alert: last) error message that I received was

TypeError: sequence item 0: expected string, int found

This was the easiest to deal with-I had used a attribute (field) from my Index Layer that was an integer (i.e. page number as a short) instead of a string (i.e. page number as text).  So I added a text field (called page name) to my Index Layer and used field calculator to copy the page number number as the page name number.  Then, I re-ran the tool and it worked just fin(ally).

 

Creating a Mapbook Street Index, part II (numpy)

That’s right-I got ReportLab installed and the Create Street Index Report tool still won’t run.  Now, I’m missing numpy.

So, after a bunch of chasing my tail, I found that you simply need an installation of Python (ArcGIS default appears to be Python 2.7, 32 bit), the correct matching ReportLab (2.7/32bit), and installing numpy [pip install numpy].

I mistakenly (but with the best intentions) installed a 64 bit version of ReportLab because my machine is 64 bit.  Unfortunately, that bit of misapplied bit of common sense had ArcGIS, Python, and ReportLab fighting each other.

So, after uninstalling then installing the correct version of ReportLab, the tool seems to operating as expected-except, it’s not.

Creating a Mapbook Street Index, part I (ReportLab)

I’ve been working on updating the department’s mapbook.  Most of the work is straightforward (if a bit tedious).  But, a major roadblock (or at least some speed bumps) occurred when trying to use an ESRI resource.  My desired task: creating a street index for my mapbook.

After a little Google-jitsu, I found a number of resources.  The most promising of these is ESRI’s Fire Run Book.  This package provides some nice demos and a copy of ESRI’s Local Government Toolbox-lots of neat things here.

But, before we can play with Create Street Index Report tool, we need a tool called

No problem, a quick download and install later and…then an error:

“reportlab python version 2.7 required, which was not found in the registry”

The answer can be found-along with most other answers, at StackOverflow, who tell us we need to add a registry key so everyone knows where we have Python installed.  For me, I needed to add four nested keys, with a final key structure of

HKEY_CURRENT_USER\Software\Python\PythonCore\2.7\InstallPath

and a default value of c:\python27

Your values may vary, so as always, please know what you’re doing before you modify your registry settings.

With that change, reportlab installed with no problem.  What did cause a problem was the complete lack of numpy on my machine…

A brief introduction

Hello, my name is David and I’m a Fire Chief.  I’ve decided to start a blog to share some challenges, insights, and concepts that I’m working with on a (nearly) daily basis.  Hopefully some of what I share here will help you-or better yet we can help each other.

Most of my topics will likely involve data analysis of some sort, and I’ll frequently discuss issues with Excel, PowerBI, SQL, or ArcGIS.  These are my daily tools and the source of much information and frustration.