Skip to content
Snippets Groups Projects
Forked from an inaccessible project.
user avatar
Ryan Dee authored
8ddef33c
History

Installing

  1. Copy config.sample.php to config.inc.php and edit to reflect your environment
  2. Run composer install in the root directory of the project
  3. Make sure you have the grunt-cli installed: npm -g i grunt-cli
  4. Run npm install in the root directory of the project
  5. Run grunt in the root directory of the project
  6. Copy www/sample.htaccess to www/.htaccess and edit to reflect your environment

Updating Map Features:

All map feature layers, except the buses, use GeoJSON files to store location metadata and geometry (points, polygons, etc). These data files are found in the data/geojson directory. Manually editing this files is generally discouraged. GIS software, such as QGIS, loaded with updatable source files should be used to export replacement geojson. An online tool like, http://geojson.io/ could be used to edit files, however, it may be hard to reconcile those changes with the upsteam data providers.

  • accessiblity-parking.geojson - Manually updated from PDFs provided by Parking and Transit.
  • bikeracks.geojson - Manually updated by having volunteers traverse the campus.
  • buildings-official.geojson - Provided by University Police (from their GIS team). The export they provide usually has to be converted from Esri JSON to GeoJSON (slight schema differences). See https://unl.app.box.com/notes/103212929209 for process details.
  • buildings-unofficial.geojson - Manually updated to provide polygons for buildings not managed by the university, but are closely affiliated.
  • emergencyphones.geojson - Provided by University Police. This format exchange has not been formally established.
  • motorcycle-parking.geojson - Manually updated from PDFs provided by Parking and Transit.
  • parking-lots.geojson - Originally provided from University Police and parsed with the script located at scripts/parkingArcgisToGeojson.js. This is done yearly after parking gives police new data.
  • policestations.geojson - Mostly a static, unmaintained file. May be updated with data from University Police.
  • sculptures.geojson - Manually updated from PDFs provided by Sheldon Museum of Art.
  • covid-test-sites.geojson - Manually updated from PDFs provided by COVID Testing.

The Bus Layer

StarTran provides realtime data for bus location data. It uses a custom JSON-like format that must be proxied to work around cross-domain and formatting issues. There are two versions of the proxy written for Node.js.

  • server.js
  • scripts/bus-proxy

server.js is started by running npm start from the project root. Is is designed to be a "smarter" caching proxy by only fetching the upstream data when both a local request has been made for it and the cache lifetime (currently 1000ms) has passed. To use this proxy, you must adjust your web server configuration (.htaccess) to reverse proxy to this locally running server. There have been complications with using this in production, likely due to cache stampede and error handling issues. Using it should be avoided until more analysis can be done

scripts/bus-proxy is script that can be daemonized to continually proxy (every 1000ms) the bus data and save it to a local file to be served by the default web server.