Coder Social home page Coder Social logo

baidakovil / inat-rutrail Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 8.51 MB

This project is connection of iNaturalist and tourism. Using RuTrail.org Russian National routes data. 🗺+🦶=🌿

Python 100.00%
clipper gpx inat inaturalist proj pyclipper pyproj tourism rutrail

inat-rutrail's Introduction

iNat-rutrail

Description

Aim of this project is to create 89 iNaturalist project (number at early 2024), with each of them linked to one of RuTrail tourist trails. Each project should have map with polygons, shaping areas around tourist trail.

Having this, each tourist can see which plants and animals, fungi and lichens it can see on the trail.

How does it look on iNaturalist:

Link to iNaturalist umbrella project:
https://www.inaturalist.org/projects/rutrail-013aac38-8df3-4c23-a690-b2b2be7955f1

Scripts

inat-rutrail_prepare_text.py

Script to create iNat-project textual descriptions.

Dependencies:
transliterate - used to create latin trail names
translate - used to translate project descriptions to English

Note: description of the project Мончегорские тропы и Ниттис — Маркированный маршрут RuTrail is compilation of six others texts.

inat_rutrail_generate_polygon.py

Main script to create kml-shapes (polygons) for iNaturalist from gps tracks, provided RuTrail.

This script can take several tracks to create shape. Since many routes contains additional routes (bypasses, seasonal tracks, trails to sights, variants), this additional routes were downloaded from nakarte.me service, by links provided on rutrail.org trail pages. This files not included in the project.

There is some features:

  • working with *.gpx of *.kml input files
  • adding several tracks to create polygon. Both adding files or polygons inside single file supported. This functionality mainly provided by Clipper library
  • adjusting distance from track to polygon
  • maintain level of simplicity (distance error) ot the polygon. Two optional steps here: simplification of the track and/or simplification of the polygon
  • removing unnecessary shape circles from resulting shape
  • "rotating" start/end of resulting polygons, to create circle polygon with single sequence, as iNaturalist supports only these
  • plotting pdfs with both simplificated and original trails

Dependencies:
pyclipper - Cython wrapper of the Clipper library. Used to create shape around tracks
pyproj - Python interface to PROJ, cartographic projections and coordinate transformations library. Used to translate longitude-lattitude coordinates to Mercator coordinates, where pyclipper will work (lat-lon is not equidistance coordinates)
pandas - used for data manipulations to prepare data to debug plotting
matplotlib - used to make debug PDF plots

Note: polygon (shape map) of the project Мончегорские тропы и Ниттис — Маркированный маршрут RuTrail is made-by-hand compilation of two other separated tracks (iNaturalist supports several shapes in single kml-file).

inat_rutrail_parse_rutrail.py

Script to load track information: description, track, banner photo.

Dependencies:
requests - library to load web-pages
bs4 - beautifulsoup4, library that makes it easy to scrape information from web pages. Used to parse RuTrail web-page

inat_rutrail_stamp_banner.py

Script to create iNat project banner with RuTrail logo.

Dependencies:
PIL - Python Imaging Library. Used to crop images and paste rutrail logo on banner photo

inat_rutrail_stamp_logo.py

Script to create iNat project unique icon with first letters of latin trail name. I found this to be nice.

Dependencies:
PIL - Python Imaging Library. Used to paste text on project logos

Copyright / Responsibility / Liability note

Author of this repository is not associated with RuTrail.
It have no intensions to make commercial with it.
Aims of this project is:

  • popularization of tourism
  • popularization of the healthy lifestyle
  • popularization of the responsible attitude to nature

inat-rutrail's People

Contributors

baidakovil avatar

Watchers

 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.