open layers version 3.11.2 launched.
release notes may be found here --> release notes
Latest version may be downloaded from here -->v3.11.2.zip.
Still wait, for the vector api, the donut polygon support (intermediate solution for donut polygon may be found here -->draw hole fiddle ) as well as the undo/redo interaction. Hope to get these on next version.
One of the great things with this latest version is the raster reprojection support. This includes tiles as well. That means you can view bing maps, OSM etc within your local projection. Or even display your local projection tiles to bing maps projection. Great thing .... in it?
Some examples to present this functionality may be found here
--> reprojection-by-code.html
--> reprojection-wgs84.html
--> raster reprojection.html
There is also a new version for the ol3-cesium based on this new open layers version.
ol3-cesium v1.10 may be downloaded from here -->ol3_cesium_v1.10
Good news is that OL3-Cesium is now built together with OL3. check it here
Enjoy all of you GIS Dudes
Monday, December 7, 2015
Monday, November 16, 2015
openlayers 3 - Layer Control/Switcher - Extjs
Lately , I had a requirement for a layer contol-switcher tool for openlayers 3 (OL3). The one currently exists here is good enough if you expect to get something like OL2 used to have. But in my case this wasn't enough.
So, I had to do it from scratch. Searching on the web for a fancy jquery tree , supporting drag-drop between tree nodes, grouping of tree nodes, check box support, image support etc, I was surprised I couldn't find something very impressive to use. So I ended up with extjs tree panel , which has all the needed functionality and it is quit impressive. Though, it is not jquery so extjs library needs to be loaded.
I have made a github project you may see and freely download here. Note that the project is on its very early stages and many things will probably change. Just download the rar file and open it. Double click in any example to see it in action.
If any of you, boys and girls, look forward to contribute please let me know. I would be more than grateful.
Some examples up and running to get the idea.
basic example:
http://ptsagkis.github.io/extjs_ol3_layercontrol/example.html
minimalistic example:
http://ptsagkis.github.io/extjs_ol3_layercontrol/example0_minimalistic.html
example with options:
http://ptsagkis.github.io/extjs_ol3_layercontrol/example1_withoptions.html
switching themes:
http://ptsagkis.github.io/extjs_ol3_layercontrol/example3_themes.html
legend icons from geoserver:
http://ptsagkis.github.io/extjs_ol3_layercontrol/example3.html
add wfs vector layer dynamic and asign loadstart, loadend, loaderror events
http://ptsagkis.github.io/extjs_ol3_layercontrol/example4_dynamic_add_layer.html
use an extjs layout for best UI experience
http://ptsagkis.github.io/extjs_ol3_layercontrol/example5_extjslayout.html
change visibility programmticaly and fire the listener to toggle check box
http://ptsagkis.github.io/extjs_ol3_layercontrol/example6_vector.html
So, I had to do it from scratch. Searching on the web for a fancy jquery tree , supporting drag-drop between tree nodes, grouping of tree nodes, check box support, image support etc, I was surprised I couldn't find something very impressive to use. So I ended up with extjs tree panel , which has all the needed functionality and it is quit impressive. Though, it is not jquery so extjs library needs to be loaded.
I have made a github project you may see and freely download here. Note that the project is on its very early stages and many things will probably change. Just download the rar file and open it. Double click in any example to see it in action.
If any of you, boys and girls, look forward to contribute please let me know. I would be more than grateful.
Some examples up and running to get the idea.
basic example:
http://ptsagkis.github.io/extjs_ol3_layercontrol/example.html
minimalistic example:
http://ptsagkis.github.io/extjs_ol3_layercontrol/example0_minimalistic.html
example with options:
http://ptsagkis.github.io/extjs_ol3_layercontrol/example1_withoptions.html
switching themes:
http://ptsagkis.github.io/extjs_ol3_layercontrol/example3_themes.html
legend icons from geoserver:
http://ptsagkis.github.io/extjs_ol3_layercontrol/example3.html
add wfs vector layer dynamic and asign loadstart, loadend, loaderror events
http://ptsagkis.github.io/extjs_ol3_layercontrol/example4_dynamic_add_layer.html
use an extjs layout for best UI experience
http://ptsagkis.github.io/extjs_ol3_layercontrol/example5_extjslayout.html
change visibility programmticaly and fire the listener to toggle check box
http://ptsagkis.github.io/extjs_ol3_layercontrol/example6_vector.html
Thursday, November 5, 2015
OSGeo-Live - Open Source GIS Collection
A friend of mine lately informed me about the OSGeo-Live . To be honest, I had no idea such thing exists.
For those of you who can't deside which OS Desktop to choose, or which web-mapping JavaScript library to use for your new project, OSGeo-Live shall make things clear for you.
OSGeo-Live is a self-contained bootable DVD, USB thumb drive or Virtual Machine based on Lubuntu, that allows you to try a wide variety of open source geospatial software without installing anything. It is composed entirely of free software, allowing it to be freely distributed, duplicated and passed around.
A list of the open projects included may be found here and the download link is here. Enjoy
For those of you who can't deside which OS Desktop to choose, or which web-mapping JavaScript library to use for your new project, OSGeo-Live shall make things clear for you.
OSGeo-Live is a self-contained bootable DVD, USB thumb drive or Virtual Machine based on Lubuntu, that allows you to try a wide variety of open source geospatial software without installing anything. It is composed entirely of free software, allowing it to be freely distributed, duplicated and passed around.
A list of the open projects included may be found here and the download link is here. Enjoy
Friday, October 9, 2015
geoserver new stable release 2.8
download page for geoserver and extensions --> http://geoserver.org/release/2.8.x/
release notes may be found here --> http://osgeo-org.atlassian.net/jira/secure/ReleaseNote.jspa?projectId=10000&version=10602
release notes may be found here --> http://osgeo-org.atlassian.net/jira/secure/ReleaseNote.jspa?projectId=10000&version=10602
openlayers 3 new version 3.10.0
open layers version 3.10.0 launched.
release notes may be found here --> release notes
Latest version may be downloaded from here -->v3.10.0.zip.
Still wait, for the vector api, the donut polygon support (intermediate solution for donut polygon may be found here -->draw hole fiddle ) as well as the undo/redo interaction. Hope to get these on next version.
Cesium has not announce any upgrade for the ol3-cesium library. I ll let you for any news on this
release notes may be found here --> release notes
Latest version may be downloaded from here -->v3.10.0.zip.
Still wait, for the vector api, the donut polygon support (intermediate solution for donut polygon may be found here -->draw hole fiddle ) as well as the undo/redo interaction. Hope to get these on next version.
Cesium has not announce any upgrade for the ol3-cesium library. I ll let you for any news on this
Tuesday, September 22, 2015
Openlayers 3 - load start / load end events on layers
With the latest versions of OL3 we have the ability to listen for the 'loadstart' and 'loadend' events on layers exist on our map. In openlayers 2 that was quite clear.
With the latest versions of openlayers 3, things start to be a bit more clear, though not as clear as it used to be on OL2.
So for TILE (ol.layer.Tile) layers our code snip should look like:
For WMS layers the approach is a bit different:
For WFS Vecotr layers things are even more complicated:
so I made a fiddle you may see here -->fiddle
fiddle preview -->
With the latest versions of openlayers 3, things start to be a bit more clear, though not as clear as it used to be on OL2.
So for TILE (ol.layer.Tile) layers our code snip should look like:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | //declare the layer var osmLayer = new ol.layer.Tile({ source: new ol.source.OSM() }); //asign the listeners on the source of tile layer osmLayer.getSource().on('tileloadstart', function(event) { //replace with your custom action document.getElementById('tilesloaderindicatorimg').src = 'css/images/tree_loading.gif'; }); osmLayer.getSource().on('tileloadend', function(event) { //replace with your custom action document.getElementById('tilesloaderindicatorimg').src = 'css/images/ok.png'; }); osmLayer.getSource().on('tileloaderror', function(event) { //replace with your custom action document.getElementById('tilesloaderindicatorimg').src = 'css/images/no.png'; }); |
For WMS layers the approach is a bit different:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | //declare the layer var wmsLayer = new ol.layer.Image({ source: new ol.source.ImageWMS({ attributions: [new ol.Attribution({ html: '© ' + '<a href="http://www.geo.admin.ch/internet/geoportal/' + 'en/home.html">' + 'National parks / geo.admin.ch</a>' })], crossOrigin: 'anonymous', params: {'LAYERS': 'ch.bafu.schutzgebiete-paerke_nationaler_bedeutung'}, serverType: 'mapserver', url: 'http://wms.geo.admin.ch/' }) }); //and now asign the listeners on the source of it var lyrSource = wmsLayer.getSource(); lyrSource.on('imageloadstart', function(event) { console.log('imageloadstart event',event); //replace with your custom action var elemId = event.target.params_.ELEMENTID; document.getElementById(elemId).src = 'css/images/tree_loading.gif'; }); lyrSource.on('imageloadend', function(event) { console.log('imageloadend event',event); //replace with your custom action var elemId = event.target.params_.ELEMENTID; document.getElementById(elemId).src = 'css/images/ok.png'; }); lyrSource.on('imageloaderror', function(event) { console.log('imageloaderror event',event); //replace with your custom action var elemId = event.target.params_.ELEMENTID; document.getElementById(elemId).src = 'css/images/no.png'; }); |
For WFS Vecotr layers things are even more complicated:
so I made a fiddle you may see here -->fiddle
fiddle preview -->
Tuesday, September 15, 2015
openlayers 3 new version 3.9.0
open layers version 3.9.0 launched.
release notes may be found here --> release notes
Latest version may be downloaded from here -->v3.9.0.zip.
Still wait, for the vector api, the donut polygon support (intermediate solution for donut polygon may be found here -->draw hole fiddle ) as well as the undo/redo interaction. Hope to get these on next version.
There is also a new version for the ol3-cesium based on OL 3.9.0 and Cesium 1.13.
ol3-cesium v1.8 may be downloaded from here -->get it
release notes may be found here --> release notes
Latest version may be downloaded from here -->v3.9.0.zip.
Still wait, for the vector api, the donut polygon support (intermediate solution for donut polygon may be found here -->draw hole fiddle ) as well as the undo/redo interaction. Hope to get these on next version.
There is also a new version for the ol3-cesium based on OL 3.9.0 and Cesium 1.13.
ol3-cesium v1.8 may be downloaded from here -->get it
Subscribe to:
Posts (Atom)
Urban Growth Lab - UGLab
Proud to release a first version of the UGLab project . UGLab is a python open source project capable to execute Urban Growth predictions f...
-
Here is a simple online formats parser, I have recently develop, and I would like to share. May handle KML,GPX,GeoJson,WKT formats. It is j...
-
Common task when using gis files from different formats is the translation of autocad dxf files into any OGC compatitable format. Kabeja is...
-
As ol3 have not yet implemented the "draw hole" vector functionality, I did a bit of work to achive it. So, in the meantime, my ap...