• Stars
    star
    101
  • Rank 338,166 (Top 7 %)
  • Language Svelte
  • License
    MIT License
  • Created over 12 years ago
  • Updated 12 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

The source code for Mecklenburg County's GeoPortal.

GeoPortal v5

Mecklenburg County's main GIS portal for the public, built with Svelte, TailwindCSS, and Maplibre GL JS. The development and build environment is Vite. GeoPortal is designed for speed (perfect Lighthouse scores), ease of use, and works well on mobile devices.

Site: https://mcmap.org/geoportal

Architecture

Architecture

GeoPortal is a single page application (SPA) and progressive web app (PWA). It consumes a number of services to operate, as outlined in the architecture image.

Two optional environmental variables control the map layers, VITE_MAPTILES for the URL for base map tile style and VITE_AERIALS for aerials URL. The easiest way to set these variables is by creating a .env file in the root project folder:

VITE_MAPTILES="https://style-url.json"
VITE_AERIALS="https://aerials/{z}/{x}/{y}"

If the VITE_AERIALS environmental variable is not supplied, the aerial toggle button will not appear on the map. If the VITE_MAPTILES environmental variable is not supplied, no map toggle option will be available.

Using the project

Node.js is required to run the development and build systems, and git is required to use the versioning system.

Clone the project

git clone https://github.com/tobinbradley/Mecklenburg-County-GeoPortal.git geoportal

Install dependencies

cd geoportal
npm install

Start the development server

npm run dev

Navigate a web browser to http://localhost:3000 to view the HMR live development server.

Build for production

npm run build

After the build is complete, copy the contents of the dist folder to the production web server.

More Repositories

1

dirt-simple-postgis-http-api

Dirt Simple PostGIS HTTP API
JavaScript
367
star
2

quality-of-life-dashboard

Neighborhood indicators dashboard built with Vue and Mapbox GL JS
Vue
63
star
3

Mecklenburg-County-Quality-of-Life-Dashboard

Neighborhood quality of life web site using Leaflet and D3.
JavaScript
60
star
4

leaflet-bootstrap-mapping-template

This is just a personal template I use for new mapping projects. Thought it might come in handy for others.
JavaScript
34
star
5

mapbox-gl-style-editor

Simple, code based Mapbox GL style editor
JavaScript
24
star
6

GeoPortal-Project

GeoPortal mapping template created by Mecklenburg County GIS.
JavaScript
19
star
7

mapbox-gl-pitch-toggle-control

Simple pitch on/off button in Mapbox GL JS style.
JavaScript
16
star
8

pg-vector-tile-server

PostGIS vector tile (pbf) server written in node.
JavaScript
15
star
9

map_widget_maker

Create at embed-able map iFrame using WMS services and leaflet.
JavaScript
15
star
10

svelte-template

Svelte template using Rollup, PostCSS, Babel, Tailwind CSS, and PWA
JavaScript
9
star
11

sitechangecheck

A little NodeJS Puppeteer action to see if a page or part of a page changed.
JavaScript
8
star
12

quality-of-life-explorer

Mecklenburg County Quality of Life Explorer
Svelte
8
star
13

docker-mapbox-tools

Dockerized fontnik, spritezero, and tippecanoe
JavaScript
7
star
14

quality-of-life-embed

Embed/Print map for the Quality of Life Project
JavaScript
6
star
15

etl-with-ogr_fdw

Simple NodeJS ETL tooling using ogr_fdw.
PLpgSQL
5
star
16

mecklenburg-quality-of-life-data

Mecklenburg County data for the Quality of Life Dashboard
JavaScript
5
star
17

geokettle-etl-workflow

ESRI SDE to PostGIS workflow using ArcPy and GeoKettle
Python
5
star
18

timemachine

Mecklenburg County historical aerials viewer
Svelte
5
star
19

quality-of-life-report

Report for the Quality of Life project
Vue
3
star
20

community_compass

multi-variate mapping tool
Svelte
2
star
21

dotfiles

Dot files
Vim Script
2
star
22

leaflet-workshop

Leaflet workshop I did for Triangle Area GIS
HTML
2
star
23

quality-of-life-data-uscensus

automated quality of life data from US Census to be used with the Quality of Life Dashboard
JavaScript
2
star
24

fuzzy-tolerance-octopress-theme

Fuzzy Tolerance Blog Octopress Theme
JavaScript
2
star
25

css-slideshow

CSS Only Slideshow
CSS
1
star
26

buildcharmeck

Building CharMeck website
HTML
1
star
27

redistricting_2020_demo

Svelte
1
star
28

maplibre-3d-terrain

Experiments with Maplibre GL JS 3D terrain coming in the 2.2 release.
JavaScript
1
star
29

quality-of-life-annual-report

Annual scrolly telling report for Quality of Life
HTML
1
star
30

connected-government

CSS
1
star
31

open-mapping

Mecklenburg County Open Mapping website.
Svelte
1
star