Thursday, March 22, 2007

GIS 3D, data support

GIS systems are based on the vast amount of data. And we are talking here about maintaining enormous databases which eventually have to be updated as well. However, still there is a lot of static-data, based on offline sources - CD’s for instance. We have to bear in mind that when it comes to decisions or visualizations made in GIS, we got to keep that data as fresh as possible in order to make GIS and our work valuable. And I’m not talking here about putting it into fridge, but about feeding it with newly comers, as soon as they pop up. The very nice option appeared some years ago, Web Services, which seems to fix the problem. All we need is internet connection and bought/free access to such resources. After that we will be getting most updated data that is available and be always up-to –date. In these days reality likes to change on daily rate, heh even hours or minutes matter. Short cut, as for today, future data support for apps lays exactly in there. That kind of solution would be more than fine for us, as we want our project to posses distributed system as well (that would provide more solutions for future and after all it is server based system). However I think we would like to update it with some more detailed local data as well, monuments made in 3D Studio Max for example, so no worries... I’ll try to cover that as well. What about availability of such a WS you ask? Well yeah, there is not much, but enough to start I would say. Web Services are still in early phases when it comes to GIS. They can provide answers for simple queries like latitude and longitude for given address, but when it comes to more sophisticated data - problems appear. ESRI has Web Services on public/student license available for one year period, with limitations of course. All you need to do is, go to company web page and register then subscribe for Web Services license. I’m not sure exactly what sort of data these services provide at the moment but I’m sure we can make something out of it to show that it works. Ok I’m talking here about data and stuff but did I mention that it is 2D raster, vector or text based data? Nop?
Data - a very important and vital component for our project. It’s nature has to be a bit different than the nature of existing data sources. As we remember we wanted it to describe 3D objects. Hmm.. so not having found existing, satisfying internet solutions I gathered some pointers which I think we should consider. Primarily the basic – the data has to have ability for describing 3D objects as well as 2D. Secondly it has to be simple, so that we could for example parse it by ourselves to write/read some of its properties (even at runtime). It has to be lightweight as it will be struggling through internet from server-side or Web Services if we would use them. There are actually very simple solutions that we could use – first that immediately popped up out of my mind is XML of course. Then there is Collada 3D file based again on XML language – lightweight and supported by almost all of 3D modelling apps. So I think, with storing the data we would have no problem, at least in that early phase.
So the real question here is where we are going to get data from? The most preferable would be using Web Services – but I haven’t found ones that would give us answers, for example like - building boundaries – that we could use to build a polygon. ESRI WS provides you with types of data like text based or Map Image raster generated on server, which is not suitable for us (but we could use it for more fancy things -> making a true texture for sky polygon = true weather). So next step I think, the best one is to look for existing data sources – no matter if it is online or offline resource (as long as we make our solution universal, and ready when that kind of data will be available through the net). Find the ones that are based on XML files (or are easy to convert) and would provide us with true, geographic polygon like data. Here is an example to show you what I mean. Bear in mind that this kind of data simplicity is desired, especially in these days (internet connection speed, 3D browser engine limitations). For instance:
{area id=”1234”}
{building id=”museum” video=”http://museum.com//Welcome.avi” }
{FirstCorner} x=120,y=123,z=0{/FirstCorner}
...
{/building}
...
{/area}

If we could find that kind of data, we are ready to go, to create some visual basics. Yeah, and what if that kind of data doesn’t exist? I’m going to answer that in a non scientific way - I’m always optimistic and my intuition again tells me that there is something that we can make use of, it just seems so logical that it exists.

By Marcin Czech

2 comments:

R said...

Hi, Yes...

Well you could go to Google Earth and check out their Sketchup library. Some buildings, monuments, etc. from all over the planet. Output in KML or convert to Collada as you wish. Many new contributions. Just one place. Many other activities going on, but try that out. You can also get your own copy of Sketchup and put in buildings you want yourself. Have fun...

Marcin Czech said...

thanks r,
just spotted that comment. Im surely gonna check the library that you were talking about, coz thats seems for me as one of the next steps (Standarized models library). saludos!