I’m in Boulder, Colorado for the OGCmeetings. I had a chance to check out Denver earlier today (16th Street Mall, as well stumbling upon a Latin-American festival), which was very nice. The mountains are absolutely breathtaking!
I’m going to try to hook up with Sean sometime this week, as he is close by. In the meantime, check out some photos from today — I’ll be updating these as the week goes on.
My first major code contribution to MapServer was a server side implementation of OWS Common1.0.0. For those who are not aware, OWS Common is a specification which unifies common XML constructs, etc. used by OGC specifications, such as Capabilities metadata, exception reports and bounding box encodings. The benefit of OWS Common is that specifications, and subsequently server implementations, can focus on their core specific functionality while leveraging the common bits.
A good example here is MapServer’s SOS server support, which leverages mapowscommon.c, making mapogcsos.c alot lighter as a result. Client implementations can additionally write OWS Common parsers as reusable functionality which they can then use when writing their, say, WFS and SOS clients. I really believe that this is a benefit for those developing SDI components (i.e. why should contact information be encoded differently for WMS and WFS, really?); just imagine the reduction in code as a result of OWS Common!
Sean recently pointed me to OWSlib, a python lib for working with OGC Web Services. I initially thought it would be great to write an OWS Common client / parser for OWSlib, so that when WFS 1.1.0 and SOS 1.0.0 clients are developed, they can use an OWS Common class between them.
But then I thought why not just implement this in MapServer, and have the functionality exposed via mapscript?
My previous post declared my plugging my nose and jumping into Python GIS stuff. Advice and info from Sean have been valuable in getting familiar with things, though I’ll be the first to admit I’m still green (writing Python like a Perl / C hack 🙂 ).
So here’s one of my first attempts at solving a real world problem: reprojecting a bunch of points from a CSV file:
#!/usr/bin/python
import sys
import mapscript
if (len(sys.argv) == 1):
print "id,geom,zone"
f = open(sys.argv[1], 'r')
for line in f:
s = line.strip()
k = s.split(",")
wkt = "POINT(" + k[1] + " " + k[2] + ")"
shape = mapscript.shapeObj.fromWKT(wkt) # man, I love WKT!!
shape.project(projInObj, projOutObj)
print k[0] + "," + shape.toWKT() + "," + k[3]
f.close()
And that’s it! So now you can take the CSV output with the geometry encoded as WKT and hook it up to MapServer with some simple OGR OVF syntax in your mapfile:
Mind you, you might question why to reproject when MapServer can do this for you, but I digress. There’s probably more eloquent ways to do this than what’s been done above via mapscript, eh?
Well, I’ve finally decided to give Python an honest try. A born and bred Perl hack, then dipping into PHP, I’ve seen much Python applause in the geospatial software community through many of Sean’sposts. Though I know Sean thinks mapscript is a disaster, it was via mapscript that I started to look more into Python.
So here’s what I typically start off with when doing development:
HTTP / URLs / Forms: for Perl, I use CGI; for PHP, I use the native, built in functions
XML Processing: for Perl, I use XML::Simple; for PHP, I use SimpleXMLElement
Database: for Perl, I use DBI; for PHP, I use the compiled in mysql support, for example
So far I’ve found urllib2 and ElementTree to be useful. Other than that, I’m finding the command line pretty awesome for one offs and testing.
If anyone’s got any other suggestions, that would be great!!
Check out these articles from IBM on tuning LAMP applications. Being a longtime LAMP guy (the “P” being long time Perl hack, but slowly moving towards PHP), I found this useful for tweaks and optimizing my applications.
Check the out the latest title from Springer, The Geospatial Web: How Geobrowsers, Social Software and the Web 2.0 are Shaping the Network Society. If you’re into mashups, Web Services and GIS, this title is worth a read.
Casinos and the Network Society: The Intersection of Gambling and Technology
The rise of the internet and digital technologies has had a major impact on many industries, and the casino industry is no exception. With the advent of online casinos and mobile gambling apps like nye casino 2022, the way we experience casinos has changed dramatically. And if you’re looking for other games to play, then you may check out mahjong ways 2 here.
But what exactly is the relationship between casinos and the network society? And how has technology transformed the casino industry in the 21st century?
One key aspect of the network society is the concept of connectivity. With the proliferation of smartphones and other devices, it’s easier than ever for people to connect and communicate with each other no matter where they are. This connectivity is also driving the growth of the online casino industry, as players can now access a wide range of games from the comfort of their own homes.
A SA Casino offers a level of convenience and accessibility that traditional brick-and-mortar casinos can’t match. Players can choose from a wide range of games, including slots, table games, and even live dealer games, all with a few clicks of a button. And with the use of virtual reality technology, poker online terpercaya casinos are even starting to replicate the immersive experience of a real-life casino.
But the rise of online gambling has also led to some challenges. One concern is the potential for increased problem gambling, as it’s easier for people to access games at any time of day. There is also the issue of regulation, as different countries have different laws and policies surrounding online gambling. If you’re starting your own business, you’ll also need to do nebraska llc yearly filing for legal compliance.
Despite these challenges, it’s clear that the intersection of casinos and the network society is here to stay. As technology continues to advance, it will be interesting to see how the casino industry evolves and adapts to the digital age.
Just read Cameron’s pointer to this course. All I have to say is wow. This is probably the most user-friendly and comprehensive online course / outreach material I’ve seen in a long time. And the student demo pages are really impressive.
I go to my share of conferences, seminars and meetings. I think it’s part of keeping abreast of the community, technology, seeing colleagues, and making new contacts.
I always say, if there’s one conference that I make my best effort to attend, it’s the FOSS4G conference. Although the name has gone through a fewiterations, I think the theme has generally been consistent: open source software for geospatial (I prefer the term geospatial, as oppossed to geo-informatics, GIS, geoscience, etc.).
Some of the things I enjoy are:
Meeting the actual developers. Many of the developers attend this conference, and it’s a great chance to meet them in person, find out about future developments, or even ask them that burning question about line 642 in file gfoo.c
The workshops: hands-on workshops are provided which are very useful. For example, I quickly learned PostGIS here and applied it the week after. The developers frequently give or hover these workshops, especially when it pertains to their software, so you can be sure that questions, no matter how complex, will be addressed
The applications: it’s valuable to see presentations of projects which use FOSS4G approaches. Regardless of how simple you think your application/project/portal is, the fact that you have integrated these approaches is a great indication of your abilities, integration, and the tools used
The community: last, but not least. The dynamics, the personalities, and the commitment and passion for this cause is exhilarating to see and be a part of
If you come from the open source software world, or have an interest in geospatial, or are a geospatial professional who’s curious about open source tools, technologies, the projects that use them, you’ll want to think about this conference.
Looks like all the geo-rage is Google Maps’ latest announcement that they will support indexing of KML documents, so someone can search for KML documents with a bit more intelligence then adding a filetype filter.
I think this will pick up some steam, like most things Google do. Many KML docs already exist out there, and this will also motivate publishing of more KML docs.
I hope there are similar plans for GML documents, however the problem there is that many GML docs are produced from WFS interactions, which, for the most part, have to be triggered by a WFS client request, which usually is not statically published.
I also hope that there is some discussion of this in the OGCMass Market Working Group. I remember some discussions on how this would have been great for the WMS specification to publish a static Capabilities XML document for the sake of search engines. Maybe this is a good opportunity for catalogue providers out there to write wrappers to additionally publish KML of their resources. I’ve started looking at this for owscat.
I thought I’d put in my $0.02 CAD after reading a few similarposts out there. So here are some from my point of view (in no particular order):
Geospatial
GeoRSS is here: GeoRSS made v1 this year at foss4g2006 and has proven to be a simple, yet very effective way to tag feeds. I’ve used and integrated in all my projects (I use the GML flavour) which produce RSS content by way of outputting an overview map based on the position. It gives the developers endless possibilities, and folks just love to see ‘where’ a post is
Getting to Know PHP: Earlier this year, ignorant to PHP, I decided to take the plunge and see what all the fuss was about. Boy was I glad I did. So easy, even I could figure it out. So easy that I’ll be porting bits of my website to PHP in the coming year
MapServer SOS support: It’s great to see OGCSensorWeb support in MapServer. Given that MapServer can already do stuff like spatial, temporal and aspatial queries, I think SOS was a relatively easy initial implementation effort. The more complex effort is the data bindings (sensor data is quite complex and multidimensional, and getting in and out of MapServer, in a generic framework is quite the challenge
ResEau portal launch: I was very fortunate to work with a great bunch of people to have finally released the ResEau water portal after two years of planning, design and development. I think this portal is a great example of the benefits of using standards-based approaches all the while providing useful information to a vast audience
MapServer commiter access: I was very honoured to be nominated this year for commit access to the codebase. My main focus was and is to implement the OGC OWS Common Specification for use by other OGC implementations
Web 2.0, Time article and information overload: Such a good article. And so true. As a result, we are overloaded with information! At one point, I refactored all my bookmarks to be pure RSS feeds just to handle it all. Whoever said computers would lessen the workload!?
foss4g2006: This was a great conference. The lighthing talks, BOF sessions, and demo fest, as well the gathering of the OSGeo crowd further solidified OSGeo’s existence. Can’t wait until next year’s event!
Catalogue woes continue: the Cat2.0 ebRIM vs. ISO implementation debate continued. Add to this the lack of (especially open source) implementations, and stuff like owscat, and other catalogue-ish projects continued to exist. The OGC has recently endorsed ebRIM as the future base for Cat2.0 implementations, so hopefully we should start seeing some interoperability between catalogues
Atlas of Canada 100th Anniversary: Congratulations on the 100th anniversary of this valuable Canadian resource. Kudos to the Atlas!
Other:
Cool travel: Charlottetown, Alabama, Washington D.C, Lausanne, Las Vegas, San Diego, Moncton, Winnipeg were among some of the neat places I visited this year
Home renovation: I did my biggest renovation job ever on my house this year, which lasted almost 6 months. I’m really glad the way things turned out, and I’m looking forward to doing some more stuff in 2007
Condo putters along: construction continued on my condo, and is now ahead of schedule, ready this coming June. Looking good!
Website changes: This year, I finally succumbed to using softwarepackages to manage my website content. This websiteoriginated in 1998, as an HTML learning experience, so I was inclined to do *everything* by hand. While very useful, as time goes on, I find myself with less and less time (go figure!), and there’s so many solid tools out there to make things easy, and standards based (i.e XHTML, CSS, etc.). So why not use these great tools and concentrate more on the stuff you want to do, right?
Looking forward to 2007:
Further OWS Common support in MapServer: mapowscommon.c/h is almost complete to spec (missing some operations support). The next step will be to begin integrating into the OGC specs as they migrate to OWS Common for stuff like GetCapabilities XML, etc.
OWSContext: look for further formal development on this specification. OWSContext has been used frequently in the OGC testbeds, and interest is increasing in seeing the spec push forward.
Further development on discovery and cataloguing: I’m hoping to see some development / experiments on this track. It will be interesting to see how packages like deegree2 progress given the recent motion passed at OGC
Publications: I’ll be published in two Springer London books this year (The Geospatial Web, as well as Open Source Approaches to Spatial Data Handling)
MapServer Brazil: I was honoured to be invited to this event, and look forward to speaking on OGC and open standards. Looking forward to this!
Did I miss anything? What else was geospatial-worthy in 2006?
A Beautiful Wedding Photography Season
Compared to 2020, 2021 was a more hopeful and even in some ways “better” year. We had both good and bad moments, but with the bad ones, we need to remember the good ones forever and that’s what Fame Park Studios is specialized in, to save and preserve those beautiful moments, either with your family, with your partner or even by yourself.
At any rate, this closes out 2006 for me in the blogosphere. I wish everyone a great Holiday season, and all the best for 2007!