GithubHelp home page GithubHelp logo

williemaddox / osmfire Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 5.58 MB

A map client frontend for interacting and experimenting with a self hosted OpenStreetMap database.

License: MIT License

CSS 2.82% HTML 22.37% JavaScript 72.08% Python 0.68% TypeScript 2.04%

osmfire's Introduction

OSM Fire

Setup

git clone

cd osmfire

git submodule update --init

npm install

npm run start

osmfire's People

Contributors

williemaddox avatar

Watchers

James Cloos avatar  avatar

osmfire's Issues

create dialogs dynamically on button click instead of on page load

Currently, the addWmsLayer, addWfsLayer, addVectorLayer, and addNewLayer dialogs are created on page load. Instead, we should create each dialog only when the appropriate button is clicked for the first time and store the dialog into cache for use in subsequent clicks.

Fortunately, all the code to create these dialogs is contained in layertree.js.

Loading features at low zoom level is slow.

At low zoom levels geoserver tries to display lots of features. This bogs down the server. Instead, filter which features get displayed based on their apparent size. For example, when zoomed way out, buildings just look like dots; no need to load these. Write a test to compare the feature area (F) to the corresponding pixel area (P) at that zoom level. For linestrings, compare feature length to pixel width. Maybe something like:

feature_list = []
var threshold = pixelAreaAtZoomLevel * s
for (var i = 0; i < featureCandidates.length; i++) {
    if (featureCandidates[i].area > threshold) {
        feature_list.append(feature)
    }
}

We'll need to play around to find a reasonable value for "s"
This should only be done for polygons and linestrings. If rendering massive amounts of points ever becomes an issue, we can deal with that later.

change message bar to a coordinates list widget.

something like.

proj, lon, lat
4326, -86.21154, 34.4560
3857, -9650965.50434266, 4125521.30132196
tile, 4752, 6251, 14

Use mouse projection dropdown to add a new row.
Need a cancel button next to each one.

Add a SpyGlass

Add a spyglass that shows a different layer than the active layer.

Add custom tooltips

The default tooltips look ugly. Use jquery-ui to make tooltips look better.

Create user accounts

Need a way to create user accounts so they can save their work to the database. In addition, create a guest account where anybody can just play around.

need a way to copy coordinates from screen

If I move the mouse over a certain location on the map, I can see the coordinates in the messagebar below the map. Would be nice If I could copy the coords of my mouse cursor to some other application. Maybe add a toggle button "freeze coords" or "coord snapshot".

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.