Giter Club home page Giter Club logo

far-from-road's Introduction

far-from-road

Find the furthest away spot from any paved road in a geographic area. Hobby project to get back to NodeJS dev.

Demo at https://gregoiredelannoy.fr/farfromroad/ To use:

  • Select area (might fail on too very large areas, check console/network logs).
  • Click button to load geographical features (roads and water bodies) from backend.
  • Click the search button to launch client search and display.

Be cautious, as for now only roads in France where loaded into my database. I'll import the others at some point, but OSM raw data is HUUUUGE.

Install

Tested on Ubuntu 22.04

Database

Install psql with gis extensions: apt install postgresql postgis

Create DB with extensions:

CREATE USER <GIS_USER> WITH PASSWORD '<GIS_PASSWORD>';
CREATE DATABASE <GIS_DB> WITH OWNER <GIS_USER>;
\connect <GIS_DB>
CREATE EXTENSION IF NOT EXISTS postgis;
CREATE EXTENSION IF NOT EXISTS postgis_topology;

Download a PBF file from Geofabrik, install OSM2PGSQL apt install osm2pgsql.

Load the PBF into DB using the provided LUA script:

osm2pgsql -H 127.0.0.1 -d <GIS_DB> -U <GIS_USER> -W -O flex -S <PROJECT_PATH>/osm2pgsql_config.lua <PATH_TO_PBF>

Frontend

In frontend/ folder:

  • Fill .env file with corresponding value:
REACT_APP_API_URL = http://127.0.0.1:4000
  • Dev Server: npm run start

  • Build: npm run build

Backend

  • Fill .env file with corresponding value:
DB_HOST='127.0.0.1'
DB_PORT='5432'
DB_USERNAME='******'
DB_PASSWORD='******'
DB_NAME='******'
  • Dev Server: npm run start

  • Build: npm run build

Then, everything can be served with a simple node dist/main.js.

far-from-road's People

Contributors

gregoiredelannoy avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.