A tool kit for creating an esri file geodatabase from a Park Observer survey archive.
The tool kit has 4 tools built off a common library.
A python script that runs a web service that listens for requests
upload and process a survey archive (*.poz) from Park Observer.
This service maintains an esri file geodatabase for each major
version of a protocol file that it sees. These file geodatabases
are maintained on the server and can feed map services (created
with make_service.py
). They can also be downloaded by the users.
This service supported the sync to server option in Park Observer 1.x. However it was rarely used, since most users did not have access to the NPS WiFi on their mobile devices. This service is not used with Park Observer 2.0, and is no longer deployed.
The server.py
script has options to be run as an un-secure (HTTP)
service and as a secure (HTTPS) service. It loads the modules
csv_loader.py
and database_creator.py
. database_creator.py
relies on
the file csv.json
which describes the default mapping from the Park
Observer database schema to a set of related feature classes in a FGDB.
See Server.md
for additional details on setting up server.py
as
a service.
A simple python script which creates a map service
from a map file (MXD). This requires the creation of a MXD
set up for each of the file geodatabases created by server.py
It was hoped that this could be fully automated, but for
now it is a one time manual process. The name of the map file
must be set in the script before it is run.
This script takes as input a Park Observer survey archive (*.poz),
and builds an appropriate file geodatabase (if one does not exist),
and creates or appends to the appropriate feature classes. The
script takes only one required argument, the path of the *.poz
file.
It creates the file geodatabase in the current directory unless one
already exists there.
The script poz2fgdb.py
loads the modules csv_loader.py
and
database_creator.py
. database_creator.py
relies on the file
csv.json
which describes the default mapping from the Park Observer
database schema to a set of related feature classes in a FGDB.
This tool is typically only used by the developer during testing. It could be deployed to the users, but most will prefer the toolbox (below).
This is an ArcGIS python toolbox than can be run from ArcCatalog,
or ArcMap. It provides the same functionality as poz2fgdb.py
.
For convenience of distribution/installation the dependent modules
and csv.json
are embedded. See the source code for more details.
Do not edit ParkObserver.pyt
directly. Edit csv_loader.py
and/or
database_creator.py
, and then test with poz2fgdb.py
. Once changes have been
verified, the changes can be copied to ParkObserver.pyt
.
There is a collection of survey archives (*.poz
files) in the GIS Team network
drive (T:\PROJECTS\AKR\ParkObserver\pozs
) that can be used for testing changes
to this tool. There are several *.poz
files in that folder that will fail
for various good reasons. Be sure to see the file testing Notes.md
in the
poz
folder for details on why.
Copy the updated ParkObserver.pyt
to the deployed location of the
Park Observer website.
Update the website
download document
with the new release date of the toolbox and any significant changes.
ArcGIS users can open the toolbox in ArcMap, ArcCatalog, or Pro. The only input
parameter is the file system path to the survey archive file (*.poz
). If a
file geodatabase with the correct name exists in the same folder as the archive
it will get new data appended to it, otherwise a new geodatabase will be created
and the data added to it. WARNING If you convert the same *.poz
file
twice with the same database, the survey will be added twice and you will get
have items in the database.
More detailed usage instructions can be found on the Park Observer website.