Jul 31 2008

OpenSim LiDAR sculpties – too much of a good thing?

Wow it has been a lot of effort to get the 40 regions built out with their LiDAR surface sculpties. Someday when the process gets automated I’ll look back and likely feel like a fool for not loading the BLOBs in MySQL directly, and coding the XML to load these directly. But I built them by hand, using 64-prim linked sets that covered each region. Region-wide linking works fine when the Admin settings are used to “go to God”. Also there’s a new SL client 1.20.15.92456 that works OK and helped a wee bit with the build.

My priority is to create good graphics for large-format display, but I’ve posted a rush of the first end-to end plod by the Ruth named “UC08 Visitor2”. At the moment, I’m still a bit shaky about just how solid the sim will be for demonstration purposes. None of he LiDAR surface sculpties are physical; I’ve been able to turn on ODE. I can’t bear the time to let the sculpties get meshed so there’s none of the cool walking on them, but I have tried boosting the detail settings to 64, in hopes that perhaps the sim will put out 4096 points per sculptie [my bump-maps to define each one are 16K so there’s plenty of info behind the detail boost.

As usual, if YouTube is blocked or you don’t have flash in the browser that you read this with, the video is here: http://www.youtube.com/v/srwRPgjFjnQ

2 responses so far

Jul 22 2008

OpenSim – First LiDAR reflective DEM sculpties placed

OK, not everyone in the immersive modeling universe has been holding their breath on this one, but hey, I’m happy to say that the production line is fired up and creating 2560 sculptie bumpmaps to inflate the Open Berkurodam sim using LiDAR reflective digital elevation model (DEM). The registration with orthoimagery is not perfect, and small offsets are very distracting, but the first two have been placed, and should illustrate the concept. (Two rezzed, 2558 to go…)

Sather Tower as two reflective digital elevation model sculpties

The reflective DEM sculpties have 16 times greater resolution (that’s resolution as NURB point density) than the underlying terrain megaprims. This means that for the 40-region Open Berkurodam sim, there are 160 terrain megaprims, and 160 tiles of 10-cm orthoimagery. The reflective DEM sculpties number 2560 and will be textured using the same orthoimagery.

Reflective DEM surfaces ride over the tops of trees, rooftops, or any structure. They are defined by the first return of the LiDAR reflected signal. By contrast, the terrain megaprims are based on a model of the last return (in these data up to the seventh return signal) that represents the ground under and around all structures and trees.

No responses yet

Jul 13 2008

OpenSim SVN_5411 first test visit to public 40-region standalone

Published by under Open Berkurodam,OpenSim

I’ve got the OpenBerkurodam sim running this evening and ran a few test visits to all the regions. I’m posting a video that is fairly mundane, unless you care to see what 40 region standalones are like at first. Bare terrain (all seamless real-world terrain at 1:1.024 scale) that I visit rather gingerly. I’ve experienced a problem that I have seen associated with MySQL storage of terrain, where if I’m twirling round my av or point of view, sometimes my client isn’t sent a patch or trench of terrain data in a way that gets textured with the generic terrain patch. The result is an ugly trench, some number of 4-meter blocks across or wide, that is textured transparently, and surrounded with non-matching lower-elevation terrain patches. If I hold still while the client is getting the terrain streamed, then it will all (almost) always texture up properly.

The video is near YouTube’s 10-minute limit, but only because it took me an average of 15 seconds to let each sim rez completely before flying over close to it. This was because I really wanted to avoid the transparent trenches.

If the embedded YouTube link below does not image, the URL is http://www.youtube.com/v/BZjB4kkmWfo

Please don’t expect a very exciting video, but for folks with their own OpenSim multi-region standalones, some of the exact ways that the customized terrain rezzes may prove diagnostic. If you don’t have use for this information,

I apologize for the restarted SL client at 3:15 into the video, as an annoying update popup for Sea Monkey browser interrupted the SL client’s reduced screen resolution, and this was caught by FRAPS. There are curious but not uncommon contortions of Ruth’s legs (despite being far above the surface) when crossing region boundaries. There are also a couple of cases in the video where one can see Ruth shot back to the center of the region, even as she was about to cross the next region boundary. This doesn’t seem to happen in a consistent enough way that I’ve figured out a pattern with it yet, but I’ve only seen it happen in the SVN since about 5350.

No responses yet

Jul 11 2008

OpenSim holding the immersive middle ground?

While impatiently waiting for a local build of Mono to complete, I explored the new lively.com from Google Labs (the Mono build left some unused capacity in the XP+IE part of the lab ). It was fun to take keyboard knowledge of the SL client and guess the ways to zoom, dolly, pan, orbit, and dive around one’s avatar in Lively—and of course, find everything was there with googlish care.

I read a reminder (from a review of Wagner James Au’s book on early days of Linden Labs) that an original intent of that Linden crew was to build a representational and immersive model of real world.  And somewhere between rest and awakening grew a fresh recognition about OpenSim-type paraverses. They still occupy some application space not quite like, but spanning gaps in use that exist among Linden’s Agni grid, Google’s Lively, and Google Earth. A paraverse seems such a reasonable effort to pursue—for although it might seem a pedestrian app to describe, once it exists, its fidelity with real world should allow easier connections to all sorts of business, while offering all the creative possibilities that can derive from human-created worlds, like having both gravity and flying, having weather and having it the way you prefer it, and so on.

No responses yet

Jul 11 2008

A new OpenSim standalone grid SVN_5411 has lived

Published by under OpenSim

The config of a 64-bit Ubuntu 8.04 Heron system, with local builds of mono, libopenjpeg, and ODE was successfully stood up this evening. Visibility issues that needed to be overcome included my not comprehending that Ubuntu would happily configure multiple static IP with a default bridging, so that even with just one NIC wired, both would bind. Strike one for cloning Windows server hardware features (or not) in Ubuntu…

So with only one IP address configured, and only one network cable attached, the second issue was reachable. The system’s resolution of its name did not work for region configuration and it was necessary to use the public IP (which typically is not reachable from within a NAT-ted DMZ) for the system name in the region config .xml files.

All that worked out OK, and logins were possible, and a tour of the sim worked out until the easternmost reaches were approached, and did not rez. As it turns out, a few more ports need to be opened between the OpenSim box and the outside world. As it is, a 33-region standalone was up with nearly no prims, but seamless real-world terrain tonight. With a bit more of the ongoing cooperation with network administration, all 40 regions should be ready for content building by this weekend.

The server worked beautifully with four threads on the Xeons (it boasts total 27,000 bogomips), the 40 regions with terrain start up in under 15 seconds and use all four cores. Also, with the client rezzing out to 512 meters, it is dramatic to see three regions rezzing at once, which is one more than I’ve seen on a single Core2 Duo-based system. The fourth thread seems to retain more avatar mobility while those regions rez. It’s all very nice so far!

One response so far

Jul 06 2008

OpenSim 0.5.8 server 64-bit build steps for Ubuntu 8.04 HOWTO

Published by under OpenSim

Build recipe for a BARGC public-facing Opensim server 20080703 being built for the Bay Area Regional Geographic Information Systems Council (BARGC)

OVERVIEW: Pre-OpenSim-install steps from bare hardware to ready environment

0) Ubuntu 8.04 LTS x86_64 operating system
1) VNC Server
2) OpenSim build environment - SVN, nant, mono
3) Local 64-bit build of Mono 1.9.1
4) Local 64-bit build of LibSecondlife's libopenjpeg
5) ODE build environment - autoconf, automake, libtool, bison(?)
6) Local 64-bit build of OpenSim's chosen ODE2
7) MySQL Server 5.0.51 x86_64
8] MySQL Administrator 1.2.12
----
9) OpenSim subversion builds...

This post is notes from procedure used to build an OpenSim virtual world on a rehabilitated BARGC server (2006-era) HP DL360 G4, dual 3.4 GHz Xeon, 4 GB system (a 1-U screamer for its time) System was revived from non-boot status, and has a single surviving 146 GB U320 SCSI drive.

0) OS: Ubuntu 8.04 LTS x86_64 architecture (Desktop Edition)
Downloaded via http://ubuntu.com as ISO image burned to produce a single boot/install Live CD
When the OS is running, install system patches and updates (about 216 items as of 20080703)
Using Ubuntu System > Administration > Update Manager
IMHO there is no shame in choosing Ubuntu Desktop rather than server unless you’re really cramped for memory or disk space—to my understanding, the only difference between server and desktop is the absence of GUI in server. The ease of administering the server via GUI has been important to me for making late-night work sessions more productive. In any case, the following HOWTO steps assume you’re building the OpenSim server on Ubuntu Desktop.

1) Install VNC server
per directions here and ultraVNC client for access to the server console from Windows machines. Ubuntu desktop already has both VNC- and RDP-compatible client preinstalled under
Applications > Internet > Terminal Server Client

2) Prepare Ubuntu for running OpenSim
per directions at opensimulator.org/wiki
which is essentially just this but includes a mono install that we’ll undo in the next step:

sudo apt-get install subversion nant \
  mono-gmcs libmono-microsoft8.0-cil \
  libmono-system-runtime2.0-cil \
  libgdiplus libmono-i18n2.0-cil

3) Upgrade to Mono 1.9.1
per previous page’s performance hint
IMHO it is a big hairy deal to compile the latest Mono from source, but at this point it sort of goes with the 64-bit territory, taking over 50 minutes. And if this is what it takes to outperform dotNET on Windows, so be it Many thanks to Sean Dague for his work in 20080330, and DrScofield for his rev on 20080508 that I ran when it’s all built and done, it’s checked simply enough by entering

mono -V

4) build libopenjpeg on the 64-bit OS
using instructions here which involved a checkout of LibSecondLife svn_1901 and produced libopenjpeg-libsl-2.1.3.0.so at 131032 byes size.

5) prep system to build one’s own 64-bit ODE from source
To do this, one must have automake, which seems to work after this:

sudo apt-get install autoconf automake libtool bison

6) build OpenDynamicsEngine on the 64-bit OS
using instructions here that involves a checkout of the version available from opensimulator.org

svn co \
http://opensimulator.org/svn/opensim-libs/trunk/unmanaged/OpenDynamicsEngine2 \
 osim_ODE2

which checked out svn_47 on 20080710
after obtaining libtool to run autogen.sh, one should be able to

sh autogen.sh;
./configure --with-trimesh=gimpact --enable-shared;
make;
sudo make install

for me this built libode-0.so at 1906756 bytes for X86_64 Ubuntu on a dual Xeon

My last step before the Osim install was to stand up a MySQL instance. This is not required for OpenSim to run (the SVN will work just fine by itself and defaults to included SQLite storage) but I’m preferring MySQL for large, detailed, and hard-to-load terrain and hard-to-build sculptie prim-laden environment that I wish to persist. Like really persist between both client logins and simulator restarts. So I take these few extra steps to install an instance of MySQL, just to run OpenSim’s back end.

7) Obtain MySQL server

sudo apt-get install mysql-server

the download took a long time during Euro-morning hours, but eventually all one needed to do was to set a root/sa password

8] Install MySQL admin GUI
For the sake of being lazy, in keeping with my choice to install Ubuntu desktop to improve late-night productivity, one adds

sudo apt-get install mysql-admin mysql-gui-tools-common

with that install, MySQL Administrator just shows up in the
Applications > Programming menu.
Almost magically, just log in using

Server Hostname: "localhost"  Port: "3306"
Username: "root"
Password" "*****"  <<your password>> and Connect.

Welcome to your new MySQL instance.

In the upper-left pane of MySQL Administrator, highlight the Catalogs item at the bottom, then in the Schemata/database box with the magnifying glass, DO NOT TRY to enter your new opensim catalog name, as you will be disappointed with the non-result! Instead, hover over a blank portion of the Schemata window and right-click, selecting Create Schema. Then in the dialog box enter the Catalog/database that you intend to have OpenSim use. I used “opensim” (the schema/database).

For grins, I also went to the User Administration item in MySQL Administrator, and using the same hover-over and right-click, this time in the User Accounts pane, added a user that OpenSim might use. Again, I used “opensim” (the MySQL user). In fact, on this machine I will not be using MySQL for any other purpose than as a back end for OpenSim, so if worse comes to worse, I’m willing to have OpenSim log in to MySQL with database-root credentials.

And that’s most all the prep work
to clear the way for OpenSim on Ubuntu 8.04 x86_64 environment. The previous steps tended to use ‘sudo’ or system root privileges to install most of the supporting items for system-wide use, and now subsequent steps will tend to take place in one’s own development directory. Here’s where we’ve gone so far:

0) Ubuntu 8.04 LTS x86_64 operating system
1) VNC Server
2) OpenSim build environment - SVN, nant, mono
3) Local 64-bit build of Mono 1.9.1
4) Local 64-bit build of LibSecondlife's libopenjpeg
5) ODE build environment - autoconf, automake, libtool, bison(?)
6) Local 64-bit build of OpenSim's chosen ODE2
7) MySQL Server 5.0.51 x86_64
8] MySQL Administrator 1.2.12
9) install and configure OpenSim <== you are here

After that 64-bit detour, I’m returning to the directions here and willfully maintaining the perspective that OpenSim is presently Alpha-stage code , I created a ./dev directory in my Ubuntu user login’s home directory. In ./dev, I expect to have a growing thread of OpenSim svn checkouts that will evolve over time. In each of these there will be a variety of source and support directories, including a /bin that contains the .NET executable that is OpenSim.exe and settings OpenSim.ini and its associated region definition XML files in /bin/Regions. Thus far, to hop from one SVN to the next, I copy over essential configurations from previous SVNs.

/dev
   /os058_4322
   /os058_5234
   /os058_5341
      /bin
         /Regions

I grow this tree from one version to the next using SVN into a generic directory below ./dev

svn co http://opensimulator.org/svn/opensim/trunk os058_

Then after the last line of that checkout informs Checked out revision 5341 one simply

% mv os058_ os058_5341
% cd /os058_5341
% ./runprebuild.sh
% nant

This should give one a compiled Opensim.exe in the /bin directory within 30 to 90 seconds.

Next I cd into the /bin directory to rename the supplied libode.so and replace it with a symlink to the 64-bit library from step 6) above

% mv libode.so  libode_32.so
% ln -s /usr/local/lib/libode-0.so libode.so

Although I’m presently not certain how it gets chosen (some versions have .dynlib and others don’t) I copy the latest libsl libopenjpeg into bin

% cp ../../libopenjpeg-libsl-2.1.3.0.so \
libopenjpeg-libsl-2.1.3.0-x86_64.so

To get the sim personalized, I download my sim definition for the 40 OpenBerkurodam regions
http://simgis.com/collab/berkurodam_OB40.zip
which contains my 40 functional regions of seamless real-world bare earth terrain, 40 working region definition files, and some PHP scripts to create other region definition XML files with different estate owners, a command script for loading the terrain into 40 sims, and a good luck charm to remind me to create a symlink to mono created above /bin in the main sim directory with

% ln -s `which mono` cli

this symlink is for invoking mono to run the sim, in the belief that should a need arise, it is easier to kill mono when invoked that way than if mono is called directly. I can’t explain why this should be so, but I’m trying it for the sake of smoother remote server administration.

Note that if you’re following the build steps I’ve posted here and choose to try out the berkurodam_OB40 set, it will be necessary for you to input your own root@MySQL password in both the OpenSim.ini and mysql_connection.ini configuration files.

In the Region directory, it appears necessary to specify your machine’s network IP (not 127.0.0.1 loopback) to allow connections from outside. The way that I maintain this with twoscore of regions is based on an example provided in earlier OpenSim svn that is a PHP script. If you’ve not yet got PHP on your machine it’s easy enough with

% sudo apt-get update
% sudo apt-get install php5 php5-cli

The relevant script to generate the 40 region.xml configuration files is obdam_40h.php and edit that file to set $ourHostNom = "your.ip.addr.here" and just run % php obdam_40h.php to generate all your region.xml configuration files right there in the sim’s /bin/Regions directory.

By way of detail for public server in DMZ, a successful configuration was found that used the loopback alias “0.0.0.0” for internal IP, and the external public IP for the host name. This was necessary because on the DMZ-based host, the server name would resolve differently in different contexts, either loopback, non-routable DMZ address, or public routable address. This caused the outbound UDP to bind to the loopback address, leaving the server mute to outside users.

When all is installed and poised for action, just go into the svn’s bin directory, such as from home

% cd ./dev/os058_5341/bin
% ../cli OpenSim.exe

and hopefully your very own OpenSim server is off and running within a mostly 64-bit environment!

2 responses so far

Jun 27 2008

I am not a number, I am a free avatar! – OpenSim post 0.5.8 svn_5234 ODE

Published by under OpenSim

With many thanks to the globe-spanning OpenSim community, I have seen the error of my sourcing ways and replaced a version of Open Dynamics Engine that I had compiled on my Ubuntu x86_64 system, on 20080220, leaving the product of that effort, libode.so, up at /usr/local/lib which seemed well and good at the time. As things have evolved, ODE was brought into opensim-libs svn at some point after the last change log entry at 20080328. I was happy to find that ODE was included in the OpenSim svn, and turned on the physics engine in my OpenSim.ini configuration file.

Where I went wrong was not clearing out the library I’d compiled back in February, because that directory was getting sourced before my latest version in each of the nine OpenSim svn builds I’ve made since April. Last night, Dahlia helped me get focused on fixing the problem that I was having and she demonstrably was not. Teravus cleared up that my issue was squarely that of ODE and nothing but ODE, and Nebadon pointed me to exactly the updated documentation that I needed to build my own new ODE for the first time since I’d migrated the test server to Ubuntu 8.04 from 7.10.

In the process, I’ve learned to expect more efficient memory usage than I’d been understaning. I had written to Nebadon that my 40 regions were using 1.4 GB of memory, but once I had to start killing processes after every sphere I’d rez, I saw that the processes that I was killing were all less than 900 MB memory. And now, with ODE, MySQL region and asset storage, and 40 regions, I get OpenSim console statistics showing 194 MB “Allocated to OpenSim”.

Here is a video of what the old ODE (20080220) did with a really big cube (25-meter sides dropped from 500 meters)

After compiling ODE from the OpenSim-libs/unmanaged trunk, and adding a few build tools to my server, I got a fresh libode.so that was 3.7 MB rather than the 3.1 MB that was distributed with svn 5234. I did not tweak any compile flags as this was from OpenSim folks’ favored setup. After ODE was working, I slept well and awoke very optimistic about my prospects for getting a demonstration public-facing by end of July. I also have enjoyed testing the performance of ODE, particularly after Dahlia shared some time on her Dev server at OSGrid.org.

With ODE running, certain physical prim movements can consume plenty of CPU cycles, and even with two avs and some complex mesh interactions, there can be striking lag. So with my own regions working once again, I wanted to see how that looked, and I was inspired by the 1967 TV series The Prisoner to create an oblate spheroid (5 m by 5 m by 4 m) as a physical prim to roll after Ruth. The first of my efforts was shot here, and as you can see, I used Rover’s Dutch cousin, as orange was much easier to see than the original Welsh white Rover.

Finally, to impart a sense of drama, I textured Rover with a menacing City of Berkeley sewer manhole cover, and finished the celebration of ODE with a long take including several region crossings and a pleasant sunset hue from Windlight. As I hope is clear with this video, OpenSim has really come a long way in the past couple of months!

No responses yet

Jun 24 2008

Progress of a sort OpenSim 0.5.8_5195 on mono / MySQL

Published by under OpenSim

I’ve been trying to be patient and catch a good wave in OpenSim’s evolution, so that I can configure a demo of terrain prims for late July. Much good seems to be afoot, and yet I am trying to find the right point amidst all this progress to grab an SVN and build on it for a few weeks. Tonight I had some luck with getting my OpenSim.ini configuration together better than before.

For all OpenSim back end storage now I’ve gotten MySQL 5.0.51a-3ubuntu5.1 working fine. I had a glitch in my configurations where I worked with a configuration setting that referred to Catalog / schema (what MS SQL folks might know only as a “database”) but interpreted as schema certain tables within that one schema known as users, userfriends, terrain, prims, land and such. For a few nights I seemed sleepily unaware that I had confused the table ‘opensim’ with the catalog ‘opensim’—my bad for naming them all the same without being sure enough what I was doing. The symptom was simply that
../cli OpenSim.exe
refused to load storage, which is to say that the sim wouldn’t start up, and refused to go more than the first few lines into a startup sequence that for my 40 regions is typically many hundreds of status lines. Anyhow, that’s all happy now and every storage invocation in my OpenSim.ini config is using the local MySQL instance through loopback. Bottom line for me was this—the OpenSim.ini and mysql_connection.ini config files are connecting to a catalog, even through in places they contain references to certain tables.

On the physics side, I’ve got ODE turned on for all 40 regions, and the startup is still very fast at less than 30 seconds with no prims. The 1-meter gridded terrain loads into 40 regions in about 15 seconds [hardware: 2x Core2 Duo E6550 overclocked to 3.4 GHz with 3.9 GB RAM]. Everything seems to be going my way until…

I try to create prims right now. Tonight at svn 5195, I can create cube prims, have them be physical and drop to the ground. When either I turn them into spheres, or create them as spheres, in regions near (where I first rez) or far (at the northeast end of my 40 region sim), the whole sim hangs brutally. I’ve never had the sim hang this way before, where it’s a ‘kill -9’ to get its attention and make it go away.

With the persistence of MySQL running, if I quickly restart the sim without taking time to command the previous “../cli OpenSim.exe” into oblivion, then I can’t log in because the second sim still thinks that I’m already logged in, from the first hung sim’s session. I flailed around a bit this evening learning this and creating new users along the way. At one point, I was so discombobulated between hung mono and typing anything *.exe on a command line that I restarted Ubuntu to wash my hands of the matter. Now wasn’t that silly? I certainly think that it was. No amount of C# code under mono is going to turn Ubuntu into the sort of bounce first, ask questions later mode favored by some Windows server administrators, including myself in impatient moments.

But whatever happens tonight at svn 5195, it appears to have an evil effect on mono when meshing a single spherical prim, or a box that’s become a sphere. This is using SL Windows client 1.19.1.4 or SL Linux client 1.19.1.4 on x86_64 Ubuntu 8.04 Hardy Heron.

Thanks to Nebadon who helped me get a pulse on my memory usage. Interesting experience tonight was that now that I’ve started using MySQL and making sure to kill off zombie ../cli processes, my memory use is down toward 780 MB, rather than the 1.4 GB I’d mentioned on IRC. At that size, there does not seem to be too much memory use penalty under Linux+mono versus native Windows servers running OpenSim. Selfishly, I’m glad of that because I’ve already switched my opensim test servers off of Windows and onto Ubuntu, and I’d prefer not to come across too many reasons to want to go back!

No responses yet

Jun 17 2008

Reflective DEM has been gridded

Published by under OpenSim

After mucking around a bit, I was able to use free tools to browse the contents of the classified LiDAR, then used ArcGIS 9.2 tools from 3D Analyst and ERDAS Imagine to get where I wanted to go with this surface. First, I needed to know how many returns there were, and what each of the classes meant. The LAStools info function helped there. Then I used ArcGIS 9.2 3D Analyst “LAS to multipoint” conversion tool, but selected only the first return. Multipoint was an annoying format because it did not seem to fit anywhere in the cool new ESRI “terrain” feature data type. In the end, I gave up on ESRI terrain and went straight to the classic TIN. For maximum overlap, I did not filter out any specific angle from nadir, taking whatever was sent along from the contractor to Alameda County.

Of course, I had to negotiate the treacherous 3D Analyst menu items that were necessary. Getting multipoint into a TIN required creation of a TIN (obvious, but with blank result) and then the non-obvious choice of “Edit TIN” which effectively accepted the multipoint data that were imported from LAS and allowed me to specify the delunay method of choice. Once canned as a TIN, it was a familiar step to specify a raster gridding. I haven’t found a way to reproject the TIN, so I was still in NAD83 California coordinate US Survey feet, and an assumed NAVD88-Geoid 2003 CONTUS-feet vertical while I tried several grid resolutions. In the end, I was happy with 1 foot gridding.

Then, raster on disk, I was able to reproject to WGS84 UTM zone 10 north meters, and chose bilinear resampling on a 25 cm grid posting interval. Once in my favored projection, I rescaled the Z values to NAVD88-Geoid 2003 CONTUS-meters, and began to examine the need for a bit of grayscale morphological processing. I’ve been a great fan of mathematical morphology for over 20 years, so it was a pleasure to craft a kernel or 3 to compensate for some artifacts. Because the TIN-to-grid was so highly oversampled, I was able to use a combination of a tall, narrow 7×3 kernel for morphological CLOSE, followed by a 3×3 DILATE, and a diamond-shaped 5×5 ERODE to finish off the task. In case this morphological stuff sounds like odd stuff to do, these operators are variations on focal max and focal min convolutions. The results are rather important for my application, as shown in the following images.

First is the reflective DEM surface, and the same with the Open Berkurodam 40-region overlay.

This is the gridded reflective DEM here it is with the OB40 image overlay

Next are more detailed images, near the Greek Theater, showing why I ran the morphological filtering and also how I was able to mostly conserve building footprint areas while inflating trees. The main artifact attenuated was interlace-type effects at the end of overlapping LiDAR scans. The long axis of the morphologcial CLOSE kernel was perpendicular to these artifacts.

Here is the reprojected and rescaled reflective DEM, unfiltered Same area, but with morphological filtering as sketched above

Here is the morpho-filtered reflective DEM, with the 10 cm natural color imagery overlaid.

overlay of natural color image on morpho-filtered reflective DEM

Next up, I’ll need to figure out how to best use this 25 cm surface. It really seems a shame to use it in the way that I have thus far with terrain megaprims–where using four megaprims per region I have effectively downsampled the terrain to 4.26-meter grid postings. That wasn’t so bad for the bare earth model. Here I’ve got something over 290 times denser with 0.25-meter grid surface samples.

But to use many more than 160 megaprims for the entire 40-region model, I really must automate the placement of the (auto-generated) sculpties. For that, I’ll need to ask around the OpenSim community for advice!

No responses yet

Jun 13 2008

Classified LiDAR data have been viewed

Published by under SL In General

The classified LiDAR data that I hope will provide some inflated structure and tree surfaces for draping the orthophoto have been reviewed. I find the data beautifully detailed, and fascinating to see with GeoCUE Point View LE. I’m working with the UC Berkeley Geospatial Imaging and Informatics Facility UCB GIIF, also known as the Maggi “Kelly Lab” when proximal to Mulford Hall.

Right now my goal is to interpolate the first return surface in a way that I can grid and filter most appropriately to inflate buildings and trees. In principle, I should be able to use the first return LiDAR point cloud to create a NURB surface that would be expressible as an OpenSim/SL sculptie. But I’m going to take a more cautious approach and try to get the whole thing gridded in a consistent way so that I can reasonably expect to cover the entire 40-region sim with good inflated surfaces rather than the bare earth that has been a fine demonstration, but a bit flat for draping the orthophoto.

I’m going to throw out a lot of images and let them speak somewhat for how the classified (into ground, structure, low veg, med. veg, tall veg) LiDAR point clouds look.

Here’s the plain elevation image and the classified view of same

elevation view of classified LiDAR Classified LiDAR of UC Berkelye vicinity
this is how the classified image looks with intensity shading. It gives a first impression like a photo
classified LiDAR near UC Berkeley more detailed view of UC Berkeley area

Some perspective views also help to show what information will be available for gridding. For these I’ve displayed with vertical exaggeration of 1.5X
Northeasterly perspective view of LiDAR Easterly view of UCB campus in classified LiDAR

No responses yet

« Prev - Next »