You are currently reviewing an older revision of this page.
Document Type: TechNote Product(s): Geo Web PublisherVersion(s): V8i SELECTseries 4 (08.11.11.58)Original Author: Jim Irvine, Technical Support Group
An optimized i-model is a set of 3D panoramas, or points of interest, generated from a 3D model. A point of interest is a 3D, or a 360 degree image. It is very similar to photographic panorama but is generated from a 3D digital model instead of pictures.
An optimized i-model can contain one or many points of interest. It can be generated in a MicroStation session (using i-model Optimizer) by selecting points of interest or from a command line with Bentley Geo Web Publisher.
Optimized i-models can be viewed in a Silverlight 3D Viewer, keeping the full fidelity and the richness of the 3D model.
There are two methods to generate optimized i-models:
Requirements:
Note: An i-model is required in order to publish element attributes in the panorama.
Steps to generate a Panorama package
2. Note the x, y, and z coordinates of each point of interest. Ensure that each point is given a unique ID and store these within the database to be used to generate the panorama package. Note the tablename used. (Access shown)
3. Create an ODBC System data source pointing to this 'points of interest' database.
4. Create a 'Panorama Parameters' XML configuration file to be used during package generation. An XML file is defined by its content, so this is simply a text file, with *.xml extension.Populate the file with the code template from the Bentley Geo Web Publisher Help, section: Panorama Parameters XML Example File.
Modify the default parameter values shown below in green, to match your scenario:
<!--PanoramaLocationsSource: contains information on the ODBC database that contains panorama locations. Required-->
<PanoramaLocationsSource>
<!--DatabaseConnection: ODBC datasource name. Required-->
<DatabaseConnection>pano</DatabaseConnection>
<!--TableName: table name that contains the panorama locations. Required-->
<TableName>Panoramas</TableName>
<!--PanorameIdColumnName: column name that contains the panorama ids. Required-->
<PanorameIdColumnName>ID</PanorameIdColumnName>
<!--XColumnName: column name that contains the panorama location X coordinate values. Required-->
<XColumnName>X</XColumnName>
<!--YColumnName: column name that contains the panorama location Y coordinate values. Required-->
<YColumnName>Y</YColumnName>
<!--ZColumnName: column name that contains the panorama location Z coordinate values. Required-->
<ZColumnName>Z</ZColumnName>
</PanoramaLocationsSource>
5. Modify additional parameters as desired. Save the file, e.g. panorama.xml .
6. Create the command syntax for package generation. The -parameterfile definition, should utilzethe *.xml filename created from steps 4 and 5.
PanoramaCommand.exe -panoramapackage="C:\Test\Panorama\panoramapackage.db" -input="C:\Test\Panorama\test.dgn" -parameterfile="C:\Test\Panorama\panorama.xml"
Launch a command (DOS) window, cd to the …/Bentley/GeoWebPublisher/directory, and execute your command statement.
The package generation process can take a few minutes to complete even though the command may appear to have completed. If the db created is around 35KB then the panoramas were not generated properly.
N.B. The points of interest database, it's DSN, and the input file (e.g. -input="C:\Test\Panorama\test.dgn) are now no longer required. The generated panorama package (e.g. panoramapackage.db) now contains all the information required to publish the 3D panoramas in Bentley Geo Web Publisher.
To view the contents of the db, if desired, you can download a free SQLite viewer from here:
http://sqlitestudio.one.pl/
To Publish the 3D Panoramas
The 3D Viewer can be launched from an external application by using the following URL:
http://localhost/Client/3DViewer/3dViewer.aspx?map=MyMap&layer=MyLayer&panoid=1
Parameters description:
Arguments syntax
Description
Required
map=<map id or map name>
Specifies the name or the id of the map.
Yes
layer=<layer id or layer name>
Specifies the layer or the id of the panorama layer.
panoid=<panorama id>
Specifies the id of the panorama as defined in the panorama package.
Known Issues