Posts Tagged OSGeo

MapGuide Maestro 2.0: now with more Maestro!

Kenneth Skovhede recently announced the official release of MapGuide Maestro 2.0, the culmination of over a year of feature development and usability enhancements to the open source MapGuide authoring tool. Here are my picks for the top 10 features of MapGuide Maestro 2.0:

1. Theming, with ColorBrewer Suport

Being able to theme maps based on data distribution is a basic mapping function, and this release of Maestro delivers. Adding support for ColorBrewer means that you can be confident that your colour scheme is visually distinct and cartographically appropriate for the message that you are conveying. The Maestro UI automatically constrains the colour choices based on the underlying data categories:

2. Expression Editor

MapGuide and the underlying FDO data providers support a powerful expression language, and previously you were on your own to write valid expressions. Thanks to Jackie Ng, MapGuide Maestro was able to use the same expression editor that FDO Toolbox is using, giving expression-completion, valid value extraction, and more:

Check out Jackie’s posts on the FDO Expression Editor and the follow-up where he talks about the addition of value auto-completion.

3. Resource Validation

The Maestro resource validator walks from application to map to layers to data, warning if it detects any common errors such as broken references or potential performance issues like unmatched projections. This is an invaluable tool for troubleshooting problems in your maps:

Resource Validator Init

Resource Validator Results

4. Improved XML Editor

While Maestro’s GUI is great for most purposes, there are times when you need to access the full power of MapGuide XML configuration syntax, like when you’re editing complex XML-based stylization elements. Maestro makes it easy for you to edit any resource as XML simply by right-clicking on it and choosing “Edit as xml”. Maestro 2.0 comes with many improvements to the XML editor, including validation against the schema, cursor position (important when tracking down errors), and the ability to attach arbitrary files to the current resource, which is critical when making bitmap-based symbols:

5. Profiling

Profiling allows you to easily find the performance bottlenecks on a given map, or quickly determine whether changes to theming or other items are having an impact on performance:

6. Package Management

MapGuide packages are a zipped export of the DBXML repository including XML resources, associated binary files, and a manifest. Typically these are managed on the server, but Maestro allows you to create, edit, and load these files via the GUI. This can be really handy when you’re migrating changes between servers. One of my favourite tricks is to export both test and prod as packages, unzip them, and compare using Beyond Compare (not free, but worth every penny).

7. Custom Resource Templates

Any time you are creating a new data source, layer definition, map definition, etc, you are basically just creating a new XML document. If you find that you are always performing certain steps as part of creating these resources, you can create your own custom resource types with customized versions of these XML documents. For instance, I like to start layer creation using the version 1.3 of the LayerDefinition schema, with a default scale range of 1:1->1:500,000, and none of the feature types being displayed. All I had to do was create a new LayerDefinition with these settings, save it to the MapGuideMaestro\Templates directory with a name like “Nanaimo Layer.xml”, and it shows up when I want to create a new resource:

8. Duplicate Resource

This might not seem like a big deal, but when creating dozens of similar layers it can be a huge timesaver. Simply right-click on any resource and choose “Duplicate” and a copy of that resource is created and ready for you to customize:

9. Colour-Coded Resource Tree

When editing many resources at once, things can get a bit confusing. Crispin Hoult from 1Spatial contributed a feature that colour-codes currently open resources in green, and resources that have unsaved changes in pink. The currently active resource comes up in a darker shade. This feature makes it much easier to keep track of what’s going on in your work area, and is surprisingly useful:

10. General Usability

OK, maybe this doesn’t count as a feature, but a LOT of thought has been put into how various user interactions work, and countless small refinements have been made. A few examples:

  • inserting a new layer into a map definition when you have a group selected inserts the layer into that group, and places the layer into the overall draw order right after the bottom-most layer in that group
  • you can now right-click on any resource and copy its ID (like Library://Nanaimo/Data/MyFile.FeatureSource) to the clipboard, which can be incredibly useful when writing code to access resources
  • you can multi-select many layers for insertion into a MapDefinition at once
  • maestro keeps track of references when you rename or move resources, prompting you for whether you want dependent resources updated

All of the little enhancements in this release added together have saved me hours of work (I’ve been using the pre-release versions for a few months).

All-in-all this is a very impressive release, with countless new features and enhancements to existing functionality. Give it a spin, and I’m sure you’ll turn up your own favourites!

Thanks Kenneth, and great work.

-J

, , ,

5 Comments

MapGuide 2.1 Beta 1

Late last night, Tom announced the release of the first MapGuide 2.1 Beta.

Jackie Ng has a better description of this than I could write.

Apart from the improved scalability and stability of this release, I’m most excited about the WiX-based open source MSI installer that I got to work on alongside Jackie and Kenneth. Huge learning curve, but not having to count on Autodesk resources to build new installers should allow us to push new releases as needed. It also means that someone who understands the installer can easily create custom deployments for internal use.

Anyway, please give this beta a try. If you notice anything it’s not doing right, please let us know.

-J

, ,

No Comments

CS-Map in MapGuide: Guess I was wrong

Earlier this week, I mentioned that GDAL might be beating MapGuide as an early adopter of the newly open-sourced CS-Map coordinate transformation library.

Well, this evening a new RFC was presented to the MapGuide project steering committee to replace PROJ.4 with CS-Map. Guess I was wrong about the beating part… but am still very happy about the joining :)

I’d imagine that this took a bit of work, but Autodesk MapGuide Enterprise has always used CS-Map, so most of the code was probably already sitting there waiting to go. I’m a little sad to see PROJ.4 replaced, and have some questions about compatibility with existing installs, but this has always been one of our pain points integrating MapGuide Open Source with other corporate applications (FME, Autodesk Map, etc) that used CS-Map. It will be great to see this problem go away.

-J

, , ,

No Comments

CS-Map: What’s the big deal?

Last year at FOSS4G, Autodesk announced that they had acquired and would be open sourcing the CS-Map coordinate system library. Today, with another press release, they announced that the source code is now available (and there’s a nice mention of MapGuide Maestro in there too). The press release doesn’t specify this, but the license selected for CS-Map is the extremely liberal BSD License.

Why is this significant? Basically, because coordinate system identification and transformation is critical to almost every geospatial application. The bus factor on CS projects is generally extremely low, and they require a high degree of specialized knowledge to deliver accurate results. Having multiple projects out there means that differences in coordinate system handling and metadata can create a barrier to data sharing and interoperability. Making CS-Map open source allows open collaboration between CS-Map, PROJ.4, and other open source coordinate libraries. This was recognized in the community quite quickly, and the MetaCRS project was set up in January to allow open communication and collaboration between these projects.

This collaboration is already bearing fruit. Between Oracle 9 and Oracle 10, coordinate system handling changed considerably. Seeing this, GDAL / OGR developers working on an Oracle driver posted to the MetaCRS mailing list asking for feedback. As a result of this conversation, OGR will be calling out to CS-Map to handle Oracle coordinate systems, joining (or maybe even beating) MapGuide as an early adopter of open source CS-Map. It is clear that MetaCRS provides great value as a key initiative in open source geospatial, and I wholeheartedly support its imminent application to enter OSGeo’s incubation process.

For those of you who care, the source code for CS-Map is available on the OSGeo infrastructure. You can access it through either raw SVN, or in a more human-friendly Trac interface.

Congratulations to Autodesk and Norm Olsen for taking this important step, and to the MetaCRS community for joining together to take advantage of it!

-J

, , ,

3 Comments

OSGeo BC Meeting During GeoWeb

Hey, if you’re coming to GeoWeb in Vancouver later next month, why not get together with the OSGeo BC Local Chapter for a mostly-informal meeting on Tuesday night?

Right now, the agenda is pretty basic: a couple technical presentations, brief chapter business, and pizza all at the Sierra Systems offices a few blocks from the GeoWeb conference.

If you’re interested in coming, or possibly presenting, sign up for our mailing list and let us know so that we can handle the vast numbers :)

-J

, ,

2 Comments