Skip to content
/ honeycomb Public

🐝 CLI tool for managing AGRC base map caches (vector & raster) 🐝

License

Notifications You must be signed in to change notification settings

agrc/honeycomb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

honeycomb

Build Status codecov

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.

Installation

*not required for data-update command only installation

  1. Install ArcGIS Pro (Standard license level or higher)
  2. Create new python conda environment and activate
  3. conda create --name honeycomb python=3.11
  4. conda activate honeycomb
  5. conda install arcpy -c esri
  6. Clone repository to local folder.
  7. From project folder base: pip install -e . --upgrade
  8. From forklift folder (C:\dev\forklift): pip install . --upgrade
  9. 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
  1. Run honeycomb config open. This will initialize your config with default values and open it in your text editor.
  2. Set map services to be dedicated instances with a min of 0 to prevent schema locks when updating the data.

Usage

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.

Config file

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.

Adding a New Layer

  1. Add the new layer to your local file geodatabase (C:\Cache\MapData\SGID10_WGS.gdb).
  2. Add the new layer to the appropriate map in the pro project on the share.
  3. The next time that honeycomb runs, it will pull the new layer to the caching machine.

Development

Unit Tests & Linting

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.

Running Source Version

From root directory: python -m honeycomb <...>

About

🐝 CLI tool for managing AGRC base map caches (vector & raster) 🐝

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published