OSGeo Planet

Jackie Ng: GovHack 2014 post-mortem

OSGeo Planet - 11 hours 32 min ago
Earlier this month, I attended the a href=http://www.govhack.org/GovHack 2014/a hackathon, along with thousands of other fellow hackers all across the country. This was my first GovHack, but not my first hackathon. My previous hackathon was a href=http://www.rhok.org/RHoK/a and having no idea how GovHack would turn out, I entered the GovHack event with a RHoK-based mindset of how I would expect this hackathon to turn out.br /br /Bad idea.br /br /I learned very quickly there was a major difference between RHoK and GovHack. Going into RHoK, you have an idea about what solutions you will get to hack on over the weekend as problem owners are present to pitch their ideas to the audience of prospective hackers. With GovHack, you bneed an idea/b about what solution you want to hack on over the weekend, all they were going to provide was the various open data and APIs. What on earth are we going to build?br /br /div class=separator style=clear: both; text-align: center;a href=http://2.bp.blogspot.com/-kOB0X88Rpmg/U9dT52xNlYI/AAAAAAAAFzM/dFLLfuAzjvU/s1600/14449375768_d214622152_b.jpg style=margin-left: 1em; margin-right: 1em;img border=0 height=263 src=http://2.bp.blogspot.com/-kOB0X88Rpmg/U9dT52xNlYI/AAAAAAAAFzM/dFLLfuAzjvU/s1600/14449375768_d214622152_b.jpg width=400 //a/divbr /br /So after losing nearly half the weekend to a href=http://en.wikipedia.org/wiki/Analysis_paralysisanalysis paralysis/a, our team (named CreativeDrought, wonder why?) agreed with my suggestion of just building a a href=http://mapguide.osgeo.org/MapGuide/a-based mashup of various open datasets, most notably, the a href=http://www.data.vic.gov.au/raw_data/crash-stats-data-extract/7752VicRoads Crash Stats dataset/a and related transportation data. I obviously knew MapGuide inside-and-out and its capabilities to have a level of confidence that with the remaining weekend we should still be able to crank out some sort of workable solution. At the very least, we'd have a functional interactive map with some open data on it.br /br /And that's the story of our CrashTest solution in a nutshell. It's a a href=http://trac.osgeo.org/fusion/Fusion/a application, packed to the gills with out-of-the-box functionality from its rich array of widgets (including a href=http://themapguyde.blogspot.com.au/2013/01/mapguide-open-source-25-whats-new.htmlGoogle StreetView/a integration). The main objective of this solution was to allow users to view and analyse crash data, sliced and diced along various age, gender, vehicle type and various socio-economic parameters.br /br /div class=separator style=clear: both; text-align: center;a href=http://3.bp.blogspot.com/-LuUyEpSpDmY/U9Z5PAHTz2I/AAAAAAAAFys/Z_x6OOsJ2A8/s1600/Capture.PNG style=margin-left: 1em; margin-right: 1em;img border=0 height=481 src=http://3.bp.blogspot.com/-LuUyEpSpDmY/U9Z5PAHTz2I/AAAAAAAAFys/Z_x6OOsJ2A8/s1600/Capture.PNG width=640 //a/divbr /br /MapGuide's rich out-of-the-box capabilities, a href=http://trac.osgeo.org/mapguide/wiki/maestroMaestro's/a rapid authoring functionality and a href=http://www.gdal.org/GDAL/OGR's/a ubiquitous data support greatly helped us. I knew with this trio of tools, that we could assemble an application together in the remaining day and a bit left that we had to actually hack on something.br /br /Sadly, we only got as far as putting the data on the map for the most part. Our team spent more time frantically trying to massage various datasets via a href=http://www.gdal.org/ogr2ogr.htmlogr2ogr/a/Excel/GoogleDocs into something more usable than actually writing lines of code! Seriously VicRoads? Pseudo-AMG? Thank goodness a href=http://nyalldawson.net/2013/05/vicroads-and-pseudo-amg/I found the necessary proj4 string/a for this cryptic coordinate system so that we could re-project a fair chunk of the VicRoads spatial data into a coordinate system that better reflects the world we want to mash this data up with!br /br /Still, our solution should hopefully still open up a lot of what if scenarios. Imagine looking at a cluster of accident events, not being able to ascertain any real patterns or correlation and so you then fire up the StreetView widget and lo-and-behold, Google StreetView providing additional insights that a birds-eye view could not. Also imagine the various reporting and number crunching possibilities that are available by tapping into the MapGuide API. Imagine what other useful information you could derive if we had more time to put up additional useful datasets. We didn't get very far on any of the above ideas, so just a href=https://www.youtube.com/watch?v=XLgYAHHkPFsimagine/a such possibilities if you will :)br /br /a href=http://hackerspace.govhack.org/content/crash-testSo here's our entry page/a if you want to have a look. It includes a working demo URL to a a href=http://aws.amazon.com/ec2/Amazon EC2/a hosted instance of MapGuide. Getting acquainted with a href=http://aws.amazon.com/Amazon Web Services/a and putting MapGuide up there was an interesting exercise and much easier than I thought it would be, though I didn't have enough time to use the AWS credits I redeemed over the weekend to momentarily lift this demo site out of the free usage tier range performance-wise. Still, the site seems to perform respectably well on the free usage tier.br /br /Also on that page is a link to a short video where we talk about the hack. Please excuse the sloppy editing, it was obviously recorded in haste in a race against time. Like the solution and/or the possibilities it can offer? Be sure to vote on our entry page.br /br /Despite the initial setbacks, I was happy with what we produced given the severely depleted time constraints imposed on us. I think we got some nice feedback demo-ing CrashTest in person at the post-mortem event several days later, which is always good to hear. Good job team!br /br /div class=separator style=clear: both; text-align: center;a href=http://2.bp.blogspot.com/-UPlDtoEK3HM/U9dbCZeu0zI/AAAAAAAAFzo/lhYlMLGEHaU/s1600/14449221799_58ce613669_z.jpg style=margin-left: 1em; margin-right: 1em;img border=0 height=265 src=http://2.bp.blogspot.com/-UPlDtoEK3HM/U9dbCZeu0zI/AAAAAAAAFzo/lhYlMLGEHaU/s1600/14449221799_58ce613669_z.jpg width=400 //a/divdiv class=separator style=clear: both; text-align: center;br //divSo what do I think could be improved with GovHack?br /ulliHave a list of hack ideas (by participants who actually have some ideas) up bsome time before the hackathon starts/b. This would facilitate team building, letting participants with the skills, but without ideas easily gravitate towards people/teams with the ideas./liliThe mandatory video requirement for each hack entry just doesn't work in its current form. Asking teams to produce their own videos puts lots of unnecessary stress on teams, who not only have to come up with the content for their video, but have to also deal with the logistics of producing said video. I would strongly prefer that teams who can/want to make their own video do so, while other teams can just do a lt;= 3 minute presentation and have that be recorded by the GovHack organisers. Presentations also lets teams find out how other teams fared over the weekend. While everyone else in the a href=http://www.thoughtworks.com/ThoughtWorks/a Melbourne office was counting down to the end of the hackathon, I was still frantically trying to record my lines and trying not to flub them! I raided the office fridge for whatever free booze that remained just to calm myself down afterwards. I don't want to be in that situation ever again!/liliFinally, the data itself. So many spatial datasets as CSV files! So many datasets with no coordinates, but have addresses, horribly formatted addresses, adding even more hoops to geocode them. KML/KMZ may be a decent consumer format, but it is a terrible bdata source/b format. If ogr2ogr can't convert your dataset, and requires a manual intervention of a href=http://qgis.org/en/site/QGIS/a to fix it, then perhaps it's better to use a different spatial data format. Despite my loathing of its limitations, SHP files would've been heavily preferred for all of the above cases. a href=https://www.formstack.com/forms/?1784394-5uYfNFlmeBI've made my thoughts known on the GovHack DataRater/a about the quality of some of these datasets we had to deal with and got plenty of imaginary ponies in the process./li/ulDespite the above points, the event as a whole was a lot of fun. Thanks to the team (Jackie and Felicity) for your data wrangling and video production efforts.br /br /div class=separator style=clear: both; text-align: center;a href=http://1.bp.blogspot.com/-Az2bP7Wi7Ns/U9dVsg8eZDI/AAAAAAAAFzY/rJnd0TyjECw/s1600/14466411978_9a6eab0c3c_z.jpg style=margin-left: 1em; margin-right: 1em;img border=0 height=265 src=http://1.bp.blogspot.com/-Az2bP7Wi7Ns/U9dVsg8eZDI/AAAAAAAAFzY/rJnd0TyjECw/s1600/14466411978_9a6eab0c3c_z.jpg width=400 //a/divbr /Also thanks to Jordan Wilson-Otto and a href=https://www.flickr.com/photos/125335438@N04/sets/72157645234649750/his flickr photostream/a where I was able to get some of these photos for this particular post.br /br /Would I be interested in attending the 2015 edition of GovHack? Given I am now armed with 20/20 hindsight, yes I would!
Categories: OSGeo Planet

A GeoSpatial World: PostGIS Viewer 3D suite

OSGeo Planet - Mon, 2014-07-28 10:08
p /p h1PosGIS Viewer 3D suite/h1 h6 table border=0 cellpadding=2 cellspacing=0 width=828tbody tr td width=212 /td td width=614a href=http://lh4.ggpht.com/-4TrZ0j1vhM4/U9VgJuPceNI/AAAAAAAAAvY/otTYJ2qO2cQ/s1600-h/pg3DViewer_title6_thumb82.pngimg alt=pg3DViewer_title6_thumb8 border=0 height=530 src=http://lh4.ggpht.com/-Rg2jy1ZRoqY/U9VgLZ9hAjI/AAAAAAAAAvg/9KEqEt6jCHg/pg3DViewer_title6_thumb8_thumb.png?imgmax=800 style=border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px; title=pg3DViewer_title6_thumb8 width=357 //a/td /tr /tbody/table /h6 h1 table border=0 cellpadding=2 cellspacing=0 width=669tbody tr td valign=bottom width=103a href=http://lh4.ggpht.com/-s5cpNjk_CGI/U9VgL6vPLMI/AAAAAAAAAvk/jY0mOQMCnFQ/s1600-h/image_thumb1752.pngimg alt=image_thumb175 border=0 height=110 src=http://lh3.ggpht.com/-Ndxf0hurZh8/U9VgMiqH0yI/AAAAAAAAAvs/SUF21BPIOYw/image_thumb175_thumb.png?imgmax=800 style=border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px; title=image_thumb175 width=102 //a/td td valign=bottom width=564font size=7ntroduction/font/td /tr /tbody/table /h1 pComme je vous l’annoncez dans mon précédent billet j’ai fait évoluer le pg3DViewer pour qu’il puisse gérer les géométries de type POINT, et pour mes test je me suis intéressé aux nuages de points ‘Points Clouds’'/p pa href=http://lh5.ggpht.com/-V5rtDXGbmf8/U9VgNG5v_qI/AAAAAAAAAv4/Lm2mX2XGpaw/s1600-h/image15.pngimg align=left alt=image border=0 height=240 src=http://lh5.ggpht.com/-SsKwyoNBRr0/U9VgN50g28I/AAAAAAAAAwA/UuGVhaubZJg/image_thumb9.png?imgmax=800 style=border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: left; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px; title=image width=214 //a/p p /p p /p p /p p /p p /p p /p p /p pPour la suite de ce tutorial nous utiliserons deux fichiers de données dont voici les liens de téléchargement :/p ul liun fichier Ascii au format xyz : a href=https://dl.dropboxusercontent.com/u/13543015/pg3DViewer/bunny.xyz target=_blankbunny.xyz/a /li liun fichier de données LIDAR sur le site City Of Surrey :a href=http://media.surrey.ca/files/opendata/2013%20LiDAR%205105_54480.las target=_blankhttp://media.surrey.ca/files/opendata/2013%20LiDAR%205105_54480.las/a /li /ul h1 table border=0 cellpadding=2 cellspacing=0 width=697tbody tr td valign=bottom width=102a href=http://lh4.ggpht.com/-fbUcA-JHXgY/U9VgOtuojNI/AAAAAAAAAwE/1UsfP51UaKE/s1600-h/image_thumb1742.pngimg alt=image_thumb174 border=0 height=110 src=http://lh3.ggpht.com/-b2Nc7NgvYD0/U9VgPF_ZUXI/AAAAAAAAAwM/Rrof8IktUu8/image_thumb174_thumb.png?imgmax=800 style=border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border-top-width: 0px; title=image_thumb174 width=102 //a/td td valign=bottom width=593font size=7nstallation/font/td /tr /tbody/table /h1 table border=0 cellpadding=2 cellspacing=0 width=858tbody tr td valign=top width=200a href=http://lh4.ggpht.com/-APtgj9v4mEs/U9VgPyfHnMI/AAAAAAAAAwY/wjK6XMbpNHk/s1600-h/image_thumb412.pngimg alt=image_thumb41 border=0 height=181 src=http://lh6.ggpht.com/-TefVxISpx8U/U9VgQwUxUxI/AAAAAAAAAwc/-uLoRHdQ2tQ/image_thumb41_thumb.png?imgmax=800 style=border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px; title=image_thumb41 width=250 //a/td td valign=top width=656 pCliquez sur le lien a href=https://dl.dropboxusercontent.com/u/13543015/pg3DViewer/pg3DViewer_setup.exe target=_blankpg3DViewer_setup.exe/a pour télécharger le programme d’installation de la nouvelle version, si vous aviez installé la version précédente désinstallez la, puis lancer l’exécution./p pCliquer sur le  bouton Suivant à chaque étape, puis sur le bouton Terminer./p /td /tr /tbody/table pDans le précédent billet vous avez tous les écrans de l’installation : a href=http://ageoguy.blogspot.fr/2014/07/postgis-3d-viewer.html title=http://ageoguy.blogspot.fr/2014/07/postgis-3d-viewer.htmlhttp://ageoguy.blogspot.fr/2014/07/postgis-3d-viewer.html/a/p p /p h1 table border=0 cellpadding=2 cellspacing=0 width=310tbody tr td valign=bottom width=101a href=http://lh6.ggpht.com/-9LGTL4q_pbQ/U9VgSHnkLzI/AAAAAAAAAwg/zvoeHHwwrYg/s1600-h/image_thumb1792.pngimg alt=image_thumb179 border=0 height=110 src=http://lh3.ggpht.com/-gXIh97qVhtY/U9VgSplrv0I/AAAAAAAAAws/mioqnpZYICk/image_thumb179_thumb.png?imgmax=800 style=border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px; title=image_thumb179 width=104 //a/td td valign=bottom width=207tilisation/td /tr /tbody/table /h1 pAvant de commencer à utiliser pg3Dviewer vous devez avoir une base de données PostgreSQL avec la cartouche spatiale PostGIS version 2.0 ou supérieure./p table border=0 cellpadding=2 cellspacing=0 width=822tbody tr td width=106a href=http://lh5.ggpht.com/-uOycUFdW1Fw/U9VgTYuSOnI/AAAAAAAAAww/oTHY2BNEDKw/s1600-h/image_thumb612.pngimg alt=image_thumb61 border=0 height=74 src=http://lh3.ggpht.com/-GCG6qyRpBhQ/U9VgT5l-6bI/AAAAAAAAAw8/oyyjM-atz28/image_thumb61_thumb.png?imgmax=800 style=border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border-top-width: 0px; title=image_thumb61 width=98 //a/td td width=714Double cliquez sur l’icone créé par le programme d’installation sur le bureau pour lancer l’application./td /tr /tbody/table pa href=http://lh6.ggpht.com/-a-awJE7LZYo/U9VgVN6km5I/AAAAAAAAAxI/ghPskdmJPLQ/s1600-h/image_thumb502.pngimg alt=image_thumb50 border=0 height=418 src=http://lh5.ggpht.com/-eFWr2fNErjM/U9VgWR4a-XI/AAAAAAAAAxQ/X7zKteEst78/image_thumb50_thumb.png?imgmax=800 style=border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border-top-width: 0px; title=image_thumb50 width=644 //a/p pa href=http://lh5.ggpht.com/-punukZtYAxY/U9VgW708M3I/AAAAAAAAAxU/sxqyC5jg6Ws/s1600-h/image_thumb22.pngimg alt=image_thumb2 border=0 height=354 src=http://lh6.ggpht.com/-XNY9vPxHBWs/U9VgXlOSnLI/AAAAAAAAAxc/hnr2s6Ww69Q/image_thumb2_thumb.png?imgmax=800 style=border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border-top-width: 0px; title=image_thumb2 width=644 //a/p h3Connecter vous à votre base de données 3D/h3 p /p table border=0 cellpadding=2 cellspacing=0 width=849tbody tr td valign=top width=56a href=http://lh6.ggpht.com/-IE9z2ir-eR4/U9VgYF2Y1mI/AAAAAAAAAxk/Rj3RlqfcQ34/s1600-h/image_thumb162.pngimg alt=image_thumb16 border=0 height=43 src=http://lh4.ggpht.com/-ykwDP2u8GfU/U9VgYiI8_jI/AAAAAAAAAxw/DvbrojtbE0A/image_thumb16_thumb.png?imgmax=800 style=border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border-top-width: 0px; title=image_thumb16 width=42 //a/td td valign=top width=791 pCommencez par cliquer sur cet icône pour vous connecter a une base de données PostgreSQL/PostGIS version 2.0 ou supérieur contenant des données 3D ou prête à en recevoir./p /td /tr tr td valign=top width=61 /td td valign=top width=787 ul liChoisissez localhost pour serveur si votre base de données est en local sur votre machine ou bien saisissez l’adresse IP de votre serveur /li lile port est par défaut 5432, changez le si nécessaire /li lisaisissez l’utilisateur /li lisaisissez le mot de passe /li lichoisissez une base de donnée dans la combobox /li licliquez sur le bout OK pour valider votre saisie. /li /ul pa href=http://lh6.ggpht.com/-lK9jEBuLW4Y/U9VgZVb3JBI/AAAAAAAAAx0/JG4mjPibNeA/s1600-h/image_thumb17112.pngimg alt=image_thumb1711 border=0 height=348 src=http://lh4.ggpht.com/-uw6h51xrttI/U9VgaMxKwUI/AAAAAAAAAyA/Rnp-VmNrmFk/image_thumb1711_thumb.png?imgmax=800 style=border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px; title=image_thumb1711 width=347 //a/p /td /tr /tbody/table h3 /h3 h3Traitement d’un fichier Ascii XYZ/h3 pNous allons utiliser le fichier bunny.xyz que vous avez téléchargé dans l’introduction./p table border=2 cellpadding=2 cellspacing=0 width=950tbody tr height=250 td valign=top width=295Nous allons créer la table qui va accueillir les donnés. Dans PgAdmin III ouvrez l’outil de requêtes puis br /copiez la requête suivante : br / pfont color=#008000-- Table: bunny/font/p pfont color=#008000-- DROP TABLE bunny;/font/p pfont color=#0080c0CREATE TABLE/font bunny br /( br /  x font color=#0080c0double precision/font, br /  y font color=#0080c0double precision/font, br /  z font color=#0080c0double precision/font, br /  id bigserial font color=#0080c0NOT NULL/font, br /  font color=#0080c0CONSTRAINT/font bunny_pkey font color=#0080c0PRIMARY/font font color=#0080c0KEY/font (id) br /) br /font color=#0080c0WITH/font ( br /  font color=#0080c0OIDS=FALSE/font br /); br /font color=#0080c0ALTER TABLE/font bunny br /  font color=#0080c0OWNER TO/font postgres;/p Puis exécuter la. br / br //td td valign=top width=651a href=http://lh6.ggpht.com/-aJAmxaGoLjo/U9VgatJGLBI/AAAAAAAAAyE/LxqOhD8yuOQ/s1600-h/image2.pngimg alt=image border=0 height=397 src=http://lh4.ggpht.com/-T7LmLMFYp54/U9VgbWg5BWI/AAAAAAAAAyM/55Afo_RW7yI/image_thumb.png?imgmax=800 style=border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border-top-width: 0px; title=image width=566 //a/td /tr tr height=150 td valign=top width=290Puis nous allons insérer les données dans la table. Copiez la requête suivante dans l’éditeur de requêtes : br / pfont color=#0080c0copy/font lidar_test(x,y,z,classification) br /font color=#0080fffrom/font 'C:/temp/bunny.txt' br /font color=#0080c0with delimiter/font ' '/p ppuis exécuter la. /p /td td valign=top width=656a href=http://lh6.ggpht.com/-pKEaLa8pYmY/U9VgcKTcaOI/AAAAAAAAAyU/lp-sbtthzwc/s1600-h/image14.pngimg alt=image border=0 height=204 src=http://lh4.ggpht.com/-GSXPM8yBKBc/U9VgdFwSTTI/AAAAAAAAAyY/hyOM6Blz4TQ/image_thumb4.png?imgmax=800 style=border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border-top-width: 0px; title=image width=565 //a/td /tr tr height=150 td valign=top width=286Maintenant nous allons pouvoir visualiser les données. Dans le panneau Query copiez la requête suivante : br / br / pfont color=#0080c0SELECT/font x,y,z br /font color=#0080c0FROM/font bunny font color=#0080c0AS/font points_xyz/p pCliquez sur l’icone ‘emExecute query/em’/p /td td valign=top width=660a href=http://lh6.ggpht.com/-GLKEE9DvL58/U9VgdrgKcjI/AAAAAAAAAyk/Fy_K11kXdlc/s1600-h/image20.pngimg alt=image border=0 height=209 src=http://lh3.ggpht.com/-9lpWY6oMnPA/U9VgetEz5xI/AAAAAAAAAys/NpOsUMJbbUc/image_thumb6.png?imgmax=800 style=border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border-top-width: 0px; title=image width=302 //a/td /tr tr height=150 td valign=top width=283Et voici le résultat après Zoom et Rotation. br /Comme vous avez du le remarquer le temps d’affichage est très rapide pour une table contenant 34835 points. br / br / br / br / br / br / br / br / br / br / br / br / br / br / br //td td valign=top width=663a href=http://lh4.ggpht.com/-kjzIY0byrnk/U9Vgft1kB6I/AAAAAAAAAy4/QyTWop5OQnI/s1600-h/image24.pngimg alt=image border=0 height=306 src=http://lh3.ggpht.com/-ACE-fBoQkRc/U9VggRF8UtI/AAAAAAAAAzA/wp0n2TX_Gpo/image_thumb8.png?imgmax=800 style=border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px; title=image width=644 //a/td /tr tr height=150 td valign=top width=281Nous allons maintenant essayer une nouvelle requête.Dans le panneau Query copiez la requête suivante : br / br / pfont color=#0080c0SELECT /fontst_geomfromtext('POINT Z('||x||' '||y||' '||z||')',0) as geom,'255:0:0'::text AS rgb font color=#0080c0FROM/font bunny/p pCliquez sur l’icone ‘emExecute query/em’/p /td td valign=top width=665a href=http://lh3.ggpht.com/-RUP3RrcMogc/U9Vgh-iG3PI/AAAAAAAAAzE/6Gskxc7WpFQ/s1600-h/image27.pngimg alt=image border=0 height=212 src=http://lh5.ggpht.com/-KLWSxok-qgY/U9VgiTdGzJI/AAAAAAAAAzM/kdOitkeJ5cs/image_thumb91.png?imgmax=800 style=border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border-top-width: 0px; title=image width=299 //a/td /tr tr height=310 td valign=top width=280Et voici le résultat après Zoom et Rotation. br /Le temps d’affichage est beaucoup plus long parce que dans cette requête nous construisons la géométrie à la volée. br / br /La différence avec la requête précédente est que celle-ci génère un fichier de points au format xyz (grâce à la commande COPY TO de PostgreSQL) qu’exploite un ‘emreader/em’ de  la bibliothèque VTK. Tout cela ce fait avec l’ajout de ‘A'S points_xyz’ a la fin de la requête et la sélection des champs x,y et z. br / br / br / br / br / br //td td valign=top width=668a href=http://lh4.ggpht.com/-DIz22ijyPEM/U9Vgjf95I8I/AAAAAAAAAzY/aKK7J3anQPk/s1600-h/image31.pngimg alt=image border=0 height=303 src=http://lh5.ggpht.com/-0ugLTvHLFF0/U9Vgjzj8KyI/AAAAAAAAAzg/4PhPrRYPX9U/image_thumb11.png?imgmax=800 style=border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px; title=image width=644 //a/td /tr /tbody/table h3Traitement d’un fichier LAS/h3 table border=0 cellpadding=2 cellspacing=0 width=950tbody tr td valign=top width=950 pNous allons utiliser le fichier ‘em2013/em emLiDAR 5105_54480.las’/em que vous avez téléchargé dans l’introduction. Il va nous falloir des outils pour pouvoir importer ce fichier dans notre base de donnée, nous allons utiliser une collection d’outils qui s’appelle LASTOOLS que l’on peut télécharger sur le site de a href=http://www.cs.unc.edu/~isenburg/lastools/ title=http://www.cs.unc.edu/~isenburg/lastools/http://www.cs.unc.edu/~isenburg/lastools//a et dont voici le lien de téléchargement : a href=http://lastools.org/download/lastools.zip title=http://lastools.org/download/lastools.ziphttp://lastools.org/download/lastools.zip/a/p pL’outil que nous allons utiliser s’appelle emlas2txt /em, voici l’entête du README associé:/p blockquote p**************************************************************** br /las2txt: br /Converts from binary LAS/LAZ 1.0 - 1.4 to an ASCII text format br /For updates check the website or join the LAStools mailing list./p pa href=http://rapidlasso.com/http://rapidlasso.com//a br /a href=http://lastools.org/http://lastools.org//a br /a href=http://groups.google.com/group/lastools/http://groups.google.com/group/lastools//a br /a href=http://twitter.com/lastools/http://twitter.com/lastools//a br /a href=http://facebook.com/lastools/http://facebook.com/lastools//a br /a href=http://linkedin.com/groups?gid=4408378http://linkedin.com/groups?gid=4408378/a/p pMartin @lastools br /**************************************************************** br //p /blockquote pEt le lien pour le consulter : a href=http://www.cs.unc.edu/~isenburg/lastools/download/las2txt_README.txt title=http://www.cs.unc.edu/~isenburg/lastools/download/las2txt_README.txthttp://www.cs.unc.edu/~isenburg/lastools/download/las2txt_README.txt/a/p /td /tr /tbody/table table border=2 cellpadding=2 cellspacing=0 width=950tbody tr td valign=top width=295Ouvrez une fenêtre DOS, allez dans le répertoire ou vous avez installé LASTOOLS, puis dans le sous répertoire bin. Copiez la commande suivante : br /las2txt -i C:\temp\2013 LiDAR 5105_54480.las -parse xyzc -sep semicolon br / br /Cette commande va générer un fichier Ascii (.txt) au format x,y,z et classification avec pour séparateur de colonne le caractère ‘;’ (point virgule). br / br //td td valign=top width=651a href=http://lh4.ggpht.com/-EU_FKtr2-AA/U9Vgk6BTV3I/AAAAAAAAAzk/bNeuawLKJMo/s1600-h/image36.pngimg alt=image border=0 height=205 src=http://lh4.ggpht.com/-x438NbnM9dI/U9VglVstdPI/AAAAAAAAAzw/WoKQjbiELow/image_thumb14.png?imgmax=800 style=border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px; title=image width=644 //a/td /tr tr td valign=top width=290Nous disposons à présent d’un fichier que nous allons pouvoir insérer dans notre base de données. Pour cela nous allons commencer par créer la table qui recevra les données, dans la fenêtre de requêtes de PgAdmin III copiez la requête suivante: br / pfont color=#008000-- Table: lidar_test/font/p pfont color=#008000-- DROP TABLE lidar_test;/font/p pCREATE TABLE lidar_test br /( br /  x double precision, br /  y double precision, br /  z double precision, br /  classification integer br /) br /WITH ( br /  OIDS=FALSE br /); br /ALTER TABLE lidar_test br /  OWNER TO postgres;/p puis exécuter la. br //td td valign=top width=656a href=http://lh6.ggpht.com/-9eOtMNobolo/U9VgmUa7GoI/AAAAAAAAAz0/0LWHbfWVNR4/s1600-h/image42.pngimg alt=image border=0 height=375 src=http://lh3.ggpht.com/-rR53M6bJ0NM/U9Vgm1vKXSI/AAAAAAAAAz8/zlSou_A1UDs/image_thumb16.png?imgmax=800 style=border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border-top-width: 0px; title=image width=566 //a/td /tr tr td valign=top width=286 pPuis nous allons insérer les données dans la table. Copiez la requête suivante dans l’éditeur de requêtes :/p pfont color=#0080c0copy/font lidar_test(x,y,z,classification) br /from 'C:/temp/2013 LiDAR 5105_54480.txt' br /with delimiter ';'/p ppuis exécuter la. /p /td td valign=top width=660a href=http://lh5.ggpht.com/-7MohBWdgZ4s/U9VgnR0OuHI/AAAAAAAAA0E/b134dD0Qp7E/s1600-h/image45.pngimg alt=image border=0 height=197 src=http://lh4.ggpht.com/-sMveK8u_bO0/U9VgoDMaBJI/AAAAAAAAA0M/uYard5DUW9U/image_thumb17.png?imgmax=800 style=border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border-top-width: 0px; title=image width=567 //a/td /tr tr td valign=top width=282Maintenant nous allons pouvoir visualiser les données. Dans le panneau Query copiez la requête suivante : br / br / pselect x,y,z, br /CASE br /WHEN classification=2 then '128:0:0' br /WHEN classification=3 then '0:64:0' br /WHEN classification=4 then '0:128:0' br /WHEN classification=5 then '0:255:0' br /WHEN classification=6 then '255:128:64' br /WHEN classification=11 then '128:128:128' br /END as rgb br /from lidar_test as points_xyzrgb br //p pCliquez sur l’icone ‘emExecute query/em’/p /td td valign=top width=664a href=http://lh6.ggpht.com/-4TXw-sifY_A/U9Vgot-u6tI/AAAAAAAAA0U/ZJbz1QOCLHg/s1600-h/image48.pngimg alt=image border=0 height=223 src=http://lh4.ggpht.com/-466o_YheDXc/U9VgpWLdfEI/AAAAAAAAA0g/30kt55lBa14/image_thumb18.png?imgmax=800 style=border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border-top-width: 0px; title=image width=302 //a/td /tr tr td valign=top width=279Et voici le résultat br / br / br / br / br / br / br / br / br / br / br / br / br / br / br / br / br //td td valign=top width=667a href=http://lh6.ggpht.com/-t-8bopHj6uM/U9Vgq8Ot98I/AAAAAAAAA0o/YMnE-EEMYa8/s1600-h/image52.pngimg alt=image border=0 height=302 src=http://lh3.ggpht.com/-wbi8gGHak7o/U9VgsOO5TII/AAAAAAAAA0w/ErODUCkdElk/image_thumb20.png?imgmax=800 style=border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px; title=image width=644 //a/td /tr tr td valign=top width=277Les valeurs de classification utilisées dans la requête sont issues de cette requête : br /select distinct classification from lidar_test order by 1 br / br /Vous pouvez également obtenir des informations sur le fichier LAS avec l’outil lasinfo, dans une fenêtre DOS tapez la commande suivante : br / br /lasinfo c:\temp\2013 LiDAR 5105_54480.las br / br /a la fin du rapport vous obtenez la définition de la classification./td td valign=top width=670 plasinfo for c:\temp\2013 LiDAR 5105_54480.las br /reporting all LAS header entries: br /  file signature:             'LASF' br /  file source ID:             0 br /  global_encoding:            1 br /  project ID GUID data 1-4:   00000000-0000-0000-0000-000000000000 br /  version major.minor:        1.2 br /  system identifier:          '' br /  generating software:        'TerraScan' br /  file creation day/year:     156/2013 br /  header size:                227 br /  offset to point data:       447 br /  number var. length records: 2 br /  point data format:          1 br /  point data record length:   28 br /  number of point records:    7938187 br /  number of points by return: 6742290 914660 231891 44542 4804 br /  scale factor x y z:         0.001 0.001 0.001 br /  offset x y z:               510499.94 5447999.8799999999 0 br /  min x y z:                  510499.940 5447999.880 34.110 br /  max x y z:                  511000.110 5448500.100 275.690 br /variable length header record 1 of 2: br /  reserved             43707 br /  user ID              'LASF_Projection' br /  record ID            34735 br /  length after header  88 br /  description          'Georeferencing Information' br /    GeoKeyDirectoryTag version 1.1.0 number of keys 10 br /      key 1024 tiff_tag_location 0 count 1 value_offset 1 - GTModelTypeGeoKey: ModelTypeProjected br /      key 2048 tiff_tag_location 0 count 1 value_offset 4269 - GeographicTypeGeoKey: GCS_NAD83 br /      key 2054 tiff_tag_location 0 count 1 value_offset 9102 - GeogAngularUnitsGeoKey: Angular_Degree br /      key 2056 tiff_tag_location 0 count 1 value_offset 7019 - GeogEllipsoidGeoKey: Ellipse_GRS_1980 br /      key 2057 tiff_tag_location 34736 count 1 value_offset 0 - GeogSemiMajorAxisGeoKey: 6378137 br /      key 2058 tiff_tag_location 34736 count 1 value_offset 1 - GeogSemiMinorAxisGeoKey: 6356752.314 br /      key 2059 tiff_tag_location 34736 count 1 value_offset 2 - GeogInvFlatteningGeoKey: 298.2572221 br /      key 3072 tiff_tag_location 0 count 1 value_offset 26910 - ProjectedCSTypeGeoKey: UTM 10 northern hemisphere br /      key 3076 tiff_tag_location 0 count 1 value_offset 9001 - ProjLinearUnitsGeoKey: Linear_Meter br /      key 4099 tiff_tag_location 0 count 1 value_offset 9001 - VerticalUnitsGeoKey: Linear_Meter br /variable length header record 2 of 2: br /  reserved             43707 br /  user ID              'LASF_Projection' br /  record ID            34736 br /  length after header  24 br /  description          'Double Param Array' br /    GeoDoubleParamsTag (number of doubles 3) br /      6.37814e+006 6.35675e+006 298.257 br /reporting minimum and maximum for all LAS point record entries ... br /  X                   0     500170 br /  Y                   0     500220 br /  Z               34110     275690 br /  intensity           0        255 br /  return_number       1          5 br /  number_of_returns   1          5 br /  edge_of_flight_line 0          0 br /  scan_direction_flag 0          1 br /  classification      2         11 br /  scan_angle_rank   -19         22 br /  user_data          79         79 br /  point_source_ID 10217      10238 br /  gps_time 49786940.848411 49796462.877692 br /WARNING: there is coordinate resolution fluff (x10) in XYZ br /overview over number of returns of given pulse: 5825940 1363444 563503 160908 24392 0 0 br /histogram of classification of points: br /         2030423  ground (2) br /         1836807  low vegetation (3) br /          234836  medium vegetation (4) br /         1811842  high vegetation (5) br /         2022021  building (6) br /            2258  road surface (11)/p /td /tr /tbody/table p /p h1 table border=0 cellpadding=2 cellspacing=0 width=896tbody tr td valign=top width=116a href=http://lh4.ggpht.com/-WfV6Z9sTC_g/U9Vgs6y7ihI/AAAAAAAAA00/zKOAi1F3qRo/s1600-h/image_thumb100%25255B5%25255D.pngimg alt=image_thumb100 border=0 height=105 src=http://lh4.ggpht.com/-aY3eMmEoSxo/U9VgtZCl5kI/AAAAAAAAA08/8Cq_ADoUmZE/image_thumb100_thumb%25255B1%25255D.png?imgmax=800 style=border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border-top-width: 0px; title=image_thumb100 width=102 //a/td td valign=bottom width=778onclusion./td /tr /tbody/table /h1 pNous sommes arrivés à la fin de ce billet, je vous conseille la lecture d’un excellent tutorial de Paul Ramsey concernant les données LIDAR que vous trouverez a cette adresse  a href=http://workshops.boundlessgeo.com/tutorial-lidar/ title=http://workshops.boundlessgeo.com/tutorial-lidar/http://workshops.boundlessgeo.com/tutorial-lidar//a , il ne vous restera plus qu’a afficher les données en utilisant les fonctions présentées dans ce ‘tutorial lidar’./p
Categories: OSGeo Planet

Cameron Shorter: OSGeo-Live UAT in one week: Testing and doc updates required

OSGeo Planet - Sun, 2014-07-27 22:54
div class=separator style=clear: both; text-align: center;a href=http://3.bp.blogspot.com/-bB19DOpDtz4/Ux9uaJ2k0PI/AAAAAAAAAVg/jjJwFATLxlI/s1600/osgeolive_menu.png style=clear: right; float: right; margin-bottom: 1em; margin-left: 1em;img border=0 height=240 src=http://3.bp.blogspot.com/-bB19DOpDtz4/Ux9uaJ2k0PI/AAAAAAAAAVg/jjJwFATLxlI/s1600/osgeolive_menu.png width=320 //a/divIn this OSGeo-Live 8.0 development cycle we have seen major upgrades: moving to the light weight Lubuntu distribution, moving to a new Long Time Support release (LTS), and moving even more applications to make use of Debian packaging. It should be our best distribution yet. But this has impacted our schedule, as the Ubuntu LTS has only become stable within the last week (14.04.1 release), and we need help in order to deliver OSGeo-Live to a class=external text href=http://2014.foss4g.org/ rel=nofollow style=color: #3366bb; padding-right: 13px; text-decoration: none;FOSS4G-PDX/a with our usual high level of quality and reliability. In particular, we need help: br /olliTesting to verify everything works in this new system and fixing bugs. Download alpha1 a class=external text href=http://osprey.ucdavis.edu/downloads/osgeo/gisvm/gisvm/8.0alpha4/osgeo-live-mini-8.0alpha4-i386.iso rel=nofollow style=color: #3366bb; padding-right: 13px; text-decoration: none;here/a [0]./liliUpdating version number in your Project Overview (if changed), and possibly mention a new feature or two. Doc a class=external text href=http://wiki.osgeo.org/wiki/Live_GIS_Disc#Documentation rel=nofollow style=color: #3366bb; padding-right: 13px; text-decoration: none;howtos/a [4]./liliRe-running the Quickstart and ensure each step is still valid, and screenshots match the implementation./liliUpdating status of the Project Overview and Quickstart to 8.0draft in our status sheet. [1]/li/olDue to our tight timelines, we might need to hide applications which we can't get stablised, tested, or docs updated in time. Please check our current list of open issues [2][3] to verify that your project is working as expected. br /h2Schedule/h2ulli27 July 2014 Alpha4 released [3]. Please verify all applications work and fix bugs./lili03 August 2014 Beta1 release - start taking screen shots with new background./lili07 August 2014 Community Testing Sprint (UAT)./lili07 August 2014 English docs complete./lili14 August 2014 Translations complete./lili17 August 2014 OSGeo-Live 8.0 sent to the printers./li/ul[0] a class=external free href=http://osprey.ucdavis.edu/downloads/osgeo/gisvm/gisvm/8.0alpha4/osgeo-live-mini-8.0alpha4-i386.iso rel=nofollow style=color: #3366bb; padding-right: 13px; text-decoration: none;http://osprey.ucdavis.edu/downloads/osgeo/gisvm/gisvm/8.0alpha4/osgeo-live-mini-8.0alpha4-i386.iso/abr /[1] a class=external free href=https://docs.google.com/spreadsheet/ccc?key=0Al9zh8DjmU_RdGIzd0VLLTBpQVJuNVlHMlBWSDhKLXc#gid=13 rel=nofollow style=color: #3366bb; padding-right: 16px; text-decoration: none;https://docs.google.com/spreadsheet/ccc?key=0Al9zh8DjmU_RdGIzd0VLLTBpQVJuNVlHMlBWSDhKLXc#gid=13/abr /[2] a class=external free href=http://trac.osgeo.org/osgeo/report/10 rel=nofollow style=color: #3366bb; padding-right: 13px; text-decoration: none;http://trac.osgeo.org/osgeo/report/10/abr /[3] a class=external free href=http://lists.osgeo.org/pipermail/live-demo/2014-July/009274.html rel=nofollow style=color: #3366bb; padding-right: 13px; text-decoration: none;http://lists.osgeo.org/pipermail/live-demo/2014-July/009274.html/abr /[4] a class=external free href=http://wiki.osgeo.org/wiki/Live_GIS_Disc#Documentation rel=nofollow style=color: #3366bb; padding-right: 13px; text-decoration: none;http://wiki.osgeo.org/wiki/Live_GIS_Disc#Documentation/a
Categories: OSGeo Planet

Markus Neteler: Rendering a brain CT scan in 3D with GRASS GIS 7

OSGeo Planet - Sat, 2014-07-26 23:32
pa href=http://courses.neteler.org/wp-content/uploads/2014/07/brainscan1.jpgimg alt=brainscan1 class=size-thumbnail wp-image-531 alignright height=137 src=http://courses.neteler.org/wp-content/uploads/2014/07/brainscan1-150x137.jpg width=150 //aLast year (2013) I “enjoyed” a a href=http://en.wikipedia.org/wiki/Computed_tomography_of_the_headbrain CT scan/a in order to identify a post-a href=http://courses.neteler.org/back-home-from-heart-surgery/ title=Back home from heart surgerysurgery/a issue – luckily nothing found. Being in Italy, like all patients I received a CD-ROM with the scan data on it: so, something to play with! In this article I’ll show how to easily strongturn 2D scan data/strong into a strongvolumetric (voxel) visualization/strong./p pThe CT scan data come in a a href=http://en.wikipedia.org/wiki/DICOMDICOM format/a which a href=http://www.imagemagick.org/ImageMagick/a is able to read and convert. Knowing that, we furthermore need the open source software packages a href=http://grass.osgeo.org/grass7/GRASS GIS 7/a and a href=http://www.paraview.org/Paraview/a to get the job done./p pFirst of all, we create a new XY (unprojected) GRASS location to import the data into:/p p style=padding-left: 30px;# create a new, empty location (or use the a href=http://grasswiki.osgeo.org/wiki/GRASS_Location_WizardLocation wizard/a):br / grass70 -c ~/grassdata/brain_ct/p pWe now start GRASS GIS 7 with that location. After mounting the CD-ROM we navigate into the image directory therein. The directory name depends on the type of CT scanner which was used in the hospital. The file name suffix may be .IMA./p pNow we count the number of images, convert and import them into GRASS GIS:/p p style=padding-left: 30px;# list and countbr / LIST=`ls -1 *.IMA`br / MAX=`echo $LIST | wc -w`/p p style=padding-left: 30px;# import into XY location:br / curr=1br / for i in $LIST ; do/p p style=padding-left: 30px;# pretty print the numbers to 000X for easier looping:br / curr=`echo $curr | awk ‘{printf “%04d\n”, $1}’`br / convert “$i” brain.$curr.pngbr / r.in.gdal in=brain.$curr.png out=brain.$currbr / r.null brain.$curr setnull=0br / rm -f brain.$curr.pngbr / curr=`expr $curr + 1`/p p style=padding-left: 30px;done/p p style=text-align: center;At this point strongall CT slices are imported/strong in an ordered way. For extra fun, we can stronganimate/strong the 2D slices in a href=http://grass.osgeo.org/grass70/manuals/g.gui.animation.htmlg.gui.animation/a:/p p style=text-align: center;a href=http://courses.neteler.org/wp-content/uploads/2014/07/brainscan_g_gui_animation.jpgimg alt=Animation of brain scan slices class=size-medium wp-image-532 alignnone height=253 src=http://courses.neteler.org/wp-content/uploads/2014/07/brainscan_g_gui_animation-300x253.jpg width=300 //aembr / (click to enlarge)/em/p p style=padding-left: 30px;# enter in one line:br / g.gui.animation rast=`g.mlist -e rast separator=comma pattern=”brain*”`/p pThe tool allows to export as animated GIF or AVI:/p p style=text-align: center;a href=http://courses.neteler.org/wp-content/uploads/2014/07/markus_brain_ct_animation.gifimg alt=Animation of brain scan slices class=size-thumbnail wp-image-533 aligncenter height=223 src=http://courses.neteler.org/wp-content/uploads/2014/07/markus_brain_ct_animation.gif width=328 //a em(click to enlarge)/em/p pNow it is time to generate a strongvolume/strong:/p p style=padding-left: 30px;# first count number of available layersbr / g.mlist rast pat=”brain*” | wc -l/p p style=padding-left: 30px;# now set 3D region to number of available layers (as number of depths)br / g.region rast=brain.0003 b=1 t=$MAX -p3/p pAt this point the a href=http://grasswiki.osgeo.org/wiki/Computational_regioncomputational region/a is properly defined to our 3D raster space. Time to convert the 2D slices into voxels by stacking them on top of each other:/p p style=padding-left: 30px;# convert 2D slices to 3D slices:br / r.to.rast3 `g.mlist rast pat=”brain*” sep=,` out=brain_vol/p pWe can now look at the volume with GRASS GIS’ emwxNVIZ/em or preferably the extremely powerful strongParaview/strong. The latter requires an export of the volume to VTK format:/p p style=padding-left: 30px;# fetch some environment variablesbr / eval `g.gisenv -s`br / # export GRASS voxels to VTK 3D as 3D points, with scaled z values:br / SCALE=2br / g.message “Exporting to VTK format, scale factor: $SCALE”br / r3.out.vtk brain_vol dp=2 elevscale=$SCALE \br / output=${PREFIX}_${MAPSET}_brain_vol_scaled${SCALE}.vtk -p/p pEventually we can open this new VTK file in Paraview for strongvisual exploration/strong:/p p style=padding-left: 30px;# show as volumebr / # In Paraview: Properties: Apply; Display Repres: volume; etc.br / paraview –data=brain_s1_vol_scaled2.vtk/p pa href=http://courses.neteler.org/wp-content/uploads/2014/07/markus_brain_ct_scan3.pngimg alt=markus_brain_ct_scan3 class=alignleft size-medium wp-image-539 height=170 src=http://courses.neteler.org/wp-content/uploads/2014/07/markus_brain_ct_scan3-300x170.png width=300 //a a href=http://courses.neteler.org/wp-content/uploads/2014/07/markus_brain_ct_scan4.pngimg alt=markus_brain_ct_scan4 class=alignleft size-medium wp-image-540 height=170 src=http://courses.neteler.org/wp-content/uploads/2014/07/markus_brain_ct_scan4-300x170.png width=300 //a a href=http://courses.neteler.org/wp-content/uploads/2014/07/markus_brain_ct_scan2.pngimg alt=markus_brain_ct_scan2 class=alignleft size-medium wp-image-538 height=170 src=http://courses.neteler.org/wp-content/uploads/2014/07/markus_brain_ct_scan2-300x170.png width=300 //a/p p /p p /p p /p p /p p /p p /p p /p p /p p /p p /p p /p p /p pFairly easy!/p pBTW: I have a scan of my non-smoker lungs as well img alt=:-) class=wp-smiley src=http://courses.neteler.org/wp-includes/images/smilies/icon_smile.gif / /p
Categories: OSGeo Planet

GeoTools Team: GeoTools 12-beta Released

OSGeo Planet - Fri, 2014-07-25 22:38
divdivThe GeoTools community is delighted to announce availability of GeoTools 12-beta for testing:/div/divdiv class=post-body entry-content id=post-body-2992135552493375359 style=background-color: white;div dir=ltrullia href=http://sourceforge.net/projects/geotools/files/GeoTools%2012%20Releases/12-beta/geotools-12-beta-bin.zip/download style=color: #ca7900; target=_blankspan style=font-family: inherit;geotools-12-beta.zip/span/a/lilia href=http://sourceforge.net/projects/geotools/files/GeoTools%2012%20Releases/12-beta/geotools-12-beta-doc.zip/download style=color: #ca7900; target=_blankspan style=font-family: inherit;geotools-12-beta-doc.zip/span/a/lilia href=http://sourceforge.net/projects/geotools/files/GeoTools%2012%20Releases/12-beta/geotools-12-beta-userguide.zip/download rel=nofollow style=color: #ca7900;span style=font-family: inherit;geotools-12-beta-userguide.zip/span/a/lilispan style=color: #ca7900; font-family: inherit;a href=http://sourceforge.net/projects/geotools/files/GeoTools%2012%20Releases/12-beta/geotools-12-beta-project.zip/download style=color: #ca7900; target=_blankgeotools-12-beta-project.zip/a/span/lilia href=http://download.osgeo.org/webdav/geotools/span style=font-family: inherit;maven repository/span/a/li/ulspan style=font-family: inherit;spanThis release is made in conjunction with /spana href=http://blog.geoserver.org/2014/07/24/geoserver-2-6-beta-released/GeoServer 2.6-beta/aspan./span/spanbr /divspan style=font-family: inherit;br //span/divdivdivspan style=font-family: inherit;We will provide a more detailed feature list for the final 12.0 release, for now check out the a href=https://jira.codehaus.org/secure/ReleaseNote.jspa?projectId=10270amp;version=20170 style=color: #ca7900; target=_blankGeoTools 12-beta Release Notes/a./span/divdivspan style=font-family: inherit;br //span/divdivspan style=font-family: inherit;This beta release is provided for integration testing. Earlier this year we a href=http://geotoolsnews.blogspot.ca/2014/02/changing-tracks-on-geotools-release.htmlslowed down our release cycle/a for better collaboration. At this time we ask downstream projects to perform a smoke test and highlight any issues found./span/divdivspan style=font-family: inherit;br //span/divdivspan style=font-family: inherit;Priority should be given to testing the following functionality:/span/divdivspan style=font-family: inherit;br //span/divdivbspan style=font-family: inherit;Java 7/span/b/divdivspan style=font-family: inherit;We have changed our source compile options to 1.7, you will need to use OpenJDK 7 or Oracle JDK 7 to this release of GeoTools. While upgrading to Java 7 take advantage of the try-with-resource syntax which is compatible many GeoTools constructs. /span/divdivspan style=font-family: inherit;br //span/divspan style=font-family: Courier New, Courier, monospace; font-size: xx-small; line-height: 21px;try (SimpleFeatureIterator iterator = featureCollection.features()){/spanbr /span style=font-family: 'Courier New', Courier, monospace; font-size: xx-small; line-height: 21px;   while( iterator.hasNext() ){/spanbr /span style=font-family: Courier New, Courier, monospace; font-size: xx-small; line-height: 21px;     SimpleFeature feature = iterator.next();/spanbr /span style=font-family: Courier New, Courier, monospace; font-size: xx-small; line-height: 21px;     .../spanbr /span style=font-family: Courier New, Courier, monospace; font-size: xx-small; line-height: 21px;   }/spanbr /span style=font-family: Courier New, Courier, monospace; font-size: xx-small; line-height: 21px;}/spanbr /spanbr //spanspanYou can see the original /spana href=http://docs.codehaus.org/display/GEOTOOLS/Upgrade+master+to+Java+7proposal/aspan for details./spanbr /divspanspan style=font-family: inherit;br //span/span/divdivspanspan style=font-family: inherit;Thanks for CSIRO, Boundless and GeoSolutions for updating the build servers so we could make this transition in a responsible fashion./span/span/divdivspan style=font-family: inherit;br //span/divdivbspan style=font-family: inherit;gt-wfs-ng/span/b/divdivspan style=font-family: inherit;The wfs-ng client is now ready for widespread use, acting as a drop-in replacement (making use of the same connection parameters). A great deal of attention has been paid to support axis-order corrections allowing the wfs-ng client to work with all manner of ill-behaved WFS implementations. /span/divdivspan style=font-family: inherit;br //span/divspan style=line-height: 21px;span style=font-family: Courier New, Courier, monospace; font-size: xx-small;String getCapabilities = http://localhost:8080/geoserver/wfs?REQUEST=GetCapabilities;/span/spanbr /span style=line-height: 21px;span style=font-family: Courier New, Courier, monospace; font-size: xx-small;Map connectionParameters = new HashMap();/span/spanbr /span style=line-height: 21px;span style=font-family: Courier New, Courier, monospace; font-size: xx-small;connectionParameters.put(WFSDataStoreFactory:GET_CAPABILITIES_URL, getCapabilities );/span/spanbr /span style=line-height: 21px;span style=font-family: Courier New, Courier, monospace; font-size: xx-small;DataStore dataStore = DataStoreFinder.getDataStore( connectionParameters );/span/spanbr /divspan style=font-family: inherit;br //span/divdivspan style=font-family: inherit;In order to make wfs-ng a drop-in replacement (and respond to the same connection parameters) you are limited to only using one of the gt-wfs and gt-wfs-ng plugins in your application at a time./span/divdivspan style=font-family: inherit;br //span/divspan style=font-family: inherit;span style=line-height: 21px;badvanced/b/spanb raster reprojection/b/spanbr /span style=line-height: 21px;span style=font-family: inherit;A lot of work has been put into improving the raster reprojection story for glitches around the date line and polar regions. To enable these options use the following rendering hints:/span/spanbr /span style=line-height: 21px;span style=font-family: inherit;br //span/spanspan style=line-height: 21px;span style=font-family: Courier New, Courier, monospace; font-size: xx-small;rendererParams.put(StreamingRenderer.ADVANCED_PROJECTION_HANDLING_KEY, true);/span/spanbr /span style=font-family: Courier New, Courier, monospace; font-size: xx-small;br //spanspan style=line-height: 21px;span style=font-family: Courier New, Courier, monospace; font-size: xx-small;rendererParams.put(StreamingRenderer.CONTINUOUS_MAP_WRAPPING, true);/span/spanbr /span style=line-height: 21px;span style=font-family: inherit;br //span/spanspan style=line-height: 21px;span style=font-family: inherit;We have set these parameters by default for GeoServer 2.6-beta so you are in good company for this test./span/spanbr /divbspan style=font-family: inherit;br //span/b/divspan style=font-family: inherit;span style=line-height: 21px;bcircular/b/spanb string/b/spanbr /divspan style=font-family: inherit;This release of GeoTools include new abilities for the WKTReader2 allowing it to read CIRCULAR string. This is especially exciting as it makes use of series of subclass of JTS LineString. These subclasses will use a tolerance to produce appropriate  coordinates for integration with JTS Geometry operations. As far as JTS is concerned they walk and talk like a LineString, while you can control the implementation by defining control points and a tolerance./span/divdivspan style=font-family: inherit;br //span/divspan style=line-height: 21px;span style=font-family: Courier New, Courier, monospace; font-size: xx-small;GeometryFactory geometryFactory = JTSFactoryFinder.getGeometryFactory();/span/spanbr /span style=font-family: Courier New, Courier, monospace; font-size: xx-small;span style=line-height: 21px;CurvedGeometryFactory curvedfactory = new CurvedGeometryFactory(Double.MAX_VALUE);/spanspan style=line-height: 21px;    /span/spanbr /span style=line-height: 21px;span style=font-family: Courier New, Courier, monospace; font-size: xx-small;WKTReader2 reader = new WKTReader2(curvedfactory);/span/spanbr /span style=line-height: 21px;span style=font-family: Courier New, Courier, monospace; font-size: xx-small;CircularString arc = (CircularString) reader.read(CIRCULARSTRING(10 14,6 10,14 10));/span/spanbr /span style=line-height: 21px;span style=font-family: inherit;br //span/spanbr /divspan style=font-family: inherit;For more details check out the a href=http://docs.geotools.org/latest/userguide/library/jts/geometry.htmlgeometry/a documentation.  The original a href=http://docs.codehaus.org/display/GEOTOOLS/Add+partial+support+for+geometries+with+circular+segmentsproposal/a is also online. /span/divtable align=center cellpadding=0 cellspacing=0 class=tr-caption-container style=margin-left: auto; margin-right: auto; text-align: center;tbodytrtd style=text-align: center;a href=http://1.bp.blogspot.com/-8_PjJUcXN-Q/U9LSgi47WnI/AAAAAAAACek/RwbKr0nV4O8/s1600/geometry2.png style=margin-left: auto; margin-right: auto;span style=font-family: inherit;img border=0 height=220 src=http://1.bp.blogspot.com/-8_PjJUcXN-Q/U9LSgi47WnI/AAAAAAAACek/RwbKr0nV4O8/s1600/geometry2.png width=400 //span/a/td/trtrtd class=tr-caption style=text-align: center;span style=font-family: inherit; font-size: small;LineString subclasses supporting Arcs/span/td/tr/tbody/tabledivspanspan style=font-family: inherit;This implementation has been integrated with OracleDataStore (for all those data sets that include circular arcs). We are also interested in feedback on CurvedGeometryFactory as the API is only a few weeks old./span/span/divdivspan style=font-family: inherit;br //span/divdivbspan style=font-family: inherit;General/span/b/divdivspan style=font-family: inherit;We are waiting on documentation for a couple of changes, stay tuned for details on:/span/divullispan style=line-height: 21px;span style=font-family: inherit;image mosaic vector foot prints/span/span/lilispan style=line-height: 21px;span style=font-family: inherit;coverage views/span/span/li/ul/divh2span style=font-family: inherit; font-size: small;About GeoTools 12/span/h2divspan style=font-family: inherit;spanGeoTools 12 is /spanspan style=line-height: 21px;scheduled/spanspan for /spanspan style=line-height: 21px;release/spanspan in Q2 highlighting the following features:/span/spanbr /ullispan style=line-height: 21px;span style=font-family: inherit;Java 7 is now required/span/span/lilispan style=line-height: 21px;span style=font-family: inherit;wfs-ng client with new GML parsing engine/span/span/lilispan style=line-height: 21px;span style=font-family: inherit;Support for curved strings via CurvedGeometryFactory, WKTReader2 and Oracle/span/span/li/ul/div/div/div
Categories: OSGeo Planet

GeoServer Team: GeoServer Sunday Sprint (FOSS4G)

OSGeo Planet - Fri, 2014-07-25 20:27
pBack in March we had a stronga href=http://blog.geoserver.org/2014/03/05/foss4g-2014-save-the-date/ title=FOSS4G 2014 Save the DateSave the Date/a/strong post for FOSS4G 2014 in Portland. Check your travel plans include participating in the a href=https://2014.foss4g.org/schedule/code-sprint/Code Sprint/a at the end of the conference./p pThe code sprint is an opportunity for the team to get together and work on “tough problems without funding”. For GeoServer we have two candidates:/p ol liUpdate to a recent version of Wicket to improve browser compatibility/li liUpdate CITE Conformance Tests/li /ol pGeoServer is extending the code sprint to include:/p ul liSaturday, September 13th: FOSS4G is providing facilities at a href=http://wherecamppdx.org/WhereCampPDX/a./li liSunday, September 14th: Boundless is arranging facilities at a href=http://nedspace.com/nedspace/a from 10am-4pm./li /ul pTo attend add your name to OSGeo a href=http://wiki.osgeo.org/wiki/FOSS4G_2014_Code_Sprintwiki/a page and we will look forward to seeing you in Portland!/p div class=wp-caption aligncenter id=attachment_1930 style=width: 310px;a href=http://blog.geoserver.org/2014/07/25/geoserver-sunday-sprint-foss4g/p1240259/ rel=attachment wp-att-1930img alt=NedSpace class=size-medium wp-image-1930 height=225 src=http://blog.geoserver.org/wp-content/uploads/P1240259-300x225.jpg title=NedSpace width=300 //ap class=wp-caption-textNedSpace/p/div p style=text-align: center; /p div class=wp-caption aligncenter id=attachment_1931 style=width: 310px;a href=http://blog.geoserver.org/2014/07/25/geoserver-sunday-sprint-foss4g/p1240253/ rel=attachment wp-att-1931img alt=Suite 250 class=size-medium wp-image-1931 height=225 src=http://blog.geoserver.org/wp-content/uploads/P1240253-300x225.jpg title=Suite 250 width=300 //ap class=wp-caption-textSuite 250, SW 11th Avenue, Portland/p/div pThanks to Mike Pumphrey for arranging the venue for the Sunday Sprint./p p /p p /p p /p
Categories: OSGeo Planet

A GeoSpatial World: Plugin PgAdmin III : PostGISViewer suite

OSGeo Planet - Fri, 2014-07-25 14:48
span style=color: #3d85c6; font-size: large;bPlugin PgAdmin III : PostGISViewer  suite/b/spanbr /br /span style=color: #3d85c6; font-size: large;bNouvelle version/b/spanbr /div style=color: black;br //divdiv style=color: black;span style=font-size: small; a href=https://dl.dropboxusercontent.com/u/13543015/PostGISViewer/PostGISViewer.zipPostGISViewer/a/span/divdiv style=color: black;br //divdiv style=color: #3d85c6;span style=font-size: large;bMulti-géométrie/b/span/divbr /div style=color: black;span style=font-size: x-large;span style=font-size: small;J'ai mis en place la prise en compte des multi-géométries  :/span/span/divul style=color: black;lispan style=font-size: x-large;span style=font-size: small;MULTIPOLYGON/span/span/lilispan style=font-size: x-large;span style=font-size: small;MULTILINESTRING/span/span/lilispan style=font-size: x-large;span style=font-size: small;MULTIPOINT/span/span/li/ulspan style=color: #3d85c6;span style=font-size: x-large;span style=color: black;span style=font-size: small;br //span/span/span/spanspan style=color: #3d85c6;span style=font-size: x-large;span style=color: black;span style=font-size: small;span style=color: #3d85c6;span style=font-size: large;bRequêtes/b/span/span/span/span/span/spanbr /span style=color: #3d85c6;span style=font-size: x-large;span style=color: black;span style=font-size: small;span style=color: #3d85c6;span style=font-size: large;b /b/span/span /span/spanb /b/span/spanbr /span style=color: #3d85c6;span style=font-size: small;J'ai rajouté la possibilité d'exécuter les requêtes présente dans l'éditeur SQL de PgAdmin III, mais pour que cela soit possible, il faut respecter certaines règles:/span/spanbr /ullispan style=color: #3d85c6;span style=font-size: small;Un seul éditeur SQL de PgAdmin III doit être ouvert. /span/span/li/ulullispan style=color: #3d85c6;span style=font-size: small;Pour que la ou les requête(s) soient exécutées, il ne faut pas être positionné sur un nom de table dans le navigateur d'objets de PgAdmin III , ou alors que la table soit déjà chargée dans le visualiseur.  Une table sélectionnée prendra toujours le pas sur une ou des requêtes./span/span/li/ulullispan style=color: #3d85c6;span style=font-size: small;Le premier champ doit être  géométrique ou une géométrie issue d'une fonction de traitement géométrique (ST_Buffer, ST_Intersection....) par requête sera utilisé pour l'affichage. Ce champ ou cette géométrie sera encapsulé par la fonction span style=color: black;bAsBinary/b/spanspan style=color: black; /spanet aura pour alias bgeom /b:/span/span/liul style=font-family: Verdana,sans-serif;lispan style=color: #3d85c6; font-size: x-small;span style=color: blue;SELECT /spanspan style=color: purple;AsBinary/span(wkb_geometry) span style=color: blue;as /spanbgeom /b..../span/lilispan style=color: #3d85c6; font-size: x-small;span style=color: blue;SELECT /spanspan style=color: purple;AsBinary/span(span style=color: purple;ST_Buffer/span(wkb_geometry, 1.0)) span style=color: blue;as /spanbgeom/b.../span/lilispan style=color: #3d85c6; font-size: x-small;span style=color: blue;SELECT /spanspan style=color: purple;AsBinary/span(span style=color: purple;ST_Intersection/span(a.wkb_geometry,b.wkb_geoemetry)) span style=color: blue;as /spanbgeom/b... /span/lilispan style=color: #3d85c6; font-size: x-small;.... /span/li/ul/ulullispan style=color: #3d85c6;span style=font-size: small; Le second champ doit permettre de déterminer le type de géométrie, il doit donc être encapsulé par la fonction GeometryType, un alias n'est pas nécessaire :/span/span/liulli style=font-family: Verdana,sans-serif;span style=color: #3d85c6; font-size: x-small;span style=color: blue;SELECT /spanspan style=color: purple;/span/spanspan style=color: #3d85c6; font-size: x-small;..., span style=color: purple;GeometryType/span(wkb_geometry).../span/lili style=font-family: Verdana,sans-serif;span style=color: #3d85c6; font-size: x-small;span style=color: blue;SELECT /spanspan style=color: purple;/span/spanspan style=color: #3d85c6; font-size: x-small;..., span style=color: purple;GeometryType/span(span style=color: purple;ST_Buffe/spanr(wkb_geometry,1.0)).../span/lili style=font-family: Verdana,sans-serif;span style=color: #3d85c6; font-size: x-small;span style=color: blue;SELECT /spanspan style=color: purple;/span/spanspan style=color: #3d85c6; font-size: x-small;..., span style=color: purple;GeometryType/span(span style=color: purple;ST_Intersection/span(a.wkb_geometry,b.wkb_geometry)).../span/lilispan style=color: #3d85c6;span style=font-size: small;span style=font-family: Verdana,sans-serif; font-size: x-small;..../span/span/span/li/ul/ulspan style=color: #3d85c6;span style=font-size: small;/span/spanbr /ulliChaque requête devra se terminer par un point virgule, ce qui permettra de pouvoir exécuter plusieurs requêtes a la suite./li/uldiv style=color: #3d85c6;span style=font-size: large;b Exemple/b/span/divbr /Ci-dessous deux requêtes se terminant par des points virgules :br /ulliLa première requête va charger la commune qui a pour nom 'Sainte-Croix-de-Quintillargues'/liliLa seconde requête va charger tous les bâtiments de cette commune./li/ul  br /div class=separator style=clear: both; text-align: center;a href=http://4.bp.blogspot.com/_xHnTOBfj_HY/TAjOmMW5dzI/AAAAAAAAADk/8nAH6_FqHqE/s1600/image_010.jpg style=clear: left; float: left; margin-bottom: 1em; margin-right: 1em;img border=0 height=640 src=http://4.bp.blogspot.com/_xHnTOBfj_HY/TAjOmMW5dzI/AAAAAAAAADk/8nAH6_FqHqE/s640/image_010.jpg width=507 //a/divbr /br /br /br /br /br /br /br /br /br /br /br /br /br /br /br /br /br /br /br /br /br /br /br /br /br /br /br /br /br /br /br /br /Après avoir lancé le plugin PostGISViewer, les deux requêtes sont exécutées et donne le résultat suivant  :br /br /div class=separator style=clear: both; text-align: center;a href=http://3.bp.blogspot.com/_xHnTOBfj_HY/TAjyKjAGz-I/AAAAAAAAADs/LyRTcNnctsc/s1600/image_011.jpg style=clear: left; float: left; margin-bottom: 1em; margin-right: 1em;img border=0 height=640 src=http://3.bp.blogspot.com/_xHnTOBfj_HY/TAjyKjAGz-I/AAAAAAAAADs/LyRTcNnctsc/s640/image_011.jpg width=513 //a/divbr /br /br /br /br /br /br /br /br /br /br /br /br /br /br /br /br /br /br /br /br /br /br /br /br /br /br /br /br /br /br /br /br /br /br /br /Les couches créées portent comme nom query avec un identifiant qui s'incrémente pour toute la cession du visualiseur.br /br /Toutes suggestions, remarques pour l'amélioration de cet outil seront les bienvenues.br /br /span style=font-size: large;b style=color: #3d85c6;A suivre.../b/span
Categories: OSGeo Planet

FOSS4G 2014: Are you excited yet? Program details, Call for Maps, and more

OSGeo Planet - Fri, 2014-07-25 05:07
p/p table border=0 cellpadding=0 cellspacing=0 id=templateBody tbody tr td class=bodyContainer valign=top table border=0 cellpadding=0 cellspacing=0 class=mcnTextBlock width=100% tbody class=mcnTextBlockOuter tr td class=mcnTextBlockInner valign=top table align=left border=0 cellpadding=0 cellspacing=0 class=mcnTextContentContainer tbody tr td class=mcnTextContent valign=topa href=https://2014.foss4g.org/ target=_blankimg align=right alt= height=250 src=https://gallery.mailchimp.com/92023a5676f520b1414335d36/images/FOSS4G_220x250.jpg width=220 //ap/p pJuly 22, 2014/p pPortland, Oregon, USA/p pExcitement builds as FOSS4G 2014 approaches! Join us in Portland, Oregon this September 8th – 13th.  Attending FOSS4G in Portland is a once in a lifetime opportunity.  FOSS4G is an incredible conference; 2013 was in Nottingham (UK) and 2015 will be in Seoul (South Korea), but this year, FOSS4G is right in your backyard in Portland, Oregon September 8th -13th!  Workshops are filling up — a href=http://www.eventbrite.com/e/foss4g-2014-registration-9776591047 target=_blank title=Registrationregister/a [1] now to secure your seat in pre-conference workshops and your place at the conference./p h2 class=nullCall for Maps!/h2 pRepresent the beauty of the Pacific Northwest in map form in the Map Gallery.  We invite contributions to the FOSS4G Map Gallery to build an exciting and vibrant exhibit of the very best in mapping. This map gallery will not only demonstrate the work of delegates but also act as a reference point for the current state of mapping.  We encourage all delegates to share one example of their work and help us create a cartographic record of the FOSS4G 2014 conference.  Read the full a href=https://2014.foss4g.org/foss4g-call-for-maps/ target=_blank title=Call for mapscall for maps/a [2] and a href=https://2014.foss4g.org/gallery-submissions/ target=_blank title=Enter map galleryenter your map/a [3]./p h2 class=nullWorkshops and general sessions program/h2 pThis year FOSS4G features more than 40 a href=https://2014.foss4g.org/schedule/workshops/ target=_blank title=Workshopsworkshops/a [4], providing excellent training opportunities on relevant, leading technologies — and that’s all before the conference even begins.  With a href=http://(https://2014.foss4g.org/schedule/sessions/ target=_blank title=General sessionseight tracks/a [5] of sessions, plus invited talks and a great selection of Keynote Speakers, it will be a FOSS4G packed week to remember./p h2 class=nullKeynote biographies/h2 pSee exciting keyntoes by Mike Bostock of D3.js fame and the New York Times, Sarah Novotny of NGINX and a program chair for O’Reilly Media’s OSCON, and Al Shaw whose work at ProPublica has been honored with several awards./p h4 class=null style=margin: 0; padding: 0; display: block; font-family: Helvetica; font-size: 16px; font-style: normal; font-weight: bold; line-height: 125%; letter-spacing: normal; text-align: left; color: #808080 !important;About FOSS4G/h4 pThe annual FOSS4G conference is the largest global gathering focused on open source geospatial software. FOSS4G brings together developers, users, decision-makers and observers from a broad spectrum of organizations and fields of operation. Through six days of workshops, presentations, discussions, and cooperation, FOSS4G participants create effective and relevant geospatial products, standards, and protocols./p pFOSS4G has been held all over the world and draws attendees from over 40 countries. Nottingham, England hosted the conference in 2013. In 2014, Portland, Oregon, USA will host FOSS4G’s tenth year./p h4 class=null style=margin: 0; padding: 0; display: block; font-family: Helvetica; font-size: 16px; font-style: normal; font-weight: bold; line-height: 125%; letter-spacing: normal; text-align: left; color: #808080 !important;Important Conference Dates/h4 pSee the full a href=https://2014.foss4g.org/about/calendar/ target=_blank title=Calendarcalendar/a [6] for more details./p ul liSep 8th-9th: Workshops/li liSep 10th-12th: Main Conference/li liSep 13th: Code Sprint/li /ul h4 style=margin: 0; padding: 0; display: block; font-family: Helvetica; font-size: 16px; font-style: normal; font-weight: bold; line-height: 125%; letter-spacing: normal; text-align: left; color: #808080 !important;Links/h4 ul li[1] strongRegistration:/strong http://foss4g2014.eventbrite.com//li li[2] strongCall for Maps:/strong https://2014.foss4g.org/foss4g-call-for-maps//li li[3] strongMap Submissions:/strong https://2014.foss4g.org/gallery-submissions//li li[4] strongWorkshops:/strong https://2014.foss4g.org/schedule/workshops//li li[5] strongSessions:/strong http://2014.foss4g.org/schedule/sessions//li li[6]strong Calendar:/stronghttps://2014.foss4g.org/about/calendar//li /ul /td /tr /tbody /table /td /tr /tbody /table table border=0 cellpadding=0 cellspacing=0 class=mcnTextBlock width=100% tbody class=mcnTextBlockOuter tr td class=mcnTextBlockInner valign=top table align=left border=0 cellpadding=0 cellspacing=0 class=mcnTextContentContainer tbody tr td class=mcnTextContent valign=top hr / h2Sponsors/h2 h4 style=margin: 0; padding: 0; display: block; font-family: Helvetica; font-size: 16px; font-style: normal; font-weight: bold; line-height: 125%; letter-spacing: normal; text-align: left; color: #808080 !important;Gold Level Sponsors/h4 pa href=https://developers.google.com/open-source/ target=_blankimg align=none alt=Google height=53 src=http://gallery.mailchimp.com/92023a5676f520b1414335d36/images/1fdaa9bc-6ee9-437d-afc5-3bdbef08c28d.png width=160 //a/p h4 style=margin: 0; padding: 0; display: block; font-family: Helvetica; font-size: 16px; font-style: normal; font-weight: bold; line-height: 125%; letter-spacing: normal; text-align: left; color: #808080 !important;Silver Level Sponsors/h4 pa href=http://boundlessgeo.com/ target=_blankimg align=none alt=Boundless height=51 src=https://gallery.mailchimp.com/92023a5676f520b1414335d36/images/boundless_logo.png width=270 //a          a href=http://www.esri.com/ target=_blankimg align=none alt=esri height=77 src=https://gallery.mailchimp.com/92023a5676f520b1414335d36/images/esri_logo.png width=200 //a/p pa href=http://cartodb.com/ target=_blankimg align=none alt= height=53 src=https://gallery.mailchimp.com/92023a5676f520b1414335d36/images/cartodb_150x53.png width=150 //a/p h4 style=margin: 0; padding: 0; display: block; font-family: Helvetica; font-size: 16px; font-style: normal; font-weight: bold; line-height: 125%; letter-spacing: normal; text-align: left; color: #808080 !important;Bronze Level Sponsors/h4 pa href=http://azavea.com/ target=_blankimg align=none alt=azavea height=52 src=https://gallery.mailchimp.com/92023a5676f520b1414335d36/images/azavea.png width=215 //a   a href=http://www.sourcepole.ch/ target=_blankimg align=none alt=Sourcepole height=54 src=https://gallery.mailchimp.com/92023a5676f520b1414335d36/images/Logo_web_sourcepole11.png width=215 //a/p pa href=https://www.openshift.com/ target=_blankimg align=none alt=OpenShift height=60 src=http://gallery.mailchimp.com/92023a5676f520b1414335d36/images/4ac15cdf-bc35-45cd-859f-df48e1f6f0ce.png width=150 //a a href=https://cloudant.com/ target=_blankimg align=none alt=Cloudant height=51 src=http://gallery.mailchimp.com/92023a5676f520b1414335d36/images/465c1a50-d97f-4c9a-b4ae-956b56534f0c.png width=160 //a a href=http://www.worldcampus.psu.edu/gep target=_blankimg align=none alt=Penn State height=53 src=http://gallery.mailchimp.com/92023a5676f520b1414335d36/images/1f51a595-387b-45a4-9dde-4170bd4384fa.png width=150 //a/p pa href=http://www.safe.com/ target=_blankimg align=none alt=Safe Software height=50 src=http://gallery.mailchimp.com/92023a5676f520b1414335d36/images/d0101349-a48f-4700-9c56-0500a6f94567.png width=160 //a          a href=http://www.mousebirdconsulting.com/home target=_blankimg align=none alt= height=60 src=http://gallery.mailchimp.com/92023a5676f520b1414335d36/images/74494675-4302-49f6-8435-a0d51489835a.png width=135 //aa href=https://www.geocat.net/ target=_blankimg align=none alt= height=44 src=https://gallery.mailchimp.com/92023a5676f520b1414335d36/images/08930e37-f831-45c2-b09c-e67832ef557d.png width=160 //a/p h4 style=margin: 0; padding: 0; display: block; font-family: Helvetica; font-size: 16px; font-style: normal; font-weight: bold; line-height: 125%; letter-spacing: normal; text-align: left; color: #808080 !important;Supporters/h4 pa href=http://www.appgeo.com/ target=_blankimg align=none alt=AppGeo height=49 src=https://gallery.mailchimp.com/92023a5676f520b1414335d36/images/AppGeoFOSS4G2014.png width=135 //a         a href=http://www.camptocamp.com/en target=_blankimg align=none alt=camptocamp height=44 src=https://gallery.mailchimp.com/92023a5676f520b1414335d36/images/camptocamp_logo.png width=220 //a       a href=http://locatepress.com/ target=_blankimg align=none alt=Locate Press height=59 src=https://gallery.mailchimp.com/92023a5676f520b1414335d36/images/locate_press_150.png width=110 //a/p pa href=http://www.mapgears.com/ target=_blankimg align=none alt=Mapgears height=62 src=https://gallery.mailchimp.com/92023a5676f520b1414335d36/images/mapgears.png width=115 //a                    a href=http://www.nbtsolutions.com/ target=_blankimg align=none alt= height=60 src=https://gallery.mailchimp.com/92023a5676f520b1414335d36/images/NBT_logo_150x60.png width=150 //aa href=http://www.terrestris.de/en/ target=_blankimg align=none alt= height=66 src=https://gallery.mailchimp.com/92023a5676f520b1414335d36/images/logo_terrestris.png width=120 //a/p pa href=http://www.metaspatial.net/en/ target=_blankimg align=none alt= height=59 src=http://gallery.mailchimp.com/92023a5676f520b1414335d36/images/3d3c5c59-ed55-4616-82ce-2e13dea834c2.png width=160 //abr / /phr / h2Media Partners/h2 pThese leading geospatial media organizations have partnered with FOSS4G to keep their readers informed./p pa href=http://www.directionsmag.com/ target=_blankimg align=none alt= height=43 src=https://gallery.mailchimp.com/92023a5676f520b1414335d36/images/directionsmagazine_logo1.png width=105 //a             a href=http://www.geoconnexion.com/ target=_blankimg align=none alt= height=40 src=https://gallery.mailchimp.com/92023a5676f520b1414335d36/images/geoconnexion_logo.png width=120 //a         a href=http://www.geoinformatics.com/ target=_blankimg align=none alt= height=27 src=https://gallery.mailchimp.com/92023a5676f520b1414335d36/images/geoinformatics_logo.png width=130 //a/p pa href=http://geospatialworld.net/?utm_source=FOSS4G2014amp;utm_medium=webamp;utm_campaign=Geospatial-World-FOSS4G2014-Media-Partner target=_blankimg align=none alt= height=42 src=https://gallery.mailchimp.com/92023a5676f520b1414335d36/images/Geospatial_World.png width=105 //a         a href=http://www.gim-international.com/ target=_blankimg align=none alt=-NEW- Logo GIM-voor drukkerkopie 150 height=49 src=https://gallery.mailchimp.com/92023a5676f520b1414335d36/images/GIM_voor_drukkerkopie_150.png width=100 //a           a href=http://gis-news.de/ target=_blankimg align=none alt=bciiajfc.gif height=48 src=https://gallery.mailchimp.com/92023a5676f520b1414335d36/images/gis_news.png width=130 //a/p pa href=http://gisuser.com/ target=_blankimg align=none alt= height=46 src=https://gallery.mailchimp.com/92023a5676f520b1414335d36/images/GISusrNews.png width=115 //a               a href=http://www.lbxjournal.com/ target=_blankimg align=none alt= height=43 src=https://gallery.mailchimp.com/92023a5676f520b1414335d36/images/LBxJournal_cleaner.png width=60 //a                a href=http://www.sensorsandsystems.com/ target=_blankimg align=none alt= height=41 src=https://gallery.mailchimp.com/92023a5676f520b1414335d36/images/systems_and_sensors_logo1.png width=100 //a/p pa href=http://www.slashgeo.org/ target=_blankimg align=none alt= height=39 src=https://gallery.mailchimp.com/92023a5676f520b1414335d36/images/slashgeo_logo.png width=130 //a             a href=http://www.veryspatial.com/ target=_blankimg align=none alt= height=55 src=https://gallery.mailchimp.com/92023a5676f520b1414335d36/images/VSLogo_Large_150x150.png width=55 //a          a href=http://www.3dvisworld.com/ target=_blankimg align=none alt= height=30 src=https://gallery.mailchimp.com/92023a5676f520b1414335d36/images/3dvisworld2800_square_trans_small2_300x75.png width=120 //aa href=http://www.digital-geography.com/ target=_blankimg align=none alt= height=60 src=http://gallery.mailchimp.com/92023a5676f520b1414335d36/images/b678b4d2-9827-4927-afaf-1f8194794d9b.png width=150 //a/p hr / pFor more information or to keep informed from the FOSS4G Organizing Committee, followa href=https://twitter.com/foss4g @foss4g/a on Twitter, subscribe to our a href=http://eepurl.com/N5Q6Xannouncements list/a, or contact: a href=mailto:foss4g2014-info@osgeo.org?subject=Question%20about%20FOSS4G%202014 target=_blankfoss4g2014-info@osgeo.org/a/p /td /tr /tbody /table /td /tr /tbody /table /td /tr /tbody /table pThe post a href=https://2014.foss4g.org/excited-yet-program-details-call-maps/ rel=nofollowAre you excited yet? Program details, Call for Maps, and more/a appeared first on a href=https://2014.foss4g.org rel=nofollowFOSS4G 2014/a./p
Categories: OSGeo Planet

GeoServer Team: GeoServer 2.6-beta Released

OSGeo Planet - Thu, 2014-07-24 22:47
pThe GeoServer team is overjoyed to announce the release of GeoServer a href=http://geoserver.org/release/2.6-beta/ target=_blank title=2.6-beta Download2.6-beta/a./p pI hope you are enjoying the new website – the download page for a href=http://geoserver.org/release/2.6-beta/ target=_blank title=2.6-beta Download2.6-beta/a provides links to the expected a href=http://sourceforge.net/projects/geoserver/files/GeoServer/2.6-beta/geoserver-2.6-beta-bin.zip target=_blank title=geoserver-2.6-beta-bin.zipzip/a, a href=http://sourceforge.net/projects/geoserver/files/GeoServer/2.6-beta/geoserver-2.6-beta-war.zip target=_blank title=geoserver-2.6-beta-war.zipwar/a, a href=http://sourceforge.net/projects/geoserver/files/GeoServer/2.6-beta/geoserver-2.6-beta.dmg title=geoserver-2.6-beta.dmgdmg/a and a href=http://sourceforge.net/projects/geoserver/files/GeoServer/2.6-beta/geoserver-2.6-beta.exe target=_blank title=geoserver-2.6-beta.exeexe/a bundles. For this release we are experimenting with providing source downloads directly from the GitHub a href=https://github.com/geoserver/geoserver/releases/tag/2.6-beta target=_blank title=GitHub 2.6-beta Tag2.6-beta tag/a./p blockquotepemAs a development release, 2.6-beta is considered experimental and is provided for testing purposes. This release is not recommended for production (even if you are excited by the new features)./em/p/blockquote pThis release is made in conjunction with GeoTools 12-beta. Thanks to Kevin for making a beta release of GeoWebCache a href=http://sourceforge.net/projects/geowebcache/files/geowebcache/1.6.0-beta/ target=_blank1.6.0-beta/a with relatively little notice./p h3What to expect … and what we expect from you/h3 pA complete a href=http://jira.codehaus.org/secure/ReleaseNote.jspa?projectId=10311amp;version=20172change log/a is available from the issue tracker. We will ask you to wait for 2.6.0 before we let Andrea write a a href=http://blog.geoserver.org/2014/01/21/geoserver-2-5-beta-released/pretty/a blog with pictures illustrating what features have been added. Instead 2.6-beta is my chance to ask you to emstrongdownload GeoServer 2.6-beta for testing/strong/em./p blockquotepemTesting is a key part of the open source a href=http://www.how2map.com/2013/09/opensource-and-social-contract.html title=Open Source and the Social Contractsocial contract/a. The GeoServer team have identified a few areas where we would like to ask for help. This is your best chance to identify issues early while we still have time to do something about it. For those making use of a href=http://geoserver.org/support/commercial support/a ask your vendor about their plans for 2.6-beta testing. We would like to ensure the functionality you depend on is ready to go for a Q2 release./em/p/blockquote pWhen testing Geoserver 2.6-beta please let us know on the a href=http://geoserver.org/comm/ target=_blank title=Communicationuser list/a (or a href=https://twitter.com/search?q=%23geoserver target=_blank title=#GeoServer#GeoServer/a) how it works for you. We will be sure to thank you in the final release announcement and product presentations./p pstrongJava 7 Testing/strong/p pWith Oracle a href=http://www.oracle.com/technetwork/java/eol-135779.html target=_blank title=Oracle Java SE Support Roadmapretiring Java 6/a security updates the time has come to raise the minimum bar to Java 7./p blockquotepemWe know a lot of downstream projects (such as a href=http://live.osgeo.org/en/index.html target=_blank title=OSGeo LiveOSGeo Live/a) have been waiting for GeoServer to support Java 7. Thanks to CSIRO, Boundless, GeoSolutions for providing Java 7 build environments allowing us to make this transition in a responsible fashion./em/p/blockquote pTesting:/p ul liThis is a major testing priority on all platforms./li liWindows 7: The start.bat used by the run manually install has trouble running as an administrator. We recommend installing as a service of this release (a href=https://jira.codehaus.org/browse/GEOS-6587GEOS-5687/a)/li liMac: You will need to install Oracle Java 7 (as OpenJDK 7 is not yet available for OSX). We have not yet figured out how to run GeoServer.App with Java 7 (a href=https://jira.codehaus.org/browse/GEOS-6588GEOS-6588/a) and are open to suggestions./li /ul pReferences:/p ul liDocumentation: a href=http://docs.geoserver.org/latest/en/user/production/java.htmlJava Considerations/a and a href=http://docs.geoserver.org/latest/en/user/installation/index.htmlInstallation/a/li liChange Control: a href=https://github.com/geoserver/geoserver/wiki/GSIP-112---Upgrade-master-to-Java-7GSIP 112 Update master to Java 7/a/li /ul pstrongWFS Cascade/strong/p pThis is a really exciting change, swapping out our gt-wfs client code for a new gt-wfs-ng implementation with a new GML parser / encoder.  After comparing quality of the two implementations we decided to go all in with this transition .. and thus would really like your help testing./p pWe would like to hear back on cascading the following configurations:/p ul lia href=http://geoserver.orgGeoServer/a/li lia href=http://www.deegree.orgdeegree/a/li lia href=http://mapserver.orgMapServer/a/li lia href=http://mapserver.org/tinyows/tinyows/a - there is a critical fix about axis order in tinyows trunc. It corrects (finally!) the output … but perhaps not yet the filters?/li lia href=http://resources.arcgis.com/en/help/main/10.1/index.html#//0154000004mm000000ArcGIS/a/li lia href=http://www.opengeospatial.org/resource/productsOther/a – any other WFS you are working with!/li /ul pTesting:/p ul liPay special attention to the flags used for axis order. There are different flags to account for each way a WFS implementation can get confused. You will find some implementations expect the wrong axis order on request, but are capable of producing the correct axis order output./li liWe especially ask our friends in Europe to test WFS services published for INSPIRE compliance/li /ul pThis was an epic amount of work by Niels and we have a couple of new features waiting in the wings based on the success of this transition./p pstrongCurves support for GML and WMS/strong/p pA large amount of work has been put into extending the Geometry implementation used by GeoServer./p blockquotepemWe have experimented with several approaches over the years (including ISO 19107 and a code sprint with the deegree project) and it is great to finally have a solution. As a long time user of the JTS Topology Suite we have been limited to a Point, Line and Polygon model of Geometry. Andrea has very carefully extended these base classes in to allow for both GML output and rendering. The trick is using a tolerance to convert the the arcs and circles into line work for geometry processing./em/p/blockquote pTesting for the 2.6-beta release is limited to those with Oracle Spatial. If you are interested in funding/volunteering support for PostGIS please contact the geoserver-devel email list./p pTesting:/p ul liLook for “emLinearization tolerance”/em when configuring your layer./li /ul pstrongAdvanced projection handling for raster/strong/p pWe would like to hear feedback on how maps that cross the date line (or are in a polar projection) have improved for you./p pTesting:/p ul liNo special settings needed/li /ul pReference:/p ul lia href=http://www.geo-solutions.it/blog/developers-corner-advanced-raster-projection-geoserver/ target=_blankAdvanced Raster Projection in GeoServer/a (GeoSolutions)/li /ul pstrongCoverage Views/strong/p pWe struggled a bit with how to name this great new feature, however if you work with raster data this is your chance to recombine bands from different sources into a multi-band coverage./p pTesting:/p ul liUse “emConfigure new Coverage view/em” when creating a new layer/li /ul pReferences:/p ul lia href=http://docs.geoserver.org/latest/en/user/data/raster/coverageview.htmlCoverage Views/a (GeoServer User Manual)/li lia href=http://www.geo-solutions.it/blog/overageview-concept-for-geoserver/Raster Views in GeoServer via the CoverageView concept/a (GeoSolutions)/li /ul pstrongStartup Testing/strong/p pYes this is an ominous item to ask you to test./p blockquotepemGeoServer 2.6 simplifies where configuration files are stored on disk. Previous versions were willing to spread configuration files between the webapps folder, the data directory and any additional directories on request. For GeoServer 2.6 configuration files are limited to the data directory as a step towards improving clustering support and growing our JDBC Config story./em/p/blockquote pTesting:/p ul liNo special settings needed/li liSpecial request to check files that are edited by hand on disk (such security settings and free marker templates)/li /ul pReferences:/p ul liChange Control: a href=https://github.com/geoserver/geoserver/wiki/GSIP%20106 target=_blankGSIP 106 ResourceStore API/a/li /ul pstrongPluggable Styles/strong/p pFor everyone happy with the CSS Style Extension we would like to ask you to test a change to the style edit page (allowing you to create a CSS or SLD style from the start)./p pTesting:/p ul liInstall CSS Extension and look for a new option when creating a style/li /ul pReference:/p ul liChange Control: a href=https://github.com/geoserver/geoserver/wiki/GSIP-117 target=_blankGSIP 117 Pluggable Styles/a/li /ul pstrongWind barbs and WKT Graphics/strong/p pI am really happy to see this popular extension folded into the main GeoServer application./p pTesting:/p ul liCheck GeoTools a href=http://docs.geotools.org/latest/userguide/library/render/wkt.htmlWKT Marks/a for examples you can use in your SLD file/li /ul pReferences:/p ul lia href=http://www.geo-solutions.it/blog/developers-corner-supporting-wind-barbs-geoserver-geotools/ target=_blankSupporting Wind Barbs In GeoServer and GeoTools/a (GeoSolutions)/li /ul pstrongNew Formats and Functionality/strong/p pWe have new implementations of a couple of modules:/p ul liPrinting – new implementation from our friends at MapFish/li liScripting – includes a UI for editing scripts from the Web Administration Application/li /ul pA final shout out to ask for help testing new formats:/p ul liNetCDF/li liRib/li liOGR/li /ul pstrongLanguage Support/strong/p pWe are happy to announce the first release having support for Turkish. Many thanks to Engin Gem and the whole a href=https://www.transifex.com/projects/p/geoserver/language/tr/translation team/a for the initial contribution. All modules, core, extensions, and community modules have been translated within 8 month. Great success!/p pFrench, Korean, Polish, Romanian were corrected and updated to the latest developments. Thanks to all GeoServer Transifex translators and Frank for managing!/p pSpot a translation mistake? Help translate here: a href=https://www.transifex.com/projects/p/geoserver/GeoServer Latest localizations/a/p h2About GeoServer 2.6/h2 pArticles and resources for GeoServer 2.6 series:/p ul lia href=http://www.geo-solutions.it/blog/overageview-concept-for-geoserver/Raster Views in GeoServer via the CoverageView concept/a (GeoSolutions)/li lia href=http://www.geo-solutions.it/blog/developers-corner-advanced-raster-projection-geoserver/ target=_blankAdvanced Raster Projection in GeoServer/a (GeoSolutions)/li lia href=http://www.geo-solutions.it/blog/developers-corner-supporting-wind-barbs-geoserver-geotools/ target=_blankSupporting Wind Barbs In GeoServer and GeoTools/a (GeoSolutions)/li lia href=http://www.geo-solutions.it/blog/geoserver-supports-footprints-imagemosaic/ target=_blankGeoServer now supports Vector Footprints for ImageMosaic/a (GeoSolutions)/li /ul
Categories: OSGeo Planet

Ivan Minčík: FOSS4G Europe - hope we ALL meet together again

OSGeo Planet - Thu, 2014-07-24 22:01
For me, it was very memorable week in Bremen. I came very excited and happy to home, to my family.br /br /But, there is also one thing which makes me feel very bad.br /At the same time, when all of us where enjoying this event, there was at least one person, speaking nearly the same language as me, who was probably little bit scared of how the return to home would look like. The home destroyed by madness and war.br /divbr /Somehow I feel, that without a peace, nothing makes a sense. I hope, next year, we ALL meet together again and everybody will be returning to home with a smile on the face./divTatiana, Ukraine, all peaceful people under the sun, god bless You !
Categories: OSGeo Planet

GeoSolutions: GeoServer Workshop and Presentations at the FOSS4G Europe 2014

OSGeo Planet - Thu, 2014-07-24 14:12
pimg alt=FOSS4G Europe 2014 class=attachment-post-thumbnail wp-post-image height=391 src=http://www.geo-solutions.it/wp-content/uploads/2014/07/Logo-Foss4G-_final_web_Stadtmusikanten-e1404378436171.jpg?d879e9 width=450 //pDear Reader, a href=http://www.geo-solutions.it target=_blankwe/a are proud to announce that Andrea Aime, our technical lead on a href=http://www.geo-solutions.it/technologies/geoserver/ target=_blank title=GeoServerGeoServer/a, will attend this year FOSS4G Europe to give a workshop as well as a few presentations. The conference will be hosted by the Jacobs University in a href=http://osm.org/go/0G01Ty?m=amp;relation=62559 target=_blankBremen/a between 15th of July and 17th of July (a href=http://foss4g-e.org/conference-program target=_blankhere/a is the conference program), while the 14th of July will be dedicated to workshops (a href=http://foss4g-e.org/workshops-0 target=_blankhere/a is the workshop schedule). The schedule for our talks will be as follows: ul lia href=http://foss4g-e.org/content/web-mapping-ogc-services-and-geoserver-introduction target=_blankWeb mapping with OGC services and GeoServer: an introduction/a (Workshop) 14th of July between 9 A.M. and 12 A.M./li lia href=http://foss4g-e.org/content/geoserver-steroids target=_blankGeoServer on steroids/a (Presentation) 15th of July at 2 P.M./li lia href=http://foss4g-e.org/content/processing-data-geoserver-rendering-transformations-wps-processes-and-sql-viewsProcessing Data In GeoServer With Rendering Transformations, WPS Processes And SQL Views/a (Presentation) 15th of July at 5 P.M./li lia href=http://foss4g-e.org/content/geoserver-introduction-beginnersGeoServer, An Introduction For Beginners/a (Presentation) 16th of July at 3:30 P.M./li /ul The workshop will provide the attendees with an in-depth introduction to the a href=http://www.geo-solutions.it/technologies/geoserver/ target=_blank title=GeoServerGeoServer/a Open Source server useful for those who are (still??) not familiar with it but also for those who already using it as they will have the chance to ask questions directly to one of the main developers behind the software. The presentations, although the order is a bit unfortunate :), are meant to delight all the palates from the uninitiated (a href=http://foss4g-e.org/content/geoserver-introduction-beginnersGeoServer, An Introduction For Beginners/a) to the advanced users looking for fine tuning tips and tricks (a href=http://foss4g-e.org/content/geoserver-steroids target=_blankGeoServer on steroids/a) or more ways to exploit the power of a href=http://www.geo-solutions.it/technologies/geoserver/ target=_blank title=GeoServerGeoServer/a a href=http://www.geo-solutions.it/technologies/geoserver/ target=_blank title=GeoServer(/aa href=http://foss4g-e.org/content/processing-data-geoserver-rendering-transformations-wps-processes-and-sql-viewsProcessing Data In GeoServer With Rendering Transformations, WPS Processes And SQL Views/aa href=http://www.geo-solutions.it/technologies/geoserver/ target=_blank title=GeoServer)/a. Looking forward to seeing you in a href=http://osm.org/go/0G01Ty?m=amp;relation=62559 target=_blankBremen/a!   h2Update/h2 You can find the presentations here below, enjoy! [slideshare id=37177209amp;doc=gsbeginnersfoss4ge2014-140720170321-phpapp01] [slideshare id=37177324amp;doc=gswpsfoss4ge2014-140720171046-phpapp01] [slideshare id=37177138amp;doc=gssteroidsfoss4ge2014-140720165834-phpapp02]   The ba href=http://www.geo-solutions.it/GeoSolutions/a /bteam, a href=http://www.geo-solutions.it target=_blankimg alt=320x100_eng class=alignleft wp-image-1196 size-medium height=57 src=http://www.geo-solutions.it/wp-content/uploads/2014/03/320x100_eng-300x57.png?d879e9 width=300 //a
Categories: OSGeo Planet

gvSIG Team: Validar las geometrías de una capa

OSGeo Planet - Thu, 2014-07-24 13:21
pHola a todos de nuevo,/p pHacia ya un tiempo que no escribía por aquí…cosas de ir bastante liado con nuevos desarrollos que estamos abordando en gvSIG…pero el otro día me comentaron que necesitarían una herramienta en gvSIG que les permitiera localizar problemas en las geometrías de una tabla antes de cargar dicha tabla en una BBDD de postgreSQL./p pMe dijeron…/p blockquotep“Estaría bien disponer de una herramienta que procese las geometrías de una capa y me saque un listado con los problemas y me permita pinchar e ir a la geometría conflictiva y mejor aun a donde este el conflicto”/p/blockquote pEfectivamente, gvSIG no tiene nada que se le parezca, pero enseguida pensé que igual con un poco de scripting podía sacar algo parecido a lo que me pedían./p pEl script no es simple, para que vamos a engañarnos, toca muchos palos, pero no es muy grande y puede servir de inicio para abordar cosas mas complejas./p pEl principio es simple… nos recorremos las features de la capa, cogemos la geometría, e invocamos al método em“getValidationStatus”/em de esta. Este método realiza una serie de validaciones sobre la geometría y nos devuelve que ha pasado con esas validaciones… si todo fue bien o mal, y en caso de ir mal nos da información sobre que problema se encontró y si puede donde lo encontró. Con esta información, vamos a ir construyendo un pequeño informe en HTML./p pPor cada incidencia que encontremos generaremos una entrada con:/p ul class=simple liEl número de línea en el que se produjo la incidencia/li liUn volcado de los datos de la feature asociada a esa línea/li liUna descripción textual del problema/li liUn enlace al punto en donde se produjo la incidencia. En el hiperenlace, en lugar de poner una URL meteremos el punto en WKT asociado a la incidencia./li /ul div class=nostx div class=highlight style=background: #f8f8f8; pre style=line-height: 125%;wktgeom span style=color: #666666;=/span vsspan style=color: #666666;./spangetProblemLocation()span style=color: #666666;./spanconvertToWKT() outputspan style=color: #666666;./spanwrite(span style=color: #ba2121;'lt;a href=/spanspan style=color: #bb6688; font-weight: bold;%s/spanspan style=color: #ba2121;gt;/spanspan style=color: #bb6688; font-weight: bold;%5.5d/spanspan style=color: #ba2121;lt;/agt; /spanspan style=color: #bb6688; font-weight: bold;%s/spanspan style=color: #ba2121;lt;brgt;/spanspan style=color: #bb6688; font-weight: bold;%s/spanspan style=color: #ba2121;'/span span style=color: #666666;%/span (wktgeom,i, featurespan style=color: #666666;./spantoString(),vsspan style=color: #666666;./spangetMessage())) /pre /div pCuando ya nos hemos recorrido todas las features de la capa, tendremos que presentar el informe. Para ello utilizaremos la función em“showTextDialog”/em delem“ApplicationManager”/em, que nos permite mostrar una venta con un texto HTML./p pre style=line-height: 125%;application span style=color: #666666;=/span ApplicationLocatorspan style=color: #666666;./spangetManager() applicationspan style=color: #666666;./spanshowTextDialog( WindowManagerspan style=color: #666666;./spanMODEspan style=color: #666666;./spanTOOL, span style=color: #ba2121;Problems in layer /spanspan style=color: #666666;+/spanlayerspan style=color: #666666;./spangetName(), informespan style=color: #666666;./spangetvalue() ) /pre pSi solo quisiésemos mostrar el informe con esto nos bastaría. Pero estaría muy bien que al pinchar sobre la incidencia en el informe nos centrase la vista en el área donde se ha producido la incidencia. Para esto tendremos que hacer un poco mas de faena. La función em“showTextDialog”/em permite que le pasemos un ultimo parámetro opcional que sea un “listener” que recibirá los eventos relacionados con los hiperenlaces de nuestro informe en HTML. Para eso tendremos que crear una clase que herede de em“HyperlinkListener”/em./p pre style=line-height: 125%;span style=color: #008000; font-weight: bold;class/span span style=color: #0000ff; font-weight: bold;MyHyperlinkListener/span(HyperlinkListener): span style=color: #008000; font-weight: bold;def/span span style=color: #0000ff;__init__/span(span style=color: #008000;self/span,vista): span style=color: #008000;self/spanspan style=color: #666666;./spanvista span style=color: #666666;=/span vista span style=color: #008000; font-weight: bold;def/span span style=color: #0000ff;hyperlinkUpdate/span(span style=color: #008000;self/span, h): span style=color: #008000; font-weight: bold;if/span span style=color: #008000;str/span(hspan style=color: #666666;./spangetEventType()) span style=color: #666666;==/span span style=color: #ba2121;ACTIVATED/span: wktgeom span style=color: #666666;=/span hspan style=color: #666666;./spangetDescription() span style=color: #008000; font-weight: bold;print/span wktgeom manager span style=color: #666666;=/span GeometryLocatorspan style=color: #666666;./spangetGeometryManager() point span style=color: #666666;=/span managerspan style=color: #666666;./spancreateFrom(wktgeom) centerViewinPoint(span style=color: #008000;self/spanspan style=color: #666666;./spanvista,point) /pre pNuestra clase recibirá en el constructor la vista sobre la que ha de trabajar, y en el método em“hyperlinkUpdate”/em pondremos el código que se ejecutara cada vez que se interactúe con un enlace de nuestro informe, bien por que se pasa el ratón sobre el enlace, o por que se hace click sobre el. Así que nuestro código lo meteremos en este método cercionándonos que filtramos las acción de hacer click en el enlace que sera cuando recibamos un evento de tipo “ACTIVATED”. Lo que haremos será recoger el punto asociado del hiperenlace. Este lo habíamos metido en WKT, así que lo primero será reconstruir nuestro punto a partir de él./p pre style=line-height: 125%;manager span style=color: #666666;=/span GeometryLocatorspan style=color: #666666;./spangetGeometryManager() point span style=color: #666666;=/span managerspan style=color: #666666;./spancreateFrom(wktgeom) /pre pY luego ya centrar la vista en ese punto./p pre style=line-height: 125%;centerViewinPoint(span style=color: #008000;self/spanspan style=color: #666666;./spanvista,point) /pre pMas cositas que comentar…/p pA veces lo ejecutaremos sobre capas grandes y estaría bien que fuese informando del progreso. Para ello utilizaremos la variable em“taskStatus”/em. Todos los scripts tienen una asociada y sirve precisamente para eso, para ir informado del progreso de nuestro proceso. Lo primero que tendremos que hacer será asociarla a la barra de estado de la aplicación para que se vaya mostrando ahí el proceso. Tan simple como invocar al método em“add”/em de ella./p pLuego le indicaremos las iteraciones que va a tener nuestro proceso, para lo que utilizaremos el método em“setRangeOfValues”/em indicando que las iteraciones irán desde 0 al número de registros que tiene la capa que vamos a procesar. En cada iteración invocaremos al método em“setCurValue”/em para informar de por donde vamos, y al terminar de recorrer nuestras features nos desharemos de nuestro emtaskStatus/em invocando al método em“terminate”/em para indicarle que ya termino nuestro proceso y al métodoem“remove”/em para eliminarla de la barra de estado de gvSIG./p pre style=line-height: 125%;span style=color: #008000; font-weight: bold;try/span: span style=color: #408080; font-style: italic;# Añadimos la barra de progreso a la barra de estado de gvSIG/span taskStatusspan style=color: #666666;./spanadd() span style=color: #408080; font-style: italic;# Le indicamos cuantas iteraciones vamos a realizar/span taskStatusspan style=color: #666666;./spansetRangeOfValues(span style=color: #666666;0/span,layerspan style=color: #666666;./spanfeatures()span style=color: #666666;./spangetCount()) span style=color: #008000; font-weight: bold;for/span feature span style=color: #aa22ff; font-weight: bold;in/span layerspan style=color: #666666;./spanfeatures(): span style=color: #408080; font-style: italic;# En cada iteración informamos a la barra de progreso de por donde vamos/span taskStatusspan style=color: #666666;./spansetCurValue(i) span style=color: #666666;.../span ispan style=color: #666666;+=1/span span style=color: #008000; font-weight: bold;finally/span: span style=color: #408080; font-style: italic;# Al terminar/span span style=color: #408080; font-style: italic;# Le indicamos a la barra de progreso que ya hemos terminado/span taskStatusspan style=color: #666666;./spanterminate() span style=color: #408080; font-style: italic;# Y la eliminamos de la barra de estado de gvSIG./span taskStatusspan style=color: #666666;./spanremove() /pre pBueno, hay un montón de detallitos, como atrapar errores aquí y allí, el manejo del emStringIO/em para generar nuestro informe o la generación del código HTML, pero creo que los que han estado ya viendo algunas cosillas del scripting en gvSIG y tienen algo de conocimiento de programación en python pueden seguirlo. Al final os dejo el código completo./p pTambién tengo un problema en el metodo em“centerViewinPoint”/em, algun cálculo no es correcto y no se centra bien la vista, pero creo que es un detalle menor que ya podréis pulir si os es de utilidad el script./p pEspero que os sirva… como herramienta para gvSIG y como ejemplo de como hacer cosas nuevas en scripting./p pEso si, para probarlo precisareis de una capa con geometrías dañadas o no validas. Alguna tengo por ahi… a ver si puedo colgarla en algun sitio y la enzalo para que podais probar./p pPara ejecutar el script precisareis un gvSIG desktop 2.1.0 build 2231 o superior span class=wp-smiley emoji emoji-wink title=;);)/span/p pUn saludo a todos/p pJoaquin/p pre style=line-height: 125%;span style=color: #008000; font-weight: bold;from/span span style=color: #0000ff; font-weight: bold;gvsig/span span style=color: #008000; font-weight: bold;import/span span style=color: #666666;*/span span style=color: #008000; font-weight: bold;from/span span style=color: #0000ff; font-weight: bold;org.gvsig.tools.swing.api.windowmanager/span span style=color: #008000; font-weight: bold;import/span WindowManager span style=color: #008000; font-weight: bold;import/span span style=color: #0000ff; font-weight: bold;StringIO/span span style=color: #008000; font-weight: bold;from/span span style=color: #0000ff; font-weight: bold;commonsdialog/span span style=color: #008000; font-weight: bold;import/span span style=color: #666666;*/span span style=color: #008000; font-weight: bold;from/span span style=color: #0000ff; font-weight: bold;javax.swing.event/span span style=color: #008000; font-weight: bold;import/span HyperlinkListener span style=color: #008000; font-weight: bold;from/span span style=color: #0000ff; font-weight: bold;org.gvsig.fmap.geom/span span style=color: #008000; font-weight: bold;import/span GeometryLocator span style=color: #008000; font-weight: bold;from/span span style=color: #0000ff; font-weight: bold;org.gvsig.fmap.geom/span span style=color: #008000; font-weight: bold;import/span Geometry span style=color: #008000; font-weight: bold;def/span span style=color: #0000ff;centerViewinPoint/span(view,center): env span style=color: #666666;=/span viewspan style=color: #666666;./spangetMap()span style=color: #666666;./spangetViewPort()span style=color: #666666;./spangetEnvelope(); movX span style=color: #666666;=/span centerspan style=color: #666666;./spangetX()span style=color: #666666;-/spanenvspan style=color: #666666;./spangetCenter(span style=color: #666666;0/span); movY span style=color: #666666;=/span centerspan style=color: #666666;./spangetY()span style=color: #666666;-/spanenvspan style=color: #666666;./spangetCenter(span style=color: #666666;1/span); minx span style=color: #666666;=/span envspan style=color: #666666;./spangetMinimum(span style=color: #666666;0/span) span style=color: #666666;+/span movX; miny span style=color: #666666;=/span envspan style=color: #666666;./spangetMinimum(span style=color: #666666;1/span) span style=color: #666666;+/span movY; maxX span style=color: #666666;=/span envspan style=color: #666666;./spangetMaximum(span style=color: #666666;0/span) span style=color: #666666;+/span movX; maxY span style=color: #666666;=/span envspan style=color: #666666;./spangetMaximum(span style=color: #666666;1/span) span style=color: #666666;+/span movY; env span style=color: #666666;=/span GeometryLocatorspan style=color: #666666;./spangetGeometryManager()span style=color: #666666;./spancreateEnvelope( minx, miny, maxX, maxY, Geometryspan style=color: #666666;./spanSUBTYPESspan style=color: #666666;./spanGEOM2D); viewspan style=color: #666666;./spangetMap()span style=color: #666666;./spangetViewPort()span style=color: #666666;./spansetEnvelope(env); viewspan style=color: #666666;./spangetMap()span style=color: #666666;./spaninvalidate() span style=color: #008000; font-weight: bold;class/span span style=color: #0000ff; font-weight: bold;MyHyperlinkListener/span(HyperlinkListener): span style=color: #008000; font-weight: bold;def/span span style=color: #0000ff;__init__/span(span style=color: #008000;self/span,vista): span style=color: #008000;self/spanspan style=color: #666666;./spanvista span style=color: #666666;=/span vista span style=color: #008000; font-weight: bold;def/span span style=color: #0000ff;hyperlinkUpdate/span(span style=color: #008000;self/span, h): span style=color: #008000; font-weight: bold;if/span span style=color: #008000;str/span(hspan style=color: #666666;./spangetEventType()) span style=color: #666666;==/span span style=color: #ba2121;ACTIVATED/span: span style=color: #408080; font-style: italic;# Sopo procesamos los eventos ACTIVATED que son los clicks sobre los enlaces/span span style=color: #408080; font-style: italic;# Recogemos la geometría que metimos en el enlace en WKT/span wktgeom span style=color: #666666;=/span hspan style=color: #666666;./spangetDescription() span style=color: #008000; font-weight: bold;print/span wktgeom span style=color: #408080; font-style: italic;# Y reconstruimos el punto a partir de ese WKT/span manager span style=color: #666666;=/span GeometryLocatorspan style=color: #666666;./spangetGeometryManager() point span style=color: #666666;=/span managerspan style=color: #666666;./spancreateFrom(wktgeom) span style=color: #408080; font-style: italic;# Y una vez lo tenemos centramos la vista en ese punto./span centerViewinPoint(span style=color: #008000;self/spanspan style=color: #666666;./spanvista,point) span style=color: #008000; font-weight: bold;def/span span style=color: #0000ff;main/span(span style=color: #666666;*/spanargs): layer span style=color: #666666;=/span currentLayer() span style=color: #008000; font-weight: bold;if/span layer span style=color: #666666;==/span span style=color: #008000;None/span: msgbox(span style=color: #ba2121;Debera seleccionar la capa que desea validar/span) span style=color: #008000; font-weight: bold;return/span informe span style=color: #666666;=/span StringIOspan style=color: #666666;./spanStringIO() informespan style=color: #666666;./spanwrite(span style=color: #ba2121;lt;ulgt;/spanspan style=color: #bb6622; font-weight: bold;\n/spanspan style=color: #ba2121;/span) ispan style=color: #666666;=0/span hay_problemas span style=color: #666666;=/span span style=color: #008000;False/span span style=color: #008000; font-weight: bold;try/span: span style=color: #408080; font-style: italic;# Añadimos la barra de progreso a la barra de estado de gvSIG/span taskStatusspan style=color: #666666;./spanadd() span style=color: #408080; font-style: italic;# Le indicamos cuantas iteraciones vamos a realizar/span span style=color: #008000; font-weight: bold;for/span feature span style=color: #aa22ff; font-weight: bold;in/span layerspan style=color: #666666;./spanfeatures(): span style=color: #408080; font-style: italic;# En cada iteración informamos a la barra de progreso de por donde vamos/span taskStatusspan style=color: #666666;./spansetCurValue(i) vs span style=color: #666666;=/span featurespan style=color: #666666;./spangeometry()span style=color: #666666;./spangetValidationStatus(); span style=color: #008000; font-weight: bold;if/span span style=color: #aa22ff; font-weight: bold;not/span vsspan style=color: #666666;./spanisValid() : hay_problemas span style=color: #666666;=/span span style=color: #008000;True/span span style=color: #008000; font-weight: bold;if/span vsspan style=color: #666666;./spangetProblemLocation()span style=color: #666666;!=/spanspan style=color: #008000;None/span: wktgeom span style=color: #666666;=/span vsspan style=color: #666666;./spangetProblemLocation()span style=color: #666666;./spanconvertToWKT() span style=color: #008000; font-weight: bold;else/span: span style=color: #008000; font-weight: bold;try/span: span style=color: #408080; font-style: italic;# Atrapamos los errores no vaya a ser que la geometría este tan dañada que/span span style=color: #408080; font-style: italic;# nos falle el calculo de su centroide./span wktgeom span style=color: #666666;=/span featurespan style=color: #666666;./spangeometry()span style=color: #666666;./spancentroid()span style=color: #666666;./spanconvertToWKT() span style=color: #008000; font-weight: bold;except/span: wktgeom span style=color: #666666;=/span span style=color: #008000;None/span informespan style=color: #666666;./spanwrite(span style=color: #ba2121;lt;ligt;/span) span style=color: #008000; font-weight: bold;if/span wktgeom span style=color: #666666;==/span span style=color: #008000;None/span: informespan style=color: #666666;./spanwrite(span style=color: #ba2121;'/spanspan style=color: #bb6688; font-weight: bold;%5.5d/spanspan style=color: #bb6688; font-weight: bold;%s/spanspan style=color: #ba2121;lt;brgt;/spanspan style=color: #bb6688; font-weight: bold;%s/spanspan style=color: #ba2121;'/span span style=color: #666666;%/span (i, featurespan style=color: #666666;./spantoString(),vsspan style=color: #666666;./spangetMessage())) span style=color: #008000; font-weight: bold;else/span: informespan style=color: #666666;./spanwrite(span style=color: #ba2121;'lt;a href=/spanspan style=color: #bb6688; font-weight: bold;%s/spanspan style=color: #ba2121;gt;/spanspan style=color: #bb6688; font-weight: bold;%5.5d/spanspan style=color: #ba2121;lt;/agt; /spanspan style=color: #bb6688; font-weight: bold;%s/spanspan style=color: #ba2121;lt;brgt;/spanspan style=color: #bb6688; font-weight: bold;%s/spanspan style=color: #ba2121;'/span span style=color: #666666;%/span (wktgeom,i, featurespan style=color: #666666;./spantoString(),vsspan style=color: #666666;./spangetMessage())) informespan style=color: #666666;./spanwrite(span style=color: #ba2121;lt;/ligt;/span) ispan style=color: #666666;+=1/span span style=color: #008000; font-weight: bold;finally/span: span style=color: #408080; font-style: italic;# Al terminar/span span style=color: #408080; font-style: italic;# Le indicamos a la barra de progreso que ya hemos terminado/span taskStatusspan style=color: #666666;./spanterminate() span style=color: #408080; font-style: italic;# Y la eliminamos de la barra de estado de gvSIG./span taskStatusspan style=color: #666666;./spanremove() informespan style=color: #666666;./spanwrite(span style=color: #ba2121;lt;/ulgt;/spanspan style=color: #bb6622; font-weight: bold;\n/spanspan style=color: #ba2121;/span) span style=color: #008000; font-weight: bold;if/span hay_problemas : application span style=color: #666666;=/span ApplicationLocatorspan style=color: #666666;./spangetManager() applicationspan style=color: #666666;./spanshowTextDialog( WindowManagerspan style=color: #666666;./spanMODEspan style=color: #666666;./spanTOOL, span style=color: #408080; font-style: italic;# TOOL o WINDOW según nos interese./span span style=color: #ba2121;Problems in layer /spanspan style=color: #666666;+/spanlayerspan style=color: #666666;./spangetName(), informespan style=color: #666666;./spangetvalue(), MyHyperlinkListener(currentView()) ) span style=color: #008000; font-weight: bold;else/span: msgbox(span style=color: #ba2121;Layer /spanspan style=color: #666666;+/spanlayerspan style=color: #666666;./spangetName()span style=color: #666666;+/spanspan style=color: #ba2121; is valid./span) /pre /divbr /Filed under: a href=http://blog.gvsig.org/category/products/gvsig-desktop/gvSIG Desktop/a, a href=http://blog.gvsig.org/category/gvsig-development/scripting/scripting/a, a href=http://blog.gvsig.org/category/languages/spanish/spanish/a Tagged: a href=http://blog.gvsig.org/tag/gvsig-2-1/gvSIG 2.1/a, a href=http://blog.gvsig.org/tag/gvsig-lac/gvSIG LAC/a, a href=http://blog.gvsig.org/tag/python/python/a, a href=http://blog.gvsig.org/tag/scripting/scripting/a img alt= border=0 height=1 src=http://pixel.wp.com/b.gif?host=blog.gvsig.orgamp;blog=8230583amp;post=2458amp;subd=gvsigamp;ref=amp;feed=1 width=1 /
Categories: OSGeo Planet

Cameron Shorter: Inclusive OSGeo Charter membership - invite your team

OSGeo Planet - Wed, 2014-07-23 22:31
div class=separator style=clear: both; text-align: center;a href=http://wiki.osgeo.org/images/9/9f/OSGeo_300_127_pixel.png style=clear: right; float: right; margin-bottom: 1em; margin-left: 1em;img border=0 height=135 src=http://wiki.osgeo.org/images/7/74/OSGeo_logo_750_317.png width=320 //a/divIn response to community suggestions in previous years, the OSGeo board has updated the voting process for OSGeo Charter Membership to be more inclusive. In particular, there is now no upper cap on the number of new Charter Members who can be voted in. This will avoid the disappointing situation where we our process denied respected community members from charter membership because we didn't have enough slots.  Now, new charter members need only demonstrate a href=http://wiki.osgeo.org/wiki/Membership_Process#Positive_Attributespositive OSGeo attributes/a as confirmed by existing Charter Members.br /divThe official responsibilities of Charter Members is very light, consisting of voting in the OSGeo Board and other OSGeo Charter members. However, it is also a way we officially acknowledge the number of volunteers who help out in many ways with OSGeo activities./divdivSo now the process is updated, I encourage existing Charter Members and community leaders to be proactive about nominating people from their community./divdivHere is an email I sent to people within the a href=http://live.osgeo.org/OSGeo-Live/a community:/divdivblockquote class=tr_bqOSGeo-Live contributors,br /As you have probably seen, the voting process for new OSGeo charter members has changed in order to ensure OSGeo charter membership is more inclusive and representative of the greater OSGeo membership.In line with this new direction, I'd like to nominate all active OSGeo-Live contributors for OSGeo Charter membership.I believe all active contributors that I've worked with meet the recommended membership selection criteria [1] which includes:br /ulliPrevious participation in or support of OSGeo activities (you have contributed to OSGeo-Live) /li/ululliThe person should already have made a contribution to free and open source geospatial software, education or open data. (you have contributed to OSGeo-Live)/li/ululliThe person should be willing to put in time and effort on the Foundation, perhaps joining committee(s), or volunteering in some other way that gets the Foundation going. (Do you wish to continue contributing?) /li/ululliMembers should believe in the general goals of the Foundation. To support and promote the use of free and open source geospatial software, education and data in a collaborative manner. (I expect this is the case, as you have committed to OSGeo-Live license requirements) /li/ululliMembers selected should provide a diversity of geographic regions, diversity of projects, diversity of programming languages and diversity of interests e.g., corporate, hobbyist, educational, scientific. (Lots of project, language and geographic diversity in OSGeo-Live)/li/ululliMembers should be prepared to work constructively and positively towards the goals of the Foundation. Good teamwork skills are an asset. (All OSGeo-Live contributors I've worked with fit this criteria)/li/ulIf you are ok being nominated, then please email me to let me know. Ideally, can you please also point at your OSGeo Advocate profile which I can reference when nominating you. (You might need to create your profile first).br /[1] a href=http://wiki.osgeo.org/wiki/Membership_Process#Positive_Attributeshttp://wiki.osgeo.org/wiki/Membership_Process#Positive_Attributes/abr /[2] a href=http://wiki.osgeo.org/wiki/OSGeo_Advocate#Process_for_becoming_an_OSGeo_Advocatehttp://wiki.osgeo.org/wiki/OSGeo_Advocate#Process_for_becoming_an_OSGeo_Advocate/a/blockquote/div
Categories: OSGeo Planet

GeoServer Team: GeoServer 2.5.2 release

OSGeo Planet - Wed, 2014-07-23 16:18
pThe GeoServer team is happy to announce the release of a href=http://geoserver.org/release/2.5.2/ target=_blank title=GeoServer 2.5.2GeoServer 2.5.2/a. Download bundles are provided (a href=http://sourceforge.net/projects/geoserver/files/GeoServer/2.5.2/geoserver-2.5.2-bin.zip/download target=_blankzip/a, a href=http://sourceforge.net/projects/geoserver/files/GeoServer/2.5.2/geoserver-2.5.2-war.zip target=_blankwar/a, a href=http://sourceforge.net/projects/geoserver/files/GeoServer/2.5.2/geoserver-2.5.2.dmg/download target=_blankdmg/a and a href=http://sourceforge.net/projects/geoserver/files/GeoServer/2.5.2/geoserver-2.5.2.exe/download target=_blankexe/a)  along with documentation and extensions./p pGeoServer 2.5.2 is the next the stable release of GeoServer and is recommended for production deployment. Thanks to everyone taking part, submitting fixes and new functionality:/p ul liSome fixes in the new GetFeatureInfo engine, for unfilled polygons and dashed lines/li liSolved a configuration issue that might have linked two styles toghether (edit one, the other changed as well)/li liDBMS connection leak in some WFS GetFeature with bounds enabled/li liHave WPS work properly as a workspace specific service, and report the current process activity during asynchronous requests (for processes that do report what they are doing in plain english, besides offering a progress percentage)/li liAdd a way to resctrict output formats supported by WMS GetMap and GetFeatureInfo/li liMore docs on how to setup JNDI connection pools in GeoServer/li liThanks to Andrea (GeoSolutions) for publishing this release/li liCheck the a href=https://jira.codehaus.org/secure/ReleaseNote.jspa?projectId=10311amp;version=20399 target=_blankrelease notes/a for more details/li liThis release is made in conjunction with GeoTools 11.2/li /ul h1About GeoServer 2.5/h1 pArticles and resources for GeoServer 2.5 series:/p ul lia href=http://www.geo-solutions.it/blog/geoserver-supports-footprints-imagemosaic/ target=_blankGeoServer now supports Vector Footprints for ImageMosaic/a/li lia href=http://boundlessgeo.com/2014/04/harvesting-metadata-using-csw/ target=_blankHarvesting Metadata using CSW/a/li lia href=http://www.geo-solutions.it/blog/developers-corner-caveats-geoserver-jndi-configuration/ target=_blankCaveats in GeoServer JNDI configuration/a/li lia href=http://www.geo-solutions.it/blog/developers-corner-supporting-wind-barbs-geoserver-geotools/ target=_blankSupporting Wind Barbs In GeoServer and GeoTools/a/li lia href=http://boundlessgeo.com/2014/04/deterministic-rendering-order-in-sld/ target=_blankDeterministic rendering order in SLDs/a/li lia href=http://boundlessgeo.com/2014/02/secure-connections-heroku/ target=_blankSecure GeoServer connections to Postgres for Heroku/a/li lia href=http://boundlessgeo.com/2014/02/labelling-a-multipoint-geometry-with-wps/ target=_blankLabelling a MultiPoint geometry with WPS/a/li liGeoServer 2.5-beta announcement reviews a href=http://blog.geoserver.org/2014/01/21/geoserver-2-5-beta-released/ target=_blank title=GeoServer 2.5-beta releasedkey features of this release/a: ul liWCS 2.0 and WCS 2.0 Earth Observation have been added (thanks to DLR and Eumesat for funding this)/li liThe addition of a batch importer to making setting up GeoServer easier (thanks to a href=http://mapstory.org/ target=_blank title=MapStoryMapStory/a)./li liHigh performance PNG encoder based on a href=https://code.google.com/p/pngj/ target=_blank title=PNGJ LibraryPNGJ library/a (Andrea Aime). Improved JPEG performance using a href=http://libjpeg-turbo.virtualgl.org/ target=_blanklibjpegturbo/a available as an optional extension (Simone Giannecchini and Daniele Romagnoli)/li liUse of ST_Simplify to improve PostGIS rendering performance (a collaboration with Andrea and Jonathan Moules)./li liNew implementation of GetFeatureInfo that takes into account symbol shapes, offsets, and dynamic line widths into account (thanks to Eskilstuna municipality for funding this)./li /ul /li lia href=http://blog.geoserver.org/2014/01/07/using-geoserver-at-ign-the-french-national-mapping-agency-to-create-new-digital-maps/ target=_blank title=Using GeoServer and IGN to create new digital mapsUsing GeoServer at IGN to create new digital maps/a is an impressive look at advanced styling deployed by the french mapping agency/li lia href=http://boundlessgeo.com/2014/02/labelling-a-multipoint-geometry-with-wps/ title=http://boundlessgeo.com/2014/02/labelling-a-multipoint-geometry-with-wps/Labelling a MultiPoint geometry with WPS/a (Boundless) is a good example of integrating WPS and Styling/li lia href=http://geo-solutions.blogspot.it/2014/02/geoserver-improved-scalability.html target=_blank title=Achieving Extreme GeoServer Scalability with the new Marlin vector rasterizerAchieving extreme GeoServer Scalability with new Marlin vector rasterizer/a (GeoSolutions) shows an exciting JRE extension that can be used for improved performance. If you are using GeoServer with a large number of CPU cores you owe yourself an hour to try this out./li lia href=http://geo-solutions.blogspot.it/2014/01/geoserver-dxf.html target=_blank title=Developer's Corner: DXF output format promoted to official extension for GeoServerDXF output format promoted to official extension for GeoServer/a (GeoSolutions)/li lia href=http://geo-solutions.blogspot.it/2014/01/geoserver-activedirectory.html target=_blank title=Active Directory based security in GeoServer through LDAPActive Directory based security in GeoServer through LDAP/a (GeoSolutions)/li /ul p /p
Categories: OSGeo Planet

GeoTools Team: GeoTools 11.2 released

OSGeo Planet - Wed, 2014-07-23 14:44
divspan style=font-size: 14px;The GeoTools community is happy to announce the latest  /spana href=http://sourceforge.net/projects/geotools/files/GeoTools%2011%20Releases/11.2/ style=color: #ca7900; font-size: 14px; target=_blankGeoTools 11.2 download/aspan style=font-size: 14px;:/span/divdiv class=post-body entry-content id=post-body-2992135552493375359 style=background-color: white;div dir=ltrullia href=http://sourceforge.net/projects/geotools/files/GeoTools%2011%20Releases/11.2/geotools-11.2-bin.zip/download style=color: #ca7900; target=_blankgeotools-11.2-bin.zip/a/lilia href=http://sourceforge.net/projects/geotools/files/GeoTools%2011%20Releases/11.2/geotools-11.2-doc.zip/download style=color: #ca7900; target=_blankgeotools-11.2-doc.zip/a/lilia href=http://sourceforge.net/projects/geotools/files/GeoTools%2011%20Releases/11.2/geotools-11.2-userguide.zip/download rel=nofollow style=color: #ca7900;geotools-11.2-userguide.zip/a/lilia href=http://sourceforge.net/projects/geotools/files/GeoTools%2011%20Releases/11.2/geotools-11.2-project.zip/download style=color: #ca7900; target=_blankgeotools-11.2-project.zip/a/li/uldivThis release is also available from our a href=http://download.osgeo.org/webdav/geotools/ style=color: #ca7900;maven repository/a. This release is made in conjunction with GeoServer 2.5.2./divdivbr //divspanThis is a release of the GeoTools 11 Stable series recommended for production systems. The /spana href=https://github.com/geoserver/geoserver/wiki/Release-Schedulerelease schedule/aspan style=font-family: Lucida Grande, Lucida Sans Unicode, Geneva, Verdana, sans-serif;span now offers 6 months of stable releases followed by six months of maintenance releases./span/spanbr /divbr //divdivA few highlights from the a href=https://jira.codehaus.org/secure/ReleaseNote.jspa?projectId=10270amp;version=20398 style=color: #ca7900; target=_blankGeoTools 11.2-Release Notes/a:/divullispan style=font-family: Lucida Grande, Lucida Sans Unicode, Geneva, Verdana, sans-serif;span style=font-size: 14px; line-height: 21px;Some image mosaic fixes about performance, granule harvesting, and heterogeneous mosaic management/span/span/lilispan style=font-family: Lucida Grande, Lucida Sans Unicode, Geneva, Verdana, sans-serif;span style=font-size: 14px; line-height: 21px;Some fixes in XML encoding, in GML and WPS land/span/span/lilispan style=font-family: Lucida Grande, Lucida Sans Unicode, Geneva, Verdana, sans-serif;span style=font-size: 14px; line-height: 21px;Upgraded imageio-ext dependency to 1.1.10/span/span/lilispan style=font-family: Lucida Grande, Lucida Sans Unicode, Geneva, Verdana, sans-serif;span style=font-size: 14px; line-height: 21px;Some improvements in Grib and NetCDF formats /span/span/li/uldivThanks to Andrea for this release (GeoSolutions)./divh2About GeoTools 11/h2divSummary of the new features for the GeoTools 11 series:/divulliThe DataStore API has a new a href=http://docs.geotools.org/latest/userguide/library/api/datastore.html style=color: #ca7900;removeSchema/a method to drop feature types. This new optional feature is currently implemented by the JDBCDataStore family (all spatial database backed stores), other stores will likely throw an UnsupportedOperationException/liliJDBCDataStore now exposes facilities to a href=http://docs.geotools.org/latest/javadocs/org/geotools/jdbc/JDBCDataStore.html#createIndex(org.geotools.jdbc.Index) style=color: #ca7900;list, create and destroy indexes/a on database columns./liliAbility to create and drop databases from the PostgisNGFactory/liliPostGis data store will now call ST_Simplify when the GEOMETRY_SIMPLIFICATION hint is provided, a href=http://osgeo-org.1560.x6.nabble.com/Some-interesting-optmizations-from-Jonathan-s-load-test-td5095839.html#a5096070 style=color: #ca7900;significantly speeding up loading of complex geometries /a (the renderer can perform scale based simplification already, but doing it before sending the data speeds up data retrieval significantly)/liliImageMosaic can now manage vector footprints for its granules, allowing to filter out no-data or corrupted sections of the imagery/liliAll properties in a SLD style can now have a a href=http://geo-solutions.blogspot.it/2014/01/css-uom.html style=color: #ca7900;local unit of measure/a, as opposed to specifying the unit of measure per symbolizer. For example, if you need to have a line width to be 10 meters, its value can now be 10m/liliImproved handling of data with 3D coordinates in JDBC data stores/liliA number of small improvements to the rendering engine, such as improved raster icon placement resulting in cleaner, less blurry output, improved label grouping, better handling of icons at the border of the map and in general much improved estimation of the buffer area needed to include all symbols in a map (for features that sit outside the map, but whose symbols are big enough to enter it)./li/ul/div/div
Categories: OSGeo Planet

Boundless Blog: Boundless Growth

OSGeo Planet - Tue, 2014-07-22 19:46
pimg alt=Eddie Pickle class=alignright size-full wp-image-8538 height=138 src=http://boundlessgeo.com/wp-content/uploads/2013/09/edd.png style=margin-left: 10px; width=138 //p p dir=ltrBoundless is growing but our focus remains helping customers build the best web mapping applications. We’ve recruited a stronger leadership team and are enhancing our current products while also developing new products and services to help customers in new ways./p p dir=ltrWe recently added a href=http://boundlessgeo.com/2014/07/ann-johnson-ceo/Ann Johnson/a as our a href=http://boundlessgeo.com/2014/07/ann-johnson-ceo/new CEO/a to strengthen our team and leadership. Ann’s experience with enterprise software, particularly her deep knowledge of security, greatly expand our expertise in critical areas of Spatial IT./p p dir=ltrAt the same time, we have been steadilya href=http://boundlessgeo.com/2014/06/opengeo-suite-4-1-released/ adding capabilities to OpenGeo Suite/a to enable easier,a href=http://boundlessgeo.com/2014/07/automated-clustering/ more scalable/a web services deployments. To help our customers successfully build enterprise mapping applications, we’re advancing open source software like a href=http://ol3js.org/OpenLayers 3/a and providing a href=http://boundlessgeo.com/2014/07/build-apps-with-boundless-sdk/new SDK templates/a that leverage this new technology. We continue to “a href=http://boundlessgeo.com/whitepaper/value-opengeo-suite/lower the cost of free software/a” by making secure, fault tolerant, and scalable deployments of our open source stack simpler, faster, and easier./p pAdditionally, some of our key initiatives include:/p ul li dir=ltr p dir=ltrReleasing newa href=http://boundlessgeo.com/2014/06/new-geoserver-training-and-certification/ online training courses/a and a href=http://boundlessgeo.com/resources/training/#onsiteon-site classes/a that enable us to train many more users on how to deploy and administer GeoServer and PostGIS./p /li li dir=ltr p dir=ltrExpanding our a href=http://boundlessgeo.com/solutions/professional-services/professional services/a offerings to make developing, implementing, and perfecting open source solutions quicker and easier./p /li li dir=ltr p dir=ltrExpanding our a href=http://boundlessgeo.com/about/partners/partner program/a to create new capabilities (such as a href=http://boundlessgeo.com/press-release/boundless-ccri-launch-opengeo-suite-geomesa/new options/a for a href=http://boundlessgeo.com/press-release/boundless-partners-mongodb-inc/Big Data/a) and grow internationally./p /li li dir=ltr p dir=ltrIncreasing a href=http://boundlessgeo.com/2013/11/opengeo-suite-and-qgis/ways to help QGIS users/a easily work with, style, and publish data to the web./p /li /ul p dir=ltrWith Ann joining Boundless, I’m focusing my efforts on developing these and other capabilities to grow our business, with a particular emphasis on developing new partnerships to create a new geospatial ecosystem based on open source software. We believe the future is bright for open source–based solutions to address a variety of challenges, from a href=http://boundlessgeo.com/case-study/howard-county-maryland/publishing data/a to a href=http://boundlessgeo.com/case-study/san-jose-water-company/asset management/a to a href=http://boundlessgeo.com/case-study/nyc-hra/customer services/a. I look forward to working with our customers and partners to reshape this industry!/p pThe post a href=http://boundlessgeo.com/2014/07/boundless-growth/Boundless Growth/a appeared first on a href=http://boundlessgeo.comBoundless/a./p
Categories: OSGeo Planet

GeoSolutions: Esalab si unisce al programma di partnership di GeoSolutions!

OSGeo Planet - Tue, 2014-07-22 08:30
pimg alt=partnership-en class=attachment-post-thumbnail wp-post-image height=1069 src=http://www.geo-solutions.it/wp-content/uploads/2014/01/v4_partnership_v2_EN-02.jpg?d879e9 width=1900 //pp style=text-align: justify;a href=http://www.geo-solutions.it target=_blankGeoSolutions/a è lieta di annunciare l’accordo di Partnership raggiunto con l’azienda a href=http://www.esalab.it/ target=_blankEsalab/a S.r.l. grazie al quale a href=http://www.esalab.it/ target=_blankEsalab/a S.r.l. rappresenterà a href=http://www.geo-solutions.it target=_blankGeoSolutions/a  nelle regioni di Marche, Abruzzo e Basilicata./p p style=text-align: justify;L’accordo di Partnership tra GeoSolutions e a href=http://www.esalab.it/ target=_blankEsalab/a costituisce l’inizio di un percorso che ha l’obiettivo di creare una rete di imprese coinvolte nello sviluppo e nella promozione dei principali software geospaziali Open Source da sempre promossi e sviluppati da a href=http://www.geo-solutions.it target=_blankGeoSolutions/a. La costruzione di una rete di imprese dislocate sul territorio nazionale e internazionale in grado di supportare gli utenti e di promuovere professionalmente i software geospaziali Open Source a href=http://geoserver.geo-solutions.itGeoServer/a, a href=http://geonetwork.geo-solutions.it target=_blankGeoNetwork/a e a href=http://mapstore.geo-solutions.it target=_blankMapStore/a mira a raggiungere un ulteriore miglioramento dei servizi offerti./p p style=text-align: justify;I partner di a href=http://www.geo-solutions.it target=_blankGeoSolutions/a saranno formati direttamente dai technical lead di a href=http://www.geo-solutions.it target=_blankGeoSolutions/a e saranno, come nel caso dell’azienda a href=http://www.esalab.it/ target=_blankEsalab/a, partner strategici già coinvolti a vario titolo nello sviluppo e nell’utilizzo dei software geospaziali Open Source promossi e curati da a href=http://www.geo-solutions.it target=_blankGeoSolutions/a in modo da garantire ai clienti dei partner la possibilità di interagire direttamente con coloro che sviluppano i software supportati per garantire una efficacia di servizio senza pari./p p style=text-align: justify;L’integrazione tra i tecnici di a href=http://www.geo-solutions.it target=_blankGeoSolutions/a e quelli delle aziende partner dislocate sul territorio è pensata nell’ottica di fornire al cliente finale un supporto ancora più presente e professionale attraverso un parco consulenti articolato ed eterogeneo capace di affrontare qualsiasi problematica in modo efficiente ed efficace./p h2 style=text-align: justify;bChi è GeoSolutions/b/h2 p style=text-align: justify;a href=http://www.geo-solutions.it target=_blankGeoSolutions/a è un’azienda altamente specializzata  nella gestione, processamento e disseminazione  dei dati geospaziali sia raster che vettoriali tramite l’utilizzo di software Open Source secondo le specifiche dettate dall’Open  GeoSpatial Consortium  (OGC) e dell’ ISO Technical Committee 211 che a loro volta forniscono  la base delle regole di INSPIRE ed RNDT./p p style=text-align: justify;a href=http://www.geo-solutions.it target=_blankGeoSolutions/a è composta da professionisti di livello internazionale con esperienza pluriennale nella progettazione, realizzazione e supporto di infrastrutture Enterprise per la gestione di dati geospaziali. I membri dello staff di a href=http://www.geo-solutions.it target=_blankGeoSolutions/a sono a vario titolo leader di alcuni tra i principali prodotti  Open Source  per  il  mondo  geospaziale come a href=http://geoserver.geo-solutions.itGeoServer/a, a href=http://geonetwork.geo-solutions.it target=_blankGeoNetwork/a a href=http://mapstore.geo-solutions.it target=_blankMapStore/a e GeoTools e forniscono per essi supporto professionale avanzato./p p style=text-align: justify;a href=http://www.geo-solutions.it target=_blankGeoSolutions/a annovera tra  i  suoi principali  clienti  enti  pubblici nazionali ed internazionali così come aziende private di tutto il mondo. United  Nations Food  and  Agriculture Organization (FAO),  United Nations World Food Program (WFP), NATO STO CMRE, EUMETSAT, German Space Agency (DLR), Austrian MetOffice (ZAMG), CSI Piemonte, Norwegian Public Roads Administration (NPRA), Magistrat Wien e tanti altri si avvalgono della collaborazione di a href=http://www.geo-solutions.it target=_blankGeoSolutions/a così come il Comune di Firenze e la Provincia di Firenze,  il Comune di Prato e la Provincia di Prato, il Comune di Bolzano ed il Comune di Genova./p h2 style=text-align: justify;bChi è Esalab/b/h2 p style=text-align: justify;a href=http://www.esalab.it/ target=_blankEsalab/a s.r.l. è una società fondata nel 1998 che opera nell'ambito della progettazione, dello sviluppo e dell'implementazione di Sistemi Informativi, rivolgendo la propria attività agli Enti Pubblici ed alle grandi società di Ingegneria./p p style=text-align: justify;a href=http://www.esalab.it/ target=_blankEsalab/a è specializzata nella definizione di servizi specifici di web application e di soluzioni integrate Web-GIS per la gestione del territorio, per il monitoraggio ambientale, per la protezione civile e per il turismo in ambito Open Source, secondo le specifiche dell’Open GeoSpatial Consortium (OGC) e di INSPIRE./p p style=text-align: justify;a href=http://www.esalab.it/ target=_blankEsalab/a dispone di un team di lavoro dedicato alla ricerca e alla realizzazione di progetti innovativi nel campo delle tecnologie GIS e WEBGIS./p p style=text-align: justify;a href=http://www.esalab.it/ target=_blankEsalab/a annovera tra i suoi principali clienti enti pubblici nazionali e società di ingegneria: Regione Marche, Provincia di Barletta Andria Trani, Comune di Urbino, SAIPEM SpA, Proger SpA e numerosi comuni nel territorio nazionale./p h2 style=text-align: justify;strongGeoSolutions Alliance Partnership Program/strong/h2 p style=text-align: justify;Il programma a href=http://www.geo-solutions.it/partnership/ target=_blankGeoSolutions Alliance Partnership/a si rivolge alla aziende che supportano e propongono i prodotti Open Source sviluppati da a href=http://www.geo-solutions.it target=_blankGeoSolutions/a e che sono alla ricerca di un partner capace di offrire il necessario supporto tecnico, commerciale e di marketing per lo sviluppo del proprio mercato. Per maggiori informazioni si rimanda a href=http://www.geo-solutions.it/partnership/ target=_blankalla pagina dedicata/a, oppure si consiglia di contattarci direttamente menzionando il a href=http://www.geo-solutions.it/partnership/ target=_blankGeoSolutions Alliance Partnership/a Program./p
Categories: OSGeo Planet

Free and Open Source GIS Ramblings: Visualizing direction-dependent values

OSGeo Planet - Mon, 2014-07-21 18:48
pWhen mapping flows or other values which relate to a certain direction, styling these layers gets interesting. I faced the same challenge when mapping direction-dependent error values. Neighboring cell pairs were connected by two lines, one in each direction, with an associated error value. This is what I came up with:/p pa href=https://underdark.files.wordpress.com/2014/07/srtm_errors_1200px.pngimg alt=srtm_errors_1200px class=alignnone size-large wp-image-3270 src=http://underdark.files.wordpress.com/2014/07/srtm_errors_1200px.png?w=545amp;h=384 //a/p pEach line is drawn with an offset to the right. The size of the offset depends on the width of the line which in turn depends on the size of the error. You can see the data-defined style properties here:/p pa href=https://underdark.files.wordpress.com/2014/07/directed_error_style.pngimg alt=directed_error_style class=alignnone size-large wp-image-3275 height=398 src=http://underdark.files.wordpress.com/2014/07/directed_error_style.png?w=545amp;h=398 width=545 //a/p pTo indicate the direction, I added a marker line with one gt; marker at the center. This marker line also got assigned the same offset to match the colored line bellow. I’m quite happy with how these turned out and would love to hear about your approaches to this issue./p pa href=https://underdark.files.wordpress.com/2014/07/srtm_errors_detail.pngimg alt=srtm_errors_detail class=alignnone size-full wp-image-3273 height=392 src=http://underdark.files.wordpress.com/2014/07/srtm_errors_detail.png?w=545amp;h=392 width=545 //a/p pThese figures are part of a recent publication with my AIT colleagues: a href=http://hw.oeaw.ac.at/0xc1aa500d_0x0030d58f.pdfA. Graser, J. Asamer, M. Dragaschnig: “How to Reduce Range Anxiety? The Impact of Digital Elevation Model Quality on Energy Estimates for Electric Vehicles” (2014). /a/pbr / a href=http://feeds.wordpress.com/1.0/gocomments/underdark.wordpress.com/3267/ rel=nofollowimg alt= border=0 src=http://feeds.wordpress.com/1.0/comments/underdark.wordpress.com/3267/ //a img alt= border=0 height=1 src=http://pixel.wp.com/b.gif?host=anitagraser.comamp;blog=835829amp;post=3267amp;subd=underdarkamp;ref=amp;feed=1 width=1 /
Categories: OSGeo Planet

Faunalia: Training courses calendar: QGIS (Desktop, Server and Web) and PostGIS

OSGeo Planet - Mon, 2014-07-21 17:14
We just published our Training Courses calendar for the period September 2014 – January 2015. This includes training courses about QGIS (Desktop, Server and Web) and PostgreSQL/PostGIS in both Italy and Portugal. Training courses about QGIS python programming are available on demand. For details (locations, prices, discounts, etc.) about training courses in Portugal see: http://www.faunalia.eu/pt/training.html […]img alt= border=0 height=1 src=http://pixel.wp.com/b.gif?host=faunaliagis.wordpress.comamp;blog=45010254amp;post=405amp;subd=faunaliagisamp;ref=amp;feed=1 width=1 /
Categories: OSGeo Planet
Syndicate content