Giter Site home page Giter Site logo

osm-oscar / oscar-web Goto Github PK

View Code? Open in Web Editor NEW
5.0 5.0 2.0 3.45 MB

A simple search engine for OpenStreetMap data

Home Page: https://www.oscar-web.de

License: Other

C++ 28.19% CMake 1.40% CSS 3.04% HTML 8.10% JavaScript 58.31% Shell 0.45% Python 0.51%

oscar-web's People

Contributors

dbahrdt avatar koppor avatar somakolli avatar tobulus avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

oscar-web's Issues

Add option to draw geometry instead of markers

Currently markers are drawn. But sometimes it is better to draw the geometry instead of the markers.
We should add an option to do that. Maybe add this to the query as well (as configuration option) so that users can customize their search shortcuts

Items that are not in a leaf node of the dag are not drawn

Currently items that are not in a leaf node of the dag are not draw. This is unfortunately not so easy to fix since there may be many items that are not in a leaf node. Consider an island with few cities. The cities are leaf nodes but all the other stuff on the island is not in a leaf node.

cppscms dead, switch to other framework

Cppcms has no commits since April 2016. We may need to change our framework. Crow seems to be a promising alternative. Need to look into websockets as well.

Improve build architecture

Currently there is none. Hence most files are large, with bad code quality, no way to easily see what's in a file. This should be fixed.

mpa.js: mapViewChanged takes too long

Currently updating the map is not very asynchronous. It takes way too long to compute a new view. Unfortunately this not going to be easy to turn into an async function. This may only be possible after a larger refactor of the whole code.

Add pagination to result tabs

Currently there is no way to load more results into the result list. There should be some way to do this. Though there is the problem of changing result list since the result list depends on the map view. This might create strange paginations.

Limit number of drawn clusters

A human can only process a small number of things at once. For oscar-web the things are the clusters on the map. As a consequence there should be no more than about 5 clusters on the map.

Show children in dag

The "Show children" link should only be visible if no children have been loaded yet

Improve calculation of cluster centers

Maybe we should calculate the center of clusters by using cluster centers of their children. This should improve zoom-consistency since the parent cluster center may be closer to the cluster center of the children.

Display problems of large elements

If a large item is highlighted and the map viewport changes considerably it may and does happen that to view returns to a cluster view hence removing the item. That is something that needs to be avoided.

The question is how? Somehow we need know if the use just browses the map or wants to inspect a single element.

Add routing engine

We currently do not have any kind of routing engine. This might be a nice addition. As a first step it should be possible to do normal routing but at a later stage we may want to do advanced routing taking heights, surrounding and so on into account.

Speed-up result list updates

Currently the map and result list updates are quite slow. About 1 msec per item. This is way to slow. This also make the website unusable on older hardware.

Add inspection mode

Add a new display "mode" that allows one to inspect multiple elements at once.
In this mode we want to keep inspected elements on the map.
Maybe we want to disable clustering.

Highlight on click

Clicking on an object on the map does not highlight the item in the result list and vice versa. This seems to be a problem on Firefox.

Improve cluster icon and item marker selection

Currently it may be the case that in a given cell items are drawn but a cluster icon of a region spanning that cell is drawn as well. This is the case if the cell is part of a region without children and one with children. This should be fixed in favor of the cluster icon. In order to do this the client needs to understand the concept of cells.

Add cluster markers for cells

For regions with many cells that overlap other regions it might be useful to have cluster markers for cells. Consider the region A = {1, 2,3}, B = {1}, C={3}. For regions B and C get cluster markers. Hence we can't add a cluster marker for region A. But there are still items in cell 2.

Top-k tags for query

Replace current usage of taginfo with our own version to retrieve top-k tags in our database

Map objects and result list are not in sync

Sometimes map objects and the result list are not in sync. Clicking on a map object then results in an exception since the result list entry does not exist. Need to investigate when this happens.

Denial of service problems

There are currently many possibilities for denial of service attacks by issuing queries that take very long to compute. We need some way to first filter these queries and at a later stage stop processing queries if they take too long.

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.