Code Monkey home page Code Monkey logo

lczexplore's Introduction


metadata title="lczexplore : a package to compare Local Climate Zone classifications" output: github_document

lczexplore

This is the 0.0.1.0000 version of the package lczexplore.

Licence

The code of this package is under the LGPL-3 licence as described in https://www.r-project.org/Licenses/LGPL-3

Fundings

The lczexplore library has been originally developed within the following research projects:

  • PAENDORA2 (Pour la gestion du confort estival : Donnees, Outils et Recherche-Action) (2022 -2025), funded by ADEME

Citation

If you are kind enough to cite this package, please check in the /inst directory for the CITATION file (in cff style without the extension)

Installation

This package can be installed from github using the install_github function of the devtools package.

library(devtools)
devtools::install_github("orbisgis/lczexplore")

It can also be installed from the tarball file.

install.packages("/path/lczexplore_0.0.1.0000.tar.gz ",repos=NULL)

where path is the folder where you download the tarball sources.

Summary

The goal of lczexplore is to explore and compare Local Climate Zone classifications of urban areas.

Climate change is a growing concern for city planners with a special focus on Urban Heat Island phenomenons. Stewardt and Oke [ref] have proposed a classification of Local Climate Zones (LCZ) that describe rural and urban areas, with 10 built types and 7 land cover types.

Several approaches classify land units into LCZ and may produce different results. For instance, the GeoClimate geospatial toolbox use GIS layers from OpenStreetMap or the french BD Topo whereas the WUDAPT platform uses remotely sensed information and local expert knowledge.

The lczexplore packages allows to easily :

  • load these classification from GIS layers
  • produce maps of these LCZ classification
  • compare these classifications

Comparison of LCZ classifications

In order to compare two LCZ classifications the compareLCZ function proceeds the following steps :

Plot the two classifications

Two maps are produced and allow a visual comparison of the two classifications.

Interesect the geometries of both classifications

This steps returns geometries on which the two classifications either totally agree either totally disagree, and plot them on a map.

Quantify the agreement

The areas of all the geometries where the classifications agree are summed and give the general percentage of agreement.

Qualify the disagreement

A confusion matrix shows how a given level of LCZ for the first classification is broken down into the levels of the other classification.

Comparison result for twho workflows on Redon data

Sensibility analysis

Some LCZ classifications come with a confidence level for each spatial unit. For instance, the GeoClimate toolbox sets a LCZ level to a spatial unit according to the values of urban canopy parameters, and computes a uniqueness value that indicates if other levels of LCZ could also have been set to this spatial unit. This uniqueness value can be seen as a confidence measurement of the LCZ level.

The lczexplore package allows to see how this confidence value impacts the general agreement between two LCZ classification.

Main functions

The following functions are the core of this package : importLCZvect : imports the LCZ layer from a GIS (tested with geojson and shapefile files) importLCZwudapt : imports LCZ from the wudapt Europe Tiff. You'll have to use importLCZvect first to create the Bounding box of your zone of interest showLCZ : plots the map of your LCZ compareLCZ : compares two LCZ classifications of the same areas, output plots and data if this comparison confidSensib : explores how the agreement between two LCZ varies according to a confidence indicator associated for the LCZ value of each geom (sensibility analysis) Sensibiilty analysis : how the confidence we have in LCZ classifications impacts the agreement betweend classifications

Other (experimental) functions

These functions are used in the PAENDORA 2 project but may not be generic enough or robust enough for other uses. groupLCZ : allows to group some LCZ levels into a level named by the user (for instance to group all compact LCZ, or all vegetation LCZ...) fetchLCZ : allows the download and unzip of LCZ files. The user can specify the URL where the function should seek the data.

lczexplore's People

Contributors

ebocher avatar martinfleis avatar mgousseff avatar oliviaguest avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

lczexplore's Issues

JOSS Review: scholarly effort coding standards

  1. The package source code is mixing pipe operators. Some statements use %>% while others use the native R pipe (|>). I don't believe the native R pipe is supported in versions of R before 4.1; however, the package DESCRIPTION states that it only depends on R >2.2. This may be an incompatibility. Has the package been tested on older versions of R?

  2. Please refer to: https://ggplot2.tidyverse.org/articles/ggplot2-in-packages.html#using-aes-and-vars-in-a-package-function for guidance on how to use ggplot2 within a package.

  3. As a new user, I found the interface to the functions difficult to understand with so many different arguments, and complex return objects. The examples could show how to extract and work with the returned values a bit more.

openjournals/joss-reviews#5445

JOSS Review: scholarly effort

Does this submission meet the scope eligibility described in the JOSS guidelines

"software should be feature-complete (i.e., no half-baked solutions)" - the README for this package states that it contains experimental which are not generic or robust. Please remove these functions or keep them on a separate, "development" branch and instruct users who wish to use the experimental functions to install the dev version of the package.

joss-reviews/issues/#5445

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.