A python CLI tool used to generate and publish AGRC base maps including:
- raster tile cache generation
- uploading raster tiles to GCP for use with discover.agrc.utah.gov
- vector tile cache generation
- uploading vector tiles to AGOL
This is an effort to polish/standardize/automate a mishmash of stand-alone python scripts currently used to update base maps.
*not required for data-update command only installation
- Install ArcGIS Pro (Standard license level or higher)
- Create new python conda environment and activate
conda create --name honeycomb python=3.11
conda activate honeycomb
conda install arcpy -c esri
- Clone repository to local folder.
- From project folder base:
pip install -e . --upgrade
- From forklift folder (
C:\dev\forklift
):pip install . --upgrade
- Add the following environmental variables:
Name | Description | Example |
---|---|---|
HONEYCOMB_SHARE |
the to the share folder used to share mxd's and data with Zach | \999.99.99.99\agrc\caching |
HONEYCOMB_SENDGRID_API_KEY |
your sendgrid api key | SG.1234567890 |
HONEYCOMB_AGS_SERVER * |
your ArcGIS server url | http://localhost:6080/arcgis/admin |
HONEYCOMB_AGS_USERNAME * |
your ArcGIS Server username | name |
HONEYCOMB_AGS_PASSWORD * |
your ArcGIS Server password | password |
HONEYCOMB_GIZA_USERNAME * |
your Giza (discover) username | name |
HONEYCOMB_GIZA_PASSWORD * |
your Giza (discover) password | password |
HONEYCOMB_AGOL_USERNAME * |
your AGOL username | name |
HONEYCOMB_AGOL_PASSWORD * |
your AGOL password | password |
- Run
honeycomb config open
. This will initialize your config with default values and open it in your text editor. - Set map services to be dedicated instances with a min of 0 to prevent schema locks when updating the data.
Run honeycomb -help
to see documentation for the various commands.
Note: in order for honeycomb to modify files in the arcgis server cache directories, your terminal must be run as an administrator.
Run honeycomb config open
to open the config file.
Property | Description |
---|---|
basemaps |
Object defining the registered base maps. Use the cli to manage this list. |
configuration |
Affects a few code paths for differences between production and development. Possible values: prod and dev (default). |
notify |
A list of email addresses to whom honeycomb sends status updates. |
sendEmails |
A boolean that determines whether emails are actually sent or not. Useful during development. |
num_processes |
A number that indicates the maximum number of parallel processes to use when uploading files to GCP. |
- Add the new layer to your local file geodatabase (
C:\Cache\MapData\SGID10_WGS.gdb
). - Add the new layer to the appropriate map in the pro project on the share.
- The next time that honeycomb runs, it will pull the new layer to the caching machine.
arcpy
is mocked for the tests so this should all work without it.
Install test dependencies: pip install ".[test]" --upgrade
Running tests/linting: pytest
or ptw
to automatically run tests on file changes.
From root
directory: python -m honeycomb <...>