Giter Site home page Giter Site logo

geops / openlayers-editor Goto Github PK

View Code? Open in Web Editor NEW
208.0 23.0 61.0 2.61 MB

OpenLayers Editor

Home Page: http://openlayers-editor.geops.com

License: BSD 2-Clause "Simplified" License

HTML 5.47% JavaScript 91.74% CSS 2.20% Shell 0.41% TypeScript 0.19%
openlayers editor map geo spatial gis openlayers-editor

openlayers-editor's Introduction

Openlayers Editor

npm Conventional Commits code style unit tests e2e tests Deploy

OpenLayers Editor (OLE) is based on OpenLayers and provides a set of controls for extended editing of spatial data.

Contributions are welcome! Feel free to add more controls and to extend the current functionality. Additionally, the build process is currently very basic and could be optimized. Translations would be nice, too.

Features

  • CAD tool for geometry alignment
  • Drawing line, point and polygon features
  • Moving and rotating geometries
  • Modifying geometries
  • Deleting geometries
  • Topology operations using JSTS: buffer, union, intersection, difference
  • Toolbar for activating and deactivating controls

Demo

For a demo, visit https://openlayers-editor.geops.com.

Dependencies

  • node & npm

Getting started

  • Clone this repository
  • Install: yarn install
  • Build: yarn build
  • Run: yarn start
  • Open your browser and visit http://localhost:8080

Usage

<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/ole@latest/style/ole.css" />
<script src="https://cdn.jsdelivr.net/npm/ole@latest/index.js"></script>
var editor = new ole.Editor(map);

var cad = new ole.control.CAD({
  source: editLayer.getSource()
});

var draw = new ole.control.Draw({
  source: editLayer.getSource()
});

editor.addControls([draw, cad]);

Versions and Changelog

This repo uses standard-version for release versioning and changelog management. Therefore updates should be committed using conventional commit messages:


<type>[optional scope]: <description>

[optional body]

[optional footer(s)]

The commit contains the following structural elements, to communicate intent to the consumers of your library:

  1. fix: a commit of the type fix patches a bug in your codebase (this correlates with PATCH in semantic versioning).
  2. feat: a commit of the type feat introduces a new feature to the codebase (this correlates with MINOR in semantic versioning).
  3. BREAKING CHANGE: a commit that has a footer BREAKING CHANGE:, or appends a ! after the type/scope, introduces a breaking API change (correlating with MAJOR in semantic versioning). A BREAKING CHANGE can be part of commits of any type.
  4. types other than fix: and feat: are allowed, for example @commitlint/config-conventional (based on the the Angular convention) recommends build:, chore:, ci:, docs:, style:, refactor:, perf:, test:, and others.
  5. footers other than BREAKING CHANGE: may be provided and follow a convention similar to git trailer format.

Additional types are not mandated by the Conventional Commits specification, and have no implicit effect in semantic versioning (unless they include a BREAKING CHANGE). A scope may be provided to a commit’s type, to provide additional contextual information and is contained within parenthesis, e.g., feat(parser): add ability to parse arrays.

Contributing

All PRs are welcome and will be reviewed soon or later. Please make sure to follow the Conventional Commits specification.

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.