git clone
cd osmfire
git submodule update --init
npm install
npm run start
A map client frontend for interacting and experimenting with a self hosted OpenStreetMap database.
License: MIT License
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.
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.
Similar to how OpenStreetMap does their base layers.
possibly using ol.control.OverviewMap
undefined fillOpacity.
For example: [building layer, herbage layer, generic layer] --> tobject layer
dev -> http
prod -> https
Use gulp or grunt for this.
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 that shows a different layer than the active layer.
Rather save it after deselect.
See app/data/ folder.
Menu is added. Just need to bind some functionality. English, Metric, etc.
For example osm.buildings will always switch back to default "osm_id" when panning around on the map.
GeoJSON, shapefile, etc.
Allow feature style to update immediately when feature type changes.
i.e. shapefile, geojson, etc.
Need a way to control the text value of the hover display.
Something similar to the way regex101 does it.
The default tooltips look ugly. Use jquery-ui to make tooltips look better.
see cameraeditor.js
For example: tobject layer --> [building layer, herbage layer, generic layer]
Choosing a shapefile (for example) doesn't filter out other file types when you go to load in a new file.
Draw a fresh polygon feature.
draw an invalid hole.
Delete button should not be clickable.
Possibly create a new Sensor openlayers object that is a subclass of ol.feature.
Add a helper function to autofill the display name when layer name is selected for wms/wfs
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.
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".
mouse coordinates don't auto update when choosing a different projection. You have to zoom in (or out) to force the refresh.
Need a function that takes a lat, lon and auto pans the map to that location.
remove mapquest from layerswitcher
Probably a CSS thing.
auto selected draw feature gets copied to wrong layer if switching layers before committing the geometry.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.