# Friday, October 10, 2008

ORA-13226: Interface not supported without a spatial index.

I hate that error.  Someone would give me a new Oracle dump file.  I’d try to view the spatial data and boom - ORA-13226.  If I was lucky, there was only a couple of tables in it.  Chances are, there were hundreds of tables in it.  Sometimes I’d need to add the reference to the USER_SDO_GEOM_METADATA view, sometimes I wouldn’t.   Sometimes the index would already exist and just need to be rebuilt.

Regardless of the scenario, it would often involve a lot of SQL – or messing around to try and remember the SQL.  Every time this would pop up I would think to myself, “I really should write an app…”.  Well I finally did.

So, here is my announcement.  The RADE Spatial Indexer is just about ready for beta.  Initially this app does three things.

  • It will list tables and views with geometry columns that are not part of the USER_SDO_GEOM_META data view and help you add them.
  • It will list spatial tables without indexes and help you create them.
  • It will list spatial tables with indexes and help you re-index them.

No more exporting queries to text files and using a macro to edit them to build your SQL for rebuilding those indexes.  I’ve tried to add some nice friendly helpers, such as a button that will suggest the spatial metadata settings for a table based on the existing meta data records.  The ability to mass create or rebuild indexes is also been a fantastic helper.

I’m recruiting brave individuals for a small closed beta program that will begin in about two weeks.  If you are interested in being a tester please e-mail indexer (at) webrade.com and let me know.  Alternately you can contact me with the contact me link on the blog here  Remember, this is a beta – so I really do not suggest you run this on a production, or important server.  That said, I have been using it in various states on my own ‘production’ development Oracle server.

As an incentive for helping me out.  If you submit feedback (be it a bug report or feature request) – I will set you up with a free license once we release 1.0.  I know you’re hooked and want to sign up.  I know it.  Just in case you need a little more, here is a few screen caps..

Look at how easy it could be to define metadata.  Click the suggest button and it will iterate through the metadata settings for other spatial tables in the schema.  Once you have one row defined, use the sync button to set all rows to the same values.  Click process and its done.

image

Within seconds, have hundreds of spatial indexes being re-created…Creating new indexes is almost as easy.

image

Friday, October 10, 2008 10:31:37 PM (Mountain Standard Time, UTC-07:00)  #    Disclaimer  |   |  Trackback
# Saturday, July 19, 2008

It's 1:30AM, I guess it's Saturday now. =)  I've been furiously pounding away for the past two weeks building a new for RADE 4.0.  Gotta love 12 - 18 hour days for two weeks (Good thing I love software development).  My wife is away for the week, so I can continue working these stupid hours for another week.  Anyhow I've chosen to proceed with for the time being.  with the looks really cool and I've used it for some small research/test projects recently, but with the lack of support for database other than SQL server - it's not an option at this time.

NHibernate was a tough curve for me.  Initially, I started testing code generators.  After spending a significant amount of time reading, testing, and pulling out hair I came to the conclusion that .  From my experiences is probably the best code generator out there right now - but its still lacking in some areas.  More importantly however, I learned that code generation is not a good place to start when implementing NHibernate for the first time.  There is so much going on under the hood - in my opinion you need to start off doing a reasonable size project by hand.  Code generation has significant benefits, because the generated code is so similar with simple replacements it just makes a lot of sense once you wrap your head around what's going on with NHibernate.

As per my when implementing nHibernate by hand, .  Just the other day I found a *great* ReSharper .  When editing NHibernate HBM XML files, it does a bunch of validation right in the editor.  Saves you a lot of time finding problems without having to actually run a unit test and debug sometimes cryptic error messages.

I bought a copy of NHibernate In Action.  I would recommend this book to you only if you have no experience, or understanding of Object Relational Mappers.  As the book stands right now, it's not really a good developer reference and only covers really basic examples.  The documents that helped me the most to get everything up and running was .  The NHibernate documentation is pretty cryptic.  Don't read this stuff 12 hours into your day.  No amount of RedBull will give you the focus needed to make sense of it.  In the first 8 hours of the day, its quite helpful.

I primarily work in VB.NET.  For this project however, I switched to C#.  Maybe now, the my colleagues at will stop giving me a hard time =).  Seriously though.  Examples are a LOT easier to come by in C#, probably 10:1.

Finally, get NUnit running.  I had a lot of problems using the built in Microsoft Test projects with NHibernate - so I'll be sticking with NUnit. If you've never done unit testing (you know who you are) do it.  Particularly in this case - its crucial.  You (Again you know who you are =]) used to write simple winform apps, and put a bunch of buttons on them.  Don't do that. 

So, if you are one of the RADE non-developer users and you read on this far.  Congrats.  This milestone will not directly help you with your use of RADE.  However, it's a large step forward for the underlying architecture - and you will benefit from that. 

Well back to Visual Studio I go..

Technorati Tags: ,,,
Saturday, July 19, 2008 12:46:51 AM (Mountain Standard Time, UTC-07:00)  #    Disclaimer  |   |  Trackback
# Sunday, June 29, 2008

Lance now has a blog!  Lance has been working in the / Geospatial space for 25 years.  He holds a masters degree in civil engineering from .  It's entirely like that if you've been in the Autodesk market for an extended period of time, you've met Lance.

A brief history from what I can recall.  He co-founded Rosal Systems, back before the earth cooled. (Sorry Lance, I had to get that one in there).  Rosal split up to become Software Support Ltd.  I have fond memories of SSL.  My first 'job'. At around the age of 6 to 8 or so, I was the official SSL floppy disk formatter.  The kind folks at SSL paid me 10 cents per floppy formatted - and thanks to a circular layout of the office I devised a system wherein after hours I used every machine in the building in a big floppy disk formatting loop.  At the time, my biggest goal was to purchase a "Floppy Disk Formatter" machine - I knew if I had such a machine I would be made of money and could buy all the and games I could handle.  I knew I would one day dominate the floppy disk formatting market.  Fortunately, I never did get such a device, as the market for floppy disk formatting was decimated when some genius decided to sell pre-formatted floppies....

Anyhow, SSL became Generation 5 technology, which then became Kanotech Information Systems.  It was at Kanotech that I started my career in this field...back in like 97 or so.  Sheesh!  Anyhow, thanks for the job Lance!  Eventually Lance moved on to a position at Autodesk.  Back to the present.   Lance is the other mind behind RADE.  We've worked very closely together for the past four years on RADE and here we are today.

So check out Between the Elephant's Toes, Lance's blog wherein he will regale you with tales of the and other topics on the industry, RADE, or whatever else he comes up with =)

Sunday, June 29, 2008 2:20:45 PM (Mountain Standard Time, UTC-07:00)  #    Disclaimer  |   |  Trackback

In response to numerous queries, I put together this post to help answer the question – what is RADE (formerly known as WebRADE). RADE is a development framework that delivers custom web applications using existing data without having to write a single line of code.  RADE provides a rich set of functions including security, prompting queries, configurable reports and charting using existing database and mapping data, without the need for expensive consultants and programmers.

 

RADE includes a configurable web mapping interface that incorporates queries, reports, charts and basic editing tools. These “components” work with the data you have stored in one or more databases (Oracle, SQL Server, Access) and can be used by any application made with RADE. Right now RADE supports MapGuide 6.x, we are in the process however of extending the mapping interface to allow RADE applications to use multiple web mapping engines including MapGuide 6.x, MapGuide Enterprise 2009 / Mapguide Open Source 2.0 and Google Maps. Other mapping engines may be implemented in the future.

 

An application made with RADE is a collection of queries, reports, charts, and of course users/groups managed by the integrated RADE security model. They are your custom solutions founded upon the bedrock that RADE provides.

 

A user with basic knowledge of their underlying database structure can design customized queries, reports, and charts in a matter of hours. Solutions can be as broad or as narrow as needed depending on the requirements of the organization. All of this work is done using RADE’s web-based administration tools.

 

Before RADE, I worked for a provider of customizable desktop GIS, automated map standardization, and facilities management solutions for both government and industry. GIS/Geospatial implementations involved a lot of customized work, specific to particular clients, and could seldom be easily reused. This is when and where I came to realize that there had to be a better way to develop solutions.

 

As RADE developed, we put it to the test and have been developing a series of standalone applications build on its framework. With RADE, we are saving time on projects which results in significant cost savings and rapid delivery for our clients.

 

Out of curiosity one day, I connected RADE to my accounting and bug-tracking databases just to see what would happen. With a little research into the underlying databases — I was able to create both queries and reports on both data sources. No map required.

 

As a developer I have projects that require me to extend RADE with more proprietary code. Take for example. FloorView is a complete vertical application built on top of RADE. It uses the RADE security/authentication system in addition to the RADE queries and reports — but is in itself a full application. This allowed us to leverage the existing functionality saving time, and money. In addition to this, FloorView appears as a RADE application when authorized users login to the site keeping all of the RADE based applications in one convenient location.

 

In addition to FloorView a number of other vertical applications have been developed on top of, or using RADE. They include solutions for address management, disaster planning and recovery, sexual predator and offender tracking, crime mapping and analysis, oil and gas lease management and service request tracking and management.

 

The best analogy I have for RADE is “Developer in a Box”.  Much of the work is already done for you...

Saturday, June 28, 2008 11:21:30 PM (Mountain Standard Time, UTC-07:00)  #    Disclaimer  |   |  Trackback