Indeed. If the GoogleSat looked closely, we'd discover that many plants were "magnetically" facing East in the morning and West in the evening. See also Occam's Razor.
I've tuned up the http://gispython.org page; adding links to similar enterprises, highlighting the email list, and exposing project news items. Note that I'm using the Python Package Index's Topic :: Scientific/Engineering :: GIS as the canonical list of open source geospatial software for Python. I hope the update is helpful.
OSGEO.SHP reports Default:shpfilenamespot the pattern ?
OSGEO.Gdal reports default:default
KingOracle reports KingOra:ZAC~BUILDINGOUTLINES~SHPGEOM
OSGEO.OGR reports OGRSchema:BUILDING
MySql reports Fdoreports:aquifer_property
SDF reports what ever was set as the schema name
OSGEO.SHP reports filenamewhat's peoples thoughts on this?
OSGEO.Gdal reports filename
KingOracle reports schema:tablename or if connected as "schema" then just tablename
OSGEO.OGR reports filename
MySql reports schema:tablename or if connected as "schema" then just tablename
SDF still reports what ever you like as a schema name

For graph visualization, SchemaSpy, Doxygen and UMLGraph all use the GraphViz application. This looks like a great tool in its own right. It provides a DSL for specifying graph structures and node and edge symbology, along with a layout and rendering engine which outputs to numerous different formats.
JPT of course covers all the better-known tools such as Ant, Maven, CVS, SVN, JUnit, Bugzilla, Trac, and many others. It doesn`t replace the documentation for these tools, but it does give a good comparative overview and enough details to help you decide which ones you`re going to strap around your waist for the next project.
<rant>
Like others, I recently received a comment about an upcoming competition on my “about” page. Like others, I feel that this is a curious way of advertising a competition with large monetary prize. Possibly unlike others, I also feel quite strongly about being contacted in this way. Don’t get me wrong, I think it’s a very worthy competition, and had the advertising policy been better thought through I would be all for it.
I do feel quite strongly about only posting my own personal views on my site. I do occasionally get asked to post on particular subjects/sites/products, and in general I won’t, unless it fits with something I was going to say anyway. I also feel quite strongly about posting on subjects that have been covered ad nauseum by other people, unless I have something different to add.
All in all, that makes me quite tetchy when I receive comments like this. By not using the contact form, it means I have to decide whether to get quite stalinist with my comment deletion policy, or to give people some free advertising. Furthermore, by posting to multiple blogs, our collective readership get stung with the same old post multiple times.
I guess this is just all just a request for people to learn a little blog-etiquette- make the effort to contact people in the correct way, and don’t use blog comments to advertise!
</rant>
Kurt, I have in fact seen mapping integrated with Zotero. Shekhar Krishnan used the GeoNames database to locate items by their place of publication in a demo at THATCamp.
Jeff Harrison’s mass email caught my eye today with the free trial of CarbonArc. I had the pleasure of taking an early release of CarbonArc for a spin last year and while it was a good start there were a few key things missing from my point of view. Having pushed and prodded Mapinfo 9.5 support for use with our SDI, why not run the new CarbonArc 1.6 through its paces …
From the press release,
CarbonArc PRO 1.6 eliminates barriers to SDI usability through advanced SOA-based discovery, analysis, exploitation, transaction management and security tools for OGC SDI - directly from the ESRI ArcGIS desktop.
Instead of just regurgitating the release, the key question that always gets asked is … doesn’t ESRI ArcGIS already do all this?
Its a tricky question to answer because while on paper i could say, “Yes it does!”, in reality there are just so many annoying quirks and missing features, it quickly becomes a nightmare integrating SDI features into your normal ArcGIS workflow (which is what this is all about, right?). So with fingers crossed, lets dive right in and see what i can find in 5 minutes flat …
I’m beginning to think the best suggestion would be to somehow merge CarbonArc WFS functionality with an automated export to shape on each filter response. This would allow excellent SDI WFS support, while still giving full ESRI ArcGIS functionality to users without having to reinvent the wheel (for things like the edit system). With the WMS/WCS support pretty solid, i think getting the balance of WFS right could mean the difference between a very promising product and one I would recommend to everyone using our platform.
Thoughts?

Earlier this year, GITA hosted an Emergency Response Symposium (ERS), organized by Talbot Brooks of Delta State University, as part of GITA's 2008 annual conference. Doug Eberhard, Tim Case, Dan Campbell, and I were part of a panel that discussed the convergence of BIM, CAD, GIS, and 3D simulation, digital cities, and some of the implications for emergency response. Joe Francica of Directions Magazine was in the audience, and asked a very important question which I will paraphrase. Where does the data come from ? Afterward Joe wrote an insightful article about this discussion. Recently, I discussed the same issue with Kenneth Wong of Cadalyst magazine.
When we talk about modeling cities digitally, we are talking about modeling the infrastructure of a modern
city including buildings and other structures, transportation networks, and utility and communications networks. We need to be able to visualize the city photorealistically, and we also need to be able to analyze how it works, and simulate how it would might work under different conditions.
Data Sources: Visualization
The relatively recent introduction of new technologies has dramatically improved our ability to efficiently image cities digitally in 3d. Advances in aerial photogrammetry and the widespread application of laser scanning are making 3D imagery available for many of the cities of the world. For example, Vexcel, now part of Microsoft, has developed cameras that enable the efficient creation 3D building models, rectangular solids with textures draped on the exterior walls, with a precision on the order of centimeters. Other technologies such as LIDAR and mobile terrestrial laser scanning are also being applied to create high resolution 3D cityscapes. To image the inside of buildings and structures such as electrical sub-stations, terrestrial laser scanning can generate imagery with sub-centimeter precision. Technology even exists for subterranean imaging of utility and communications networks.
Data Sources: Analysis and Simulation
In addition to being able to visualize cities, it is also important to be able to analyze how cities
behave and to simulate how they might behave under different circumstances. Analysis and simulation is easier to do when the infrastructure data has intelligence. For example, capturing connectivity enables tracing an electrical network from a failed transformer to determine the customers affected so they can be contacted. Similarly, an intelligent transportation network model facilitates determining possible evacuation routes.
Utility, Communications, and Transportation networks
In the 1980's utilities and communications companies, realizing that their paper-based business processes were inefficient and were hindering their ability to provide new services to a growing, more affluent population and with the example of the successful replacement of paper and ink engineering drafting by CAD technology, began converting their paper engineering drawings into digital form. The conversion process required an expensive, multi-year effort, but the result is that for many cities intelligent digital utility and communications network models are available. Most of these models include not only location and properties, such as rated voltage and installation date, of each item of network infrastructure, but also connectivity, for example, which electrical networks are connected to which transformers. Similarly, topological network models also exist for rail networks and other transportation networks including roads and highways.
Buildings and Other Urban Structures
In a similar vein, intelligent digital models are required for buildings and other structures. For example, it may be necessary to model the propagation
of smoke or a noxious gas through the heating and ventilation system of a building, conduct a finite element analysis to determine the structural stability of an impaired structure, or determine evacuation routes form the upper floors of a high rise.
The data required to model buildings often already exists because it was created when the building was designed. It may be in the possession of the owner and designer, an engineer or architect. But it also may be at city hall or the town council, because most municipalities' permitting process requires the submission of engineering or architectural drawings. The permitting process usually requires that these drawings be made available for public inspection at city hall or the town council offices. After the public review process is completed and a decision rendered on the permit application, these drawings are archived, either in their paper form, on microfiche, or using a digital document management system.
For older buildings, these drawings are paper. For buildings designed since the widespread adoption of CAD, they may be available in both paper and digital form, as a DWG or DGN file. For very new structures, it may be possible to find both paper and an electronic building information model (BIM). Some municipalities, such as the St Johns River Water Management District in Florida, are actively encouraging electronic submissions.
It is interesting to what extent municipal governments make use of these drawings after the permit has been issued and the structure built. In some municipalities, it appears that they are archived, and no further use is made of them. But in some municipalities the value of these drawings is recognized, and they are being used for a variety of purposes, among them, emergency planning and first response. For example, the fire marshal may find that the drawings are invaluable for emergency preplanning or the police may find the drawings reduce risk to personnel responding to an an emergency situation in a bank or at an airport.
Some of the questions that this raises and that I hear people asking are,
1) How should municipalities be encouraging the submission of intelligent, digital designs, for example BIM models, as part of the permitting process ? At the federal level the GSA in the US requires BIM models for federal projects. The analogous organization in Singapore recommends BIM models.
2) How do we overcome issues of intellectual property rights and security that hinder reuse of this data ?
3) Can we expect to see the conversion of paper drawings to digital form and the capture of critical infrastructure intelligence for buildings and other urban structures analogously to what happened beginning in the 1980's at utilties and communications firms ?
One of the advantages of travelling as much as I do, is that I have a high probability of meeting interesting people who are doing very innovative things. I'm currently in Australia to attend next week's GITA conference in Sydney, and on my way here I ran into Sam Majid of Ennoble Consultancy in Melbourne. Sam, whom I have known for several years, has implemented a classic architectural design pattern for web-based mapping that can provide scalable, high performance mapping on low cost hardware.
Architectural Design Pattern for Web Mapping
The design pattern is a three tier architecture, comprised of a client, typically desktop,
tablet or hendheld running a web browser, a middle tier where pre-rendered map tiles are cached, and a data server, where geospatial and other data is stored. The reason that this is such a successful architecture for low cost, high performance computing is that navigation operations, panning and zooming, only require loading and unloading cache tiles and do not require accessing the data server. Since a pan or zoom operation can involve typically a thousand features, loading a few tiles is much more efficient from a CPU and I/O perspective and dramatically reduces the load on the data server. The other key to this architecture is that the user only updates the data store, never the cache, so there is only one point of truth. The cache is refreshed by a background process running in the middle tier or data tier.
Open Source Implementation
Sam has developed his implementation using open source geospatial components, including Open Layers, FDO, and MapGuide Open Source. Open Layers provides a Javascript-based client-side application environment that will run without a plug-in in any browser supporting Javascript. Since he chose to use the FDO API, Sam's application can directly access for both read and update widely used geospatial datastores including shape, Oracle Spatial, ArcSDE (GeoDatabase), MySQL, PostGIS, KML, and SQL Server 2008 Spatial. Sam showed me an application using this architecture, where the client was in Kuala Lumpur, the cache was in Australia, and the data server was in California. Performance was impressive, definitely worth taking a look at.
The FOSS4G 2008 is only one month away. Traditionally, the Community gathered around Free and Open Source Software for Geospatial will award an individual with prestigious Sol Katz Award:
The Sol Katz Award for Geospatial Free and Open Source Software (GFOSS) will be given to individuals who have demonstrated leadership in the GFOSS community. Recipients of the award will have contributed significantly through their activities to advance open source ideals in the geospatial realm.
Past Awardees:
Yesterday Frank posted official call for nominations:
The Open Source Geospatial Foundation would like to open nominations for the 2008 Sol Katz Award for Geospatial Free and Open Source Software.
The winner will be announced on at the FOSS4G 2008 conference closing plenary in Cape Town, South Africa.
Front page of http://geourl.info has been welcoming visitors with Offline message for a few days. Anyone has an idea what’s going on with the geourl.info service?
I hope it won’t be down for 9 months as the previous services was.
One of the simplest, most useful, and well executed applications on the iPhone is UrbanSpoon’s free restaurant finder. Open the application, it geolocates you, give the iPhone and shake and three Slot machine style selectors spin around and randomly choose a restaurant nearby. You can then even lock in specifics such as location, cuisine, or price range and shake to give more suggestions.
However, what’s particularly neat about the application is that UrbanSpoon has been recording these “shakes” by location (inherent in the API call obviously) and created a great visualization showing the locations around the US over a day of “shaking”.
The heatmap essentially shows the evolving enquiry of people looking for a place to eat. There isn’t an actual time display or timeline slider to investigate - but I imagine there are interesting trends during meals, and particularly after normal eating times when people don’t have a plans on where to eat. In addition, a timezone lag that would show shaking progressing east to west.
Context mining of mobile devices, combined with geographic location - and especially via inferred geographic information instead of directly volunteered information can yield interesting trends on ambient behaviors. Imagine if UrbanSpoon could also collect the number of people in the group by detecting other repeatedly seen nearby bluetooth/wifi devices, previous meals of the day, and the ultimate destination and distance to the chosen restaurant.
By the beginning of the year 2009, new must-read book for C++ hackers is rolling around. Anthony Williams is writing book titled: C++ Concurrency in Action (ISBN: 1933988770):
I will be covering all aspects of multithreaded programming with the new C++0x standard, from the details of the new C++0x memory model and atomic operations to managing threads and designing parallel algorithms and thread-safe containers. The book will also feature a complete reference to the C++0x Standard Thread Library.
from Anthony’s blog
Since June, Anthony’s book is available through Manning Early Access Program. The final release is planned on February 2009.
In the meantime, Anthony has published an article Simpler Multithreading in C++0x introducing multithreading support and thread library as a new feature in the C++0x standard.
SELECT a.owner, a.table_name, a.column_name, a.srid, a.diminfo, b.cs_name,it's pretty slow because of the use of the all tables, I think there's
b.wktext, c.index_name, d.sdo_layer_gtype, s.sequence_name,
d.sdo_root_mbr, NULL o1, NULL o2, NULL o3, NULL o4, NULL o5, NULL o6,
NULL o7, NULL o8, NULL o9, NULL o10, NULL o111, NULL o12
FROM all_tab_columns t
INNER JOIN all_sdo_geom_metadata a
on t.owner = a.owner
AND t.table_name = a.table_name
AND t.column_name = a.column_name
LEFT JOIN MDSYS.cs_srs b
ON a.srid = b.srid
LEFT JOIN all_sdo_index_info c
ON a.owner = c.table_owner
AND a.table_name = c.table_name
LEFT JOIN all_sdo_index_metadata d
ON c.sdo_index_owner = d.sdo_index_owner
AND c.index_name = d.sdo_index_name
LEFT JOIN all_sequences s
ON s.sequence_name = CONCAT (a.table_name, '_FDOSEQ')
--and s.sequence_owner=t.owner criteria
ORDER BY a.owner, a.table_name
SELECT a.table_name, a.column_name, a.srid, a.diminfo, b.cs_name,the performance improvement and load reduction is quite dramatic, the
b.wktext, c.index_name, d.sdo_layer_gtype, s.sequence_name,
d.sdo_root_mbr, NULL o1, NULL o2, NULL o3, NULL o4, NULL o5, NULL o6,
NULL o7, NULL o8, NULL o9, NULL o10, NULL o111, NULL o12
FROM user_tab_columns t
INNER JOIN user_sdo_geom_metadata a
on t.table_name = a.table_name
AND t.column_name = a.column_name
LEFT JOIN MDSYS.cs_srs b
ON a.srid = b.srid
LEFT JOIN user_sdo_index_info c
on a.table_name = c.table_name
LEFT JOIN user_sdo_index_metadata d
on c.index_name = d.sdo_index_name
LEFT JOIN user_sequences s
ON s.sequence_name = CONCAT (a.table_name, '_FDOSEQ')
ORDER BY a.table_name
Speaking of maps in the media -- I like this one of John McCain's homes:
I know he doesn't personally use the internet tubes, but maybe an aide can print it out and help McCain keep track of these places.
Does this kind of "attack map" contribute to the stupefication of US politics? Yes, perhaps, but I for one am happy to see the other side get the rare pleasure of defending itself from this kind of bullshit. For once.
Today, George Silva asked on the OSGeo Discuss mailing list for some details on history of Free and Open Source Software for GIS. Shortly, the discussion has turned into a very interesting brainstorm session resulting in detailed overview of FOSS4G roots and chronology.
More on Brief history of GIS OSS (bit off topic?)
Update: 22-08-2008:
Based on the discussion about history of FOSS4G, dedicated article on OSGeo Wiki has been started: Open Source GIS History
Mateusz's post about marshaling geometries from hex-encoded WKB strings in C++ reminds me how easy this is in Python using built-in string methods and Shapely:
>>> from shapely.wkb import loads >>> g = loads('01010000005839B4C876BEF33F83C0CAA145B61640'.decode('hex')) >>> g.wkt 'POINT (1.2340000000000000 5.6779999999999999)'
My only regret about switching to dynamic languages for (almost) all my development is that I didn't go straight to Python. Last weekend I ran into a former co-worker at the Fort Collins downtown street festival and was reminded about the enormous Perl legacy I left behind at that shop.
This is better, as I was saying. It's nice to see Python catching on in my home state's GIS department, and also to see ESRI users catching on to the power of more idiomatic Python. It's more than just an open source Avenue, after all.
Speaking of better Python things, yesterday I found out about Tarek Ziade's Atomisator project. It's the kind of framework for feed processing that is entirely lacking in my Mush application. A comment on his entry then led me to TOPP's Melkjug, which has a slick web UI for creating feed filters that is also not to be had from Mush. I think I'll borrow liberally from each, and maybe Mush can provide some geographic processing and filtering inspiration in return.