<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">
    <title>The Topobase Insiders</title>
    
    
    <link rel="alternate" type="text/html" href="http://topobaseinsiders.typepad.com/the_topobase_insiders/" />
    <id>tag:typepad.com,2003:weblog-1290158</id>
    <updated>2012-01-18T19:24:47-08:00</updated>
    
    <generator uri="http://www.typepad.com/">TypePad</generator>
    <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/TheTopobaseInsiders" /><feedburner:info uri="thetopobaseinsiders" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://hubbub.api.typepad.com/" /><entry>
        <title>Quick Tour to Project Parsec</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheTopobaseInsiders/~3/rBPG8Heboco/quick-tour-to-project-parsec.html" />
        <link rel="replies" type="text/html" href="http://topobaseinsiders.typepad.com/the_topobase_insiders/2012/01/quick-tour-to-project-parsec.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-6a00d834cd50f869e20168e5c614f4970c</id>
        <published>2012-01-18T19:24:47-08:00</published>
        <updated>2012-01-18T19:24:47-08:00</updated>
        <summary>Project Parsec for AutoCAD Map 3D 2012 software enables users to import and map GIS geometries and attributes to AutoCAD Map 3D industry models from SDF, SQLite, and Esri SHP and geodatabase files, as well as Microsoft SQL Server and...</summary>
        <author>
            <name>Ada Zhu</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="Features" />
        
        
<content type="xhtml" xml:lang="en-US" xml:base="http://topobaseinsiders.typepad.com/the_topobase_insiders/"><div xmlns="http://www.w3.org/1999/xhtml"><p>Project Parsec for AutoCAD Map 3D 2012 software enables users to import and map GIS geometries and attributes to AutoCAD Map 3D industry models from SDF, SQLite, and Esri SHP and geodatabase files, as well as Microsoft SQL Server and Oracle databases. This cool feature is live on Autodesk Labs <a href="http://labs.autodesk.com/utilities/parsec/">here</a>. You can try on till December 31, 2012.</p>
<p>In this post, I’d like to tour you the user interface of this functionality and how to convert data to Industry Model through this tool.</p>
<p>First, you need to install Project Parsec on AutoCAD Map 3D 2012 SP1. Once installed, a new Convert to Industry Model icon will appear in the AutoCAD Map 3D user interface on the Labs tab.</p>
<p> <a href="http://topobaseinsiders.typepad.com/.a/6a00d834cd50f869e2016760c4beab970b-popup" onclick="window.open( this.href, '_blank', 'width=640,height=480,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0' ); return false" style="display: inline;"><img alt="Ribbon" class="asset  asset-image at-xid-6a00d834cd50f869e2016760c4beab970b" src="http://topobaseinsiders.typepad.com/.a/6a00d834cd50f869e2016760c4beab970b-200wi" style="width: 200px;" title="Ribbon" /></a></p>
<p>Open an Oracle-based or SQLite-based Industry Model, and then click Convert to Industry Model button or type MAPCONVERTTOMODEL command, you’ll see Convert to Industry Model dialog.</p>
<p> <a href="http://topobaseinsiders.typepad.com/.a/6a00d834cd50f869e2016760c49a81970b-popup" onclick="window.open( this.href, '_blank', 'width=640,height=480,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0' ); return false" style="display: inline;"><img alt="Dialog" class="asset  asset-image at-xid-6a00d834cd50f869e2016760c49a81970b" src="http://topobaseinsiders.typepad.com/.a/6a00d834cd50f869e2016760c49a81970b-200wi" style="width: 200px;" title="Dialog" /></a><br /><a href="http://topobaseinsiders.typepad.com/.a/6a00d834cd50f869e20162ffcff0f9970d-popup" onclick="window.open( this.href, '_blank', 'width=640,height=480,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0' ); return false" style="display: inline;" /></p>
<p>There are two kinds of source data. One is file-based sources, click button “Add file-based sources”, you can select SDF, SHP or SQLite files as source. Another is FDO Connection sources. You must first connect to the source using Data Connect.</p>
<p>After you add the source data, define the mapping between items in the source data and feature classes and attributes in the target industry model.</p>
<p> <a href="http://topobaseinsiders.typepad.com/.a/6a00d834cd50f869e20168e5c612b0970c-popup" onclick="window.open( this.href, '_blank', 'width=640,height=480,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0' ); return false" style="display: inline;"><img alt="Mapping" class="asset  asset-image at-xid-6a00d834cd50f869e20168e5c612b0970c" src="http://topobaseinsiders.typepad.com/.a/6a00d834cd50f869e20168e5c612b0970c-200wi" style="width: 200px;" title="Mapping" /></a></p>
<p>For some attributes, you can use the Expression Builder when mapping attribute values. For example, you can convert units, perform calculations, or concatenate values in the source when mapping to attribute values in the target industry model.</p>
<p>To apply a filter to the source data, right-click the source and click Filter source. If necessary, you can change the coordinate system assigned to the source data. Right-click the source and click Set coordinate system.</p>
<p> <a href="http://topobaseinsiders.typepad.com/.a/6a00d834cd50f869e2016760c4a333970b-popup" onclick="window.open( this.href, '_blank', 'width=640,height=480,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0' ); return false" style="display: inline;"><img alt="CS and Filter" class="asset  asset-image at-xid-6a00d834cd50f869e2016760c4a333970b" src="http://topobaseinsiders.typepad.com/.a/6a00d834cd50f869e2016760c4a333970b-200wi" style="width: 200px;" title="CS and Filter" /></a><br /><a href="http://topobaseinsiders.typepad.com/.a/6a00d834cd50f869e20168e5c5a83d970c-popup" onclick="window.open( this.href, '_blank', 'width=640,height=480,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0' ); return false" style="display: inline;" /></p>
<p>When you have completed the mapping for a source, you can save the mapping as a profile and later reload the profile easily for future conversions.</p>
<p> <a href="http://topobaseinsiders.typepad.com/.a/6a00d834cd50f869e20162ffd03ec5970d-popup" onclick="window.open( this.href, '_blank', 'width=640,height=480,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0' ); return false" style="display: inline;"><img alt="Profile" class="asset  asset-image at-xid-6a00d834cd50f869e20162ffd03ec5970d" src="http://topobaseinsiders.typepad.com/.a/6a00d834cd50f869e20162ffd03ec5970d-200wi" style="width: 200px;" title="Profile" /></a><br /><a href="http://topobaseinsiders.typepad.com/.a/6a00d834cd50f869e20162ffcff30d970d-popup" onclick="window.open( this.href, '_blank', 'width=640,height=480,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0' ); return false" style="display: inline;" /></p>
<p>To validate topologies, check Validate all topologies option. After the source data is converted, all topology errors will be listed out in the topology explorer.</p>
<p>When you have finished creating the mapping between the source and the target industry model, click Convert to execute conversion. Your data will be converted smartly to industry model data!  </p>
<p>Easy? Have a Try!</p><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/TheTopobaseInsiders/~4/rBPG8Heboco" height="1" width="1" /></div></content>



    <feedburner:origLink>http://topobaseinsiders.typepad.com/the_topobase_insiders/2012/01/quick-tour-to-project-parsec.html</feedburner:origLink></entry>
    <entry>
        <title>Map 3D 2012 New: Industry Model in File</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheTopobaseInsiders/~3/nkPzjtTCnyQ/map3d-2012-new-industry-model-in-file.html" />
        <link rel="replies" type="text/html" href="http://topobaseinsiders.typepad.com/the_topobase_insiders/2011/09/map3d-2012-new-industry-model-in-file.html" thr:count="1" thr:updated="2011-09-16T05:46:17-07:00" />
        <id>tag:typepad.com,2003:post-6a00d834cd50f869e2014e8b0d2c77970d</id>
        <published>2011-09-06T19:24:43-07:00</published>
        <updated>2011-09-06T00:02:06-07:00</updated>
        <summary>Good news to Industry Model users! In Map 3D 2012 Release, Industry Model functionalities could be used with file-based industry model drawings. Those drawings are regular DWG files that contain an industry model in SQLite. What you see are just...</summary>
        <author>
            <name>Ada Zhu</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="Features" />
        
        
<content type="xhtml" xml:lang="en-US" xml:base="http://topobaseinsiders.typepad.com/the_topobase_insiders/"><div xmlns="http://www.w3.org/1999/xhtml"><p>Good news to Industry Model users!<br />In Map 3D 2012 Release, Industry Model functionalities could be used with file-based industry model drawings. Those drawings are regular DWG files that contain an industry model in SQLite. What you see are just *.dwg, *.dwt files.</p>
<p style="text-align: left;"><strong>How to work with those file-based industry model drawings?</strong></p>
<p style="text-align: left;">You could find some sample industry model drawing templates under folder %\AppData\Local\Autodesk\AutoCAD Map 3D 2012\R18.2\enu\Template\Industry Templates.  Moreover, you could customize drawing template or drawing files in Autodesk Infrastructure Administrator by yourself. There are two ways: create based on sample DWT and create new DWT. And we will show you how to do it step by step:</p>
<p style="text-align: left;">Create based on sample industry model DWT:</p>
<ol>
<li>
<div style="text-align: left;">Select File-&gt;Open (See Picture1). Open an existing sample DWT.</div>
</li>
<li>
<div style="text-align: left;">Use Administrator functionalities in the same way as in Oracle provider</div>
</li>
<li>
<div style="text-align: left;">Click File-&gt;Save/ Save as to save it as DWT, DWG files.  You could also save it as SQLite files.</div>
</li>
</ol>
<p style="text-align: left;">In this case, the DWT, DWG created will have configured form and an embedded display model.</p>
<p style="text-align: left;">Create new DWT:</p>
<ol>
<li>
<div style="text-align: left;">Select File-&gt;New. </div>
</li>
<li>
<div style="text-align: left;">In create new industry model, select modules, set units and spatial settings. Click OK to create.</div>
</li>
<li>
<div style="text-align: left;">After creating it, configure it with Administrator functionalities and then save it.  </div>
</li>
</ol>
<p>        <a href="http://topobaseinsiders.typepad.com/.a/6a00d834cd50f869e2014e8b0d2834970d-popup" onclick="window.open( this.href, '_blank', 'width=640,height=480,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0' ); return false" style="display: inline;"><img alt="DWG" class="asset  asset-image at-xid-6a00d834cd50f869e2014e8b0d2834970d" src="http://topobaseinsiders.typepad.com/.a/6a00d834cd50f869e2014e8b0d2834970d-200wi" style="width: 200px;" title="DWG" /></a></p>
<p><em> </em><em>Picture 1 :New file-based industry model dwt file in Administrator </em></p>
<p>In Map 3D, you could new DWG with file-based industry model dwt files, or open an existing file though double click.  Steps are the same as work with a regular DWG file.  <br />And here are some tips and tracks you may be interested in:</p>
<ol>
<li>If you assign Global Coordinate System in the file, CS of its industry model will be changed at the same time. But the coordinates of features will not be transformed with the CS change.In create new industry model, select modules, set units and spatial settings. Click OK to create.</li>
<li>Most Oracle-based Industry Model functions are supported in files-based industry models drawings.  And do not forget to save after work!</li>
</ol>
<p><strong>Not supported Oracle-based Industry Model Functions </strong></p>
<p>In 2012 release, some IM features are not supported in file-bases industry model drawings, see list as below.<br />• User, User Group<br />• Job<br />• Profile Designer, Profile Manager<br />• 3D support<br />• Plot<br />• TB2TB<br />• Schema Conversion<br />• Security Admin<br />• Server Administrator<br />• Spatial Export<br />• Polygon/Line definition report<br />• Gas module </p><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/TheTopobaseInsiders/~4/nkPzjtTCnyQ" height="1" width="1" /></div></content>



    <feedburner:origLink>http://topobaseinsiders.typepad.com/the_topobase_insiders/2011/09/map3d-2012-new-industry-model-in-file.html</feedburner:origLink></entry>
    <entry>
        <title>Autodesk Topobase 2011 Country Kits Now Available</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheTopobaseInsiders/~3/WxugMTVwSSQ/autodesk-topobase-2011-country-kits-now-available.html" />
        <link rel="replies" type="text/html" href="http://topobaseinsiders.typepad.com/the_topobase_insiders/2010/12/autodesk-topobase-2011-country-kits-now-available.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-6a00d834cd50f869e20133f61691a4970b</id>
        <published>2010-12-02T08:34:55-08:00</published>
        <updated>2010-12-02T06:39:23-08:00</updated>
        <summary>We are pleased to announce the release of the Topobase 2011 country kits for Germany and Switzerland. Country kits are typically defined as country, region, and/or market specific content that is added to a product for users within the target...</summary>
        <author>
            <name>Vanessa Rojas</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="Announcement" />
        
        
<content type="xhtml" xml:lang="en-US" xml:base="http://topobaseinsiders.typepad.com/the_topobase_insiders/"><div xmlns="http://www.w3.org/1999/xhtml"><p>We are pleased to announce the release of the Topobase 2011 country kits for Germany and Switzerland.</p>
<p>Country kits are typically defined as country, region, and/or market specific content that is added to a product for users within the target<strong> </strong>area.<strong> </strong>This release includes country kits for the Water, Gas, Wastewater and Electric modules in German, Italian and French.</p>
<p>Country kit features include:<br /><strong>Data Models</strong><br />- Genx files for structure update of the base data model including new tables, attributes and label definitions; views for display models and updated domain lists.  <br /><strong>Forms</strong><br />- XML files for forms designed according to the customer needs. <br />- Forms for Switzerland compliant to the SIA norm. The forms display only the relevant fields making clear distinction between required and optional fields to ease the data acquisition according to the norm. <br /><strong>Reports</strong><br />- Most common reports for the mentioned modules such as pipe and section details including maintenance, damage information, network statistics and others. <br /><strong>Data checks</strong><br />- Different types of data checks to verify the validity of attributes in the network.<br /><strong>Feature Search</strong><br />- Different types of feature searches by name, type and function of pipes, hydrants, pumps and other network nodes. <br /><strong>Display Models</strong><br />- The display models include overview maps for network documentation in large scale, planning and network operation in small scale. Damage and hydrant maps; wastewater network maps including inspection and classification among others. <br /><strong>Topology</strong><br />- New stop conditions for section, manhole and valves in the Wastewater module.<br /><strong>Cross sections</strong><br />- Updated cross section templates for the Electric module.<br /><strong>Feature Rules</strong><br />- Feature rules to set the insert and update date of network nodes in the Water and Gas modules. <br />- Feature rules for automatic calculation of values in the section, manhole and cover of the Wastewater module. </p>
<p>Each country kit includes a workbook with additional content details. Download the kits <a href="http://www.autodeskconsulting.eu/index.php?option=com_content&amp;view=article&amp;id=2706&amp;Itemid=12" target="_blank" title="Country Kits">here </a>.</p><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/TheTopobaseInsiders/~4/WxugMTVwSSQ" height="1" width="1" /></div></content>



    <feedburner:origLink>http://topobaseinsiders.typepad.com/the_topobase_insiders/2010/12/autodesk-topobase-2011-country-kits-now-available.html</feedburner:origLink></entry>
    <entry>
        <title>Topobase 2 Migration tools available on ADN</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheTopobaseInsiders/~3/pAMvTEqZg_c/tb2-migration-tools-available-in-adn-site.html" />
        <link rel="replies" type="text/html" href="http://topobaseinsiders.typepad.com/the_topobase_insiders/2010/07/tb2-migration-tools-available-in-adn-site.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-6a00d834cd50f869e2013485217eba970c</id>
        <published>2010-07-01T05:46:50-07:00</published>
        <updated>2010-07-01T05:46:50-07:00</updated>
        <summary>ADN partners attention! We have delivered the source code and executables for all the Topobase 2 migration tools: TB2Crawler TBFlatPort (a.k.a. TB2Import) TB2DisplayModel Electric Migration Tools The tools are described in more detail below: 1. TB2Crawler The TB2 Crawler is...</summary>
        <author>
            <name>Vanessa Rojas</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="Announcement" />
        
        <category scheme="http://sixapart.com/ns/types#tag" term="Migration" />
        <category scheme="http://sixapart.com/ns/types#tag" term="Topobase 2" />
        
<content type="xhtml" xml:lang="en-US" xml:base="http://topobaseinsiders.typepad.com/the_topobase_insiders/"><div xmlns="http://www.w3.org/1999/xhtml"><p>ADN partners attention! We have delivered the source code and executables for all the Topobase 2 migration tools: </p>
<ol>
<li>TB2Crawler 
<li>TBFlatPort (a.k.a. TB2Import) 
<li>TB2DisplayModel 
<li>Electric Migration Tools</li>
</li>
</li>
</li>
</ol>
<p>The tools are described in more detail below:</p>
<p>1. TB2Crawler</p>
<p>The TB2 Crawler is a tool that collects the metrics and statistics of a Topobase 2 document. The results can be used to estimate the effort of a migration. The results are written to a log file that contains:  features, feature classes, columns, domain tables and entries, label tables and definitions, tables, views, triggers, VB Scripts, web scripts, display models, jobs, topologies and intersections.</p>
<p>2. TBFlatPort (a.k.a. TB2Import)</p>
<p>The TBFlatPort tool imports data from a Topobase 2 document into a Topobase 20xx document maintaining the same data structure.  It converts the geometry from TB2 (non spatial) to TB20xx (spatial).</p>
<p>3. TB2DisplayModel</p>
<p>The TB2DisplayModel tool converts a TB2 display model into a TB20xx display model.</p>
<p>4. Electric Migration Tools</p>
<p>The Electric Migration tools provide functions to make the TB2 electric data compatible to the Electric TB2011 data model.  It adjusts cross sections, segments and nodes to the TB2011 requirements.</p>
<p>The tools are available in the ADN site at: </p>
<p><a href="http://adn.autodesk.com/adn/servlet/autoindex?siteID=4814862&amp;id=4832864&amp;linkID=8177932" target="_blank">TB2 Migration tools</a> </p><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/TheTopobaseInsiders/~4/pAMvTEqZg_c" height="1" width="1" /></div></content>



    <feedburner:origLink>http://topobaseinsiders.typepad.com/the_topobase_insiders/2010/07/tb2-migration-tools-available-in-adn-site.html</feedburner:origLink></entry>
    <entry>
        <title>Autodesk® Topobase™ 2011 has been released</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheTopobaseInsiders/~3/2Tgnu1kw3Cs/autodesk-topobase-2011-has-been-released.html" />
        <link rel="replies" type="text/html" href="http://topobaseinsiders.typepad.com/the_topobase_insiders/2010/06/autodesk-topobase-2011-has-been-released.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-6a00d834cd50f869e201348381faae970c</id>
        <published>2010-06-08T11:03:33-07:00</published>
        <updated>2010-06-08T10:57:58-07:00</updated>
        <summary>We are excited to announce the release of Autodesk® Topobase™ 2011. Autodesk Topobase infrastructure model management software provides more accurate information about the location and status of assets throughout our customers’ organizations. Some of the many Autodesk Topobase 2011 enhancements...</summary>
        <author>
            <name>Vanessa Rojas</name>
        </author>
        
        
<content type="xhtml" xml:lang="en-US" xml:base="http://topobaseinsiders.typepad.com/the_topobase_insiders/"><div xmlns="http://www.w3.org/1999/xhtml"><p>We are excited to announce the release of Autodesk® Topobase™ 2011. Autodesk Topobase infrastructure model management software provides more accurate information about the location and status of assets throughout our customers’ organizations.  Some of the many Autodesk Topobase 2011 enhancements include improved administrative capabilities, enhanced 4D vertical modules, as well as some terrific new web features that will help our customers leverage the web as a point of access for their Topobase data.</p>
<p>Please read on for detailed highlights and enhancements.<br /><strong><span style="FONT-SIZE: 14px; FONT-FAMILY: Arial">Highlights &amp; Enhancements</span><br />Enhanced 4D Model Management &amp; Administration</strong>  - More easily manage 4D information models and user access:</p>
<ul>
<li>Database Structure Editor, a tool to create and share data models. 
<li>1-click Database Maintenance, a tool to validate the database objects. 
<li>Enhanced Display Model Editor that allows to merge display models and manage them more easily. 
<li>Intelligent Search to locate assets or area of interest. 
<li>Enhanced Plotting </li>
</li></li></li></li></ul>
<p><strong>Enhanced 4D Vertical Modules</strong><br /></p>
<ul>
<li>Electric Module enhancements: possibility to manage stacked structures and internals, new trace templates and others. 
<li>Wastewater Module: ISYBAU import enhancements (Germany) 
<li>Land Module: Cadastral survey enhancements; INTERLIS, ALKIS support (Central Europe) </li>
</li></li></ul>
<p><strong>Improved Web Functionality – leverage the web as a point of access for all Topobase data. <br /></strong></p>
<ul>
<li>Editing and Snapping (to node, vertex, or edge) 
<li>Quick Plots 
<li>Improved Redlining and Markup 
<li>Feature Inspector to select and list multiple features from the map 
<li>Enhanced Publish to Autodesk® Topobase™ Web </li>
</li></li></li></li></ul>
<p><strong>Official 64-bit versions of Topobase Client &amp; Topobase Web<br />Improved DWG export functionality<br />Assign multiple user groups per user<br />Improved Zoom/highlight behavior<br />New document options for jobs (e.g. remember most recently used job)<br />Single Sign On (sample LDAP integration).<br />Enhanced User Assistance</strong></p>
<p><strong>And LOTS of other additions coming from AutoCAD Map 3D and Autodesk MapGuide Enterprise….</strong></p><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/TheTopobaseInsiders/~4/2Tgnu1kw3Cs" height="1" width="1" /></div></content>



    <feedburner:origLink>http://topobaseinsiders.typepad.com/the_topobase_insiders/2010/06/autodesk-topobase-2011-has-been-released.html</feedburner:origLink></entry>
    <entry>
        <title>Help!</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheTopobaseInsiders/~3/r4m3z8TvXUk/help.html" />
        <link rel="replies" type="text/html" href="http://topobaseinsiders.typepad.com/the_topobase_insiders/2010/05/help.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-6a00d834cd50f869e2013482889ac8970c</id>
        <published>2010-05-31T00:26:59-07:00</published>
        <updated>2010-05-31T00:26:59-07:00</updated>
        <summary>The new release of Topobase is just around the corner. The first customer shipment is scheduled for June 7th for the English version. And today, already one week before that date, our help &amp; documentation team uploaded the Topobase 2011...</summary>
        <author>
            <name>Vanessa Rojas</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="Announcement" />
        
        <category scheme="http://sixapart.com/ns/types#tag" term="Documentation" />
        <category scheme="http://sixapart.com/ns/types#tag" term="Help" />
        <category scheme="http://sixapart.com/ns/types#tag" term="Topobase 2011" />
        
<content type="xhtml" xml:lang="en-US" xml:base="http://topobaseinsiders.typepad.com/the_topobase_insiders/"><div xmlns="http://www.w3.org/1999/xhtml"><p><a href="http://topobaseinsiders.typepad.com/.a/6a00d834cd50f869e20133ef592f73970b-popup" onclick="window.open( this.href, '_blank', 'width=640,height=480,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0' ); return false" style="FLOAT: right"><img alt="TopobaseHero2011" border="0" class="asset asset-image at-xid-6a00d834cd50f869e20133ef592f73970b " src="http://topobaseinsiders.typepad.com/.a/6a00d834cd50f869e20133ef592f73970b-800wi" style="MARGIN: 0px 0px 5px 5px" title="TopobaseHero2011" /></a> The new release of Topobase is just around the corner. The first customer shipment is scheduled for June 7th for the English version. And today, already one week before that date, our help &amp; documentation team uploaded the Topobase 2011 online help on autodesk.com for you! Check it out <a href="http://docs.autodesk.com/TOPOBSADM/2011/ENU/Autodesk%20Topobase%202011%20Help/index.html">here</a>. </p>
<p><a href="http://topobaseinsiders.typepad.com/.a/6a00d834cd50f869e20133ef592f73970b-popup" onclick="window.open( this.href, '_blank', 'width=640,height=480,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0' ); return false" style="FLOAT: right" />You can read more about some of the <a href="http://docs.autodesk.com/TOPOBSADM/2011/ENU/Autodesk%20Topobase%202011%20Help/filesAdministrator/WS73099cc142f487553bd5b66812435c29801-5e80.htm">new features</a>, the <a href="http://docs.autodesk.com/TOPOBSADM/2011/ENU/Autodesk%20Topobase%202011%20Help/filesDevelopersGuide/WS1a9193826455f5ff-150b16da11960d83164-7534.htm">new and changed API </a>content or the <a href="http://docs.autodesk.com/TOPOBSADM/2011/ENU/Autodesk%20Topobase%202011%20Help/filesInstallationConfiguration/WSa5366f3b42cc8b68114a47110612d8f594-7fce.htm">system requirements</a> for Topobase 2011</p><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/TheTopobaseInsiders/~4/r4m3z8TvXUk" height="1" width="1" /></div></content>



    <feedburner:origLink>http://topobaseinsiders.typepad.com/the_topobase_insiders/2010/05/help.html</feedburner:origLink></entry>
    <entry>
        <title>Autodesk Subscription Software Downloads</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheTopobaseInsiders/~3/En2KGXtz14w/autodesk-subscription-software-downloads.html" />
        <link rel="replies" type="text/html" href="http://topobaseinsiders.typepad.com/the_topobase_insiders/2010/03/autodesk-subscription-software-downloads.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-6a00d834cd50f869e20120a918bab1970b</id>
        <published>2010-03-08T23:17:19-08:00</published>
        <updated>2010-03-08T23:17:19-08:00</updated>
        <summary>Starting this month, software download will replace CDs and DVDs as the default method of delivering software upgrades to most Autodesk® Subscription customers worldwide. If a customer would prefer to receive their software upgrade via CD/DVD instead of via download,...</summary>
        <author>
            <name>Vanessa Rojas</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="Announcement" />
        
        
<content type="xhtml" xml:lang="en-US" xml:base="http://topobaseinsiders.typepad.com/the_topobase_insiders/"><div xmlns="http://www.w3.org/1999/xhtml"><p><a href="http://topobaseinsiders.typepad.com/.a/6a00d834cd50f869e20120a918b905970b-popup" onclick="window.open( this.href, '_blank', 'width=640,height=480,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0' ); return false" style="FLOAT: left"><a href="http://topobaseinsiders.typepad.com/.a/6a00d834cd50f869e201310f7f44df970c-popup" onclick="window.open( this.href, '_blank', 'width=640,height=480,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0' ); return false" style="FLOAT: right"><a href="http://topobaseinsiders.typepad.com/.a/6a00d834cd50f869e20120a918b9b3970b-popup" onclick="window.open( this.href, '_blank', 'width=640,height=480,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0' ); return false" style="FLOAT: left"><img alt="Disc" class="asset asset-image at-xid-6a00d834cd50f869e20120a918b9b3970b " src="http://topobaseinsiders.typepad.com/.a/6a00d834cd50f869e20120a918b9b3970b-150wi" style="MARGIN: 0px 5px 5px 0px; WIDTH: 150px" /></a> </a> </a> Starting this month, software download will replace CDs and DVDs as the default method of delivering software upgrades to most Autodesk® Subscription customers worldwide. <br />If a customer would prefer to receive their software upgrade via CD/DVD instead of via download, customers can set their <a href="http://autodesksubscriptionserviceupdates.createsend4.com/t/r/l/uyuuul/tjthktldh/r">delivery preference</a> to “box” by signing in to Subscription Center and updating their profile prior to March 12, 2010.  (Date does not apply to Media and Entertainment customers.) After March 12, 2010 customers in countries affected by this policy change can still request a CD/DVD by submitting a request in Subscription Center and Autodesk will ship a CD/DVD at no additional cost. <br />Software download gives Subscription customers immediate access to the latest Autodesk® software. It’s more convenient than installing upgrades from a CD or DVD. And, it’s a more sustainable choice. <br />Autodesk will continue to ship CDs/DVDs to Subscription customers in some countries as the default delivery method. However, these customers will also have the option to download their Autodesk® software upgrades. </p>
<p>For further questions please contact <a href="mailto:subscription-team@autodesk.com">subscription-team@autodesk.com</a> or visit this <a href="http://usa.autodesk.com/adsk/servlet/index?siteID=123112&amp;id=14366399">link</a>. </p><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/TheTopobaseInsiders/~4/En2KGXtz14w" height="1" width="1" /></div></content>



    <feedburner:origLink>http://topobaseinsiders.typepad.com/the_topobase_insiders/2010/03/autodesk-subscription-software-downloads.html</feedburner:origLink></entry>
    <entry>
        <title>Processing Layers with XSLT</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheTopobaseInsiders/~3/xPJszkDpmO4/processing-layers-with-xslt.html" />
        <link rel="replies" type="text/html" href="http://topobaseinsiders.typepad.com/the_topobase_insiders/2010/02/processing-layers-with-xslt.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-6a00d834cd50f869e20120a84b9473970b</id>
        <published>2010-02-09T14:28:18-08:00</published>
        <updated>2010-02-11T03:51:42-08:00</updated>
        <summary>Creating and maintaining display models with hundreds of layers is labor intensive. It is almost a mandatory requirement to be able to do tricks like bulk editing of the XML layer files to do global changes. Things like altering the...</summary>
        <author>
            <name>Derrick Oswald</name>
        </author>
        
        
<content type="html" xml:lang="en-US" xml:base="http://topobaseinsiders.typepad.com/the_topobase_insiders/">
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;Creating and maintaining display models with hundreds of layers is labor intensive. It is almost a mandatory requirement to be able to do tricks like bulk editing of the XML layer files to do global changes. Things like altering the scale of symbols for plot display models or changing color lookup formulas can take a long time without automation.&lt;/p&gt;
&lt;p&gt;For a lot of these operations a powerful editor suffices. For example one can use the Visual Studio &lt;i&gt;Replace in Files&lt;/i&gt; function using regular expressions. However, search and replace for patterns spanning multiple lines is difficult, the replacement text is fixed and operations aren't easily scripted to allow them to be repeated often. This is where the ability to use XSLT transforms can come in handy. It isn't a replacement for working with the user interface or power editing, but it's another arrow in your quiver of tools that can open up alternate possibilities.&lt;/p&gt;
&lt;p&gt;XSLT is a way of transforming one file into another using a template-driven match and replace process. The XSLT language is abundantly described on the web. You might like to start with the &lt;a href='http://www.w3.org/TR/xslt/'&gt;W3C XSLT Version 1.0&lt;/a&gt; specification. For our purposes, since we need not change the layer file too much, our transforms can be relatively minor. Let's start with an identity transform like:
&lt;pre&gt;&lt;code&gt;&lt;span style='color:blue'&gt;&amp;lt;?&lt;/span&gt;&lt;span style='color:#A31515'&gt;xml&lt;/span&gt; &lt;span style='color:red'&gt;version&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&lt;span style=''&gt;&amp;quot;&lt;span style='color:blue'&gt;1.0&lt;/span&gt;&amp;quot; &lt;span style='color:red'&gt;encoding&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;ISO-8859-15&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;?&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style='color:blue'&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#2B91AF'&gt;xsl:stylesheet&lt;/span&gt; &lt;span style='color:red'&gt;version&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;1.0&lt;/span&gt;&amp;quot; &lt;span style='color:red'&gt;xmlns:xsl&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&lt;span style=''&gt;&amp;quot;&lt;span style='color:blue'&gt;http://www.w3.org/1999/XSL/Transform&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style='color:blue'&gt;    &amp;lt;&lt;/span&gt;&lt;span style='color:#2B91AF'&gt;xsl:template&lt;/span&gt; &lt;span style='color:red'&gt;match&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&lt;span style=''&gt;&amp;quot;&lt;span style='color:blue'&gt;@*|node()&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style='color:blue'&gt;        &amp;lt;&lt;/span&gt;&lt;span style='color:#2B91AF'&gt;xsl:copy&lt;/span&gt;&lt;span style='color:blue'&gt;&amp;gt;&lt;/span&gt;
&lt;span style='color:blue'&gt;            &amp;lt;&lt;/span&gt;&lt;span style='color:#2B91AF'&gt;xsl:apply-templates&lt;/span&gt; &lt;span style='color:red'&gt;select&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&lt;span style=''&gt;&amp;quot;&lt;span style='color:blue'&gt;@*|node()&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style='color:blue'&gt;        &amp;lt;/&lt;/span&gt;&lt;span style='color:#2B91AF'&gt;xsl:copy&lt;/span&gt;&lt;span style='color:blue'&gt;&amp;gt;&lt;/span&gt;
&lt;span style='color:blue'&gt;    &amp;lt;/&lt;/span&gt;&lt;span style='color:#2B91AF'&gt;xsl:template&lt;/span&gt;&lt;span style='color:blue'&gt;&amp;gt;&lt;/span&gt;
&lt;span style='color:blue'&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#2B91AF'&gt;xsl:stylesheet&lt;/span&gt;&lt;span style='color:blue'&gt;&amp;gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
which will match everything using the pattern &lt;b&gt;@*|node()&lt;/b&gt; and copies all tags and attributes from input to output with the &lt;b&gt;xsl:copy&lt;/b&gt; instruction and a recursive &lt;b&gt;xsl:apply-templates&lt;/b&gt; instruction. With suitable programming the transform can be applied to multiple files, for example all layer files in a directory.&lt;/p&gt;
&lt;p&gt;The &lt;b&gt;Transformer&lt;/b&gt; program, available below, is a command line program that transforms XML files. It takes several parameters. The mandatory parameters are the name of the XSLT file to use and the file (or file pattern) to operate on. For example, to transform all layer files in the &lt;i&gt;MyDataModel&lt;/i&gt; directory using the &lt;i&gt;identity.xslt&lt;/i&gt; file (containing the above content), you could use:
&lt;pre&gt;&lt;code&gt;transformer identity.xslt MyDataModel\*.layer&lt;/code&gt;&lt;/pre&gt;&lt;/p&gt;
A third optional argument can specify an output file or directory, otherwise it replaces the existing files with the transformed ones.&lt;/p&gt;
&lt;p&gt;Even an identity transformation is useful, because we can pretty print (format) the output XML at the same time. The indenting of XML to match the nesting level of the tags is easily accomplished with a fragment of code that initializes an &lt;code&gt;XmlWriterSettings&lt;/code&gt; object and sets the &lt;code&gt;&lt;b&gt;Indent&lt;/b&gt;&lt;/code&gt; property to &lt;code&gt;true&lt;/code&gt; in the Transformer program:
&lt;pre&gt;&lt;code&gt;settings = &lt;span style='color:#0000FF'&gt;new&lt;/span&gt; &lt;span style='color:#2B91AF'&gt;XmlWriterSettings&lt;/span&gt; ();
settings.OmitXmlDeclaration = &lt;span style='color:#0000FF'&gt;false&lt;/span&gt;;
settings.Indent = &lt;span style='color:#0000FF'&gt;true&lt;/span&gt;;
settings.Encoding = &lt;span style='color:#2B91AF'&gt;Encoding&lt;/span&gt;.UTF8;&lt;/code&gt;&lt;/pre&gt;&lt;/p&gt;

&lt;p&gt;Further down in the program, creation of the transform is done once outside of the loop over all files. This same compiled transform is used repeatedly to process each file.
&lt;pre&gt;&lt;code&gt;transform = &lt;span style='color:#0000FF'&gt;new&lt;/span&gt; &lt;span style='color:#2B91AF'&gt;XslCompiledTransform&lt;/span&gt; ();
transform.Load (xslt_filename);&lt;/code&gt;&lt;/pre&gt;&lt;/p&gt;

&lt;/p&gt;The actual processing step is relatively simple.
&lt;pre&gt;&lt;code&gt;input = &lt;span style='color:#0000FF'&gt;new&lt;/span&gt; &lt;span style='color:#2B91AF'&gt;XmlTextReader&lt;/span&gt; (&lt;span style='color:#0000FF'&gt;new&lt;/span&gt; &lt;span style='color:#2B91AF'&gt;StreamReader&lt;/span&gt; (source_file));
source_doc = &lt;span style='color:#0000FF'&gt;new&lt;/span&gt; &lt;span style='color:#2B91AF'&gt;XPathDocument&lt;/span&gt; (input);
destination_doc = &lt;span style='color:#2B91AF'&gt;XmlTextWriter&lt;/span&gt;.Create (target_file, settings);
transform.Transform (source_doc, arguments, destination_doc);
destination_doc.Close ();
input.Close ();&lt;/code&gt;&lt;/pre&gt;&lt;/p&gt;

&lt;p&gt;Using XSLT transforms we can, for example, strip out the provider parameter information from the layer file. This would be used to anonymize the layer files in your display model before shipping them - after all, who needs to know the Topobase system user name and Oracle SID for the development machine. The transform could look like this:
&lt;pre&gt;&lt;code&gt;&lt;span style='color:blue'&gt;&amp;lt;?&lt;/span&gt;&lt;span style='color:#A31515'&gt;xml&lt;/span&gt; &lt;span style='color:red'&gt;version&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&lt;span style=''&gt;&amp;quot;&lt;span style='color:blue'&gt;1.0&lt;/span&gt;&amp;quot; &lt;span style='color:red'&gt;encoding&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;ISO-8859-15&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;?&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style='color:blue'&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#2B91AF'&gt;xsl:stylesheet&lt;/span&gt; &lt;span style='color:red'&gt;version&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;1.0&lt;/span&gt;&amp;quot; &lt;span style='color:red'&gt;xmlns:xsl&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&lt;span style=''&gt;&amp;quot;&lt;span style='color:blue'&gt;http://www.w3.org/1999/XSL/Transform&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style='color:blue'&gt;    &amp;lt;&lt;/span&gt;&lt;span style='color:#2B91AF'&gt;xsl:template&lt;/span&gt; &lt;span style='color:red'&gt;match&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&lt;span style=''&gt;&amp;quot;&lt;span style='color:blue'&gt;@*|node()&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style='color:blue'&gt;        &amp;lt;&lt;/span&gt;&lt;span style='color:#2B91AF'&gt;xsl:copy&lt;/span&gt;&lt;span style='color:blue'&gt;&amp;gt;&lt;/span&gt;
&lt;span style='color:blue'&gt;            &amp;lt;&lt;/span&gt;&lt;span style='color:#2B91AF'&gt;xsl:apply-templates&lt;/span&gt; &lt;span style='color:red'&gt;select&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&lt;span style=''&gt;&amp;quot;&lt;span style='color:blue'&gt;@*|node()&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style='color:blue'&gt;        &amp;lt;/&lt;/span&gt;&lt;span style='color:#2B91AF'&gt;xsl:copy&lt;/span&gt;&lt;span style='color:blue'&gt;&amp;gt;&lt;/span&gt;
&lt;span style='color:blue'&gt;    &amp;lt;/&lt;/span&gt;&lt;span style='color:#2B91AF'&gt;xsl:template&lt;/span&gt;&lt;span style='color:blue'&gt;&amp;gt;&lt;/span&gt;
&lt;span style='color:blue'&gt;&amp;nbsp;&lt;/span&gt;
&lt;span style='color:blue'&gt;    &amp;lt;!--&lt;/span&gt;&lt;span style='color:green'&gt; empty out the feature source parameters &lt;/span&gt;&lt;span style='color:blue'&gt;--&amp;gt;&lt;/span&gt;
&lt;span style='color:blue'&gt;    &amp;lt;&lt;/span&gt;&lt;span style='color:#2B91AF'&gt;xsl:template&lt;/span&gt; &lt;span style='color:red'&gt;match&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&lt;span style=''&gt;&amp;quot;&lt;span style='color:blue'&gt;FeatureSource/Parameter/Value&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style='color:blue'&gt;        &amp;lt;&lt;/span&gt;&lt;span style='color:#A31515'&gt;Value&lt;/span&gt;&lt;span style='color:blue'&gt;/&amp;gt;&lt;/span&gt;
&lt;span style='color:blue'&gt;    &amp;lt;/&lt;/span&gt;&lt;span style='color:#2B91AF'&gt;xsl:template&lt;/span&gt;&lt;span style='color:blue'&gt;&amp;gt;&lt;/span&gt;
&lt;span style='color:blue'&gt;&amp;nbsp;&lt;/span&gt;
&lt;span style='color:blue'&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#2B91AF'&gt;xsl:stylesheet&lt;/span&gt;&lt;span style='color:blue'&gt;&amp;gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;a style="float: right;" href="http://topobaseinsiders.typepad.com/.a/6a00d834cd50f869e20128776e2687970c-popup" onclick="window.open( this.href, '_blank', 'width=640,height=480,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0' ); return false"&gt;&lt;img class="asset  asset-image at-xid-6a00d834cd50f869e20128776e2687970c" style="width: 200px; margin: 0px 0px 5px 5px;" alt="Diff" src="http://topobaseinsiders.typepad.com/.a/6a00d834cd50f869e20128776e2687970c-200wi" /&gt;&lt;/a&gt; 
which adds one more template (rule) that matches a &lt;i&gt;Value&lt;/i&gt; nested in a &lt;i&gt;Parameter&lt;/i&gt; element which is itself nested in a &lt;i&gt;FeatureSource&lt;/i&gt; element, and replaces the &lt;i&gt;Value&lt;/i&gt; element with an empty one. The effect of this transform is shown on the right as the output of a diff program (&lt;a href='http://winmerge.org/'&gt;WinMerge&lt;/a&gt;). The same result could be obtained with edit and replace, but it would take three operations.&lt;/p&gt;
&lt;p&gt;It's also possible to pass arguments to the transform that can be used as parameters in the process. For example, if you wanted to change all &lt;i&gt;ScaleX&lt;/i&gt; and &lt;i&gt;ScaleY&lt;/i&gt; values such that they are multiplied by a factor, the factor could be a parameter passed into the transform so you could try various scale increases or decreases quite easily. The following transform does this processing:
&lt;pre&gt;&lt;code&gt;&lt;span style='color:blue'&gt;&amp;lt;?&lt;/span&gt;&lt;span style='color:#A31515'&gt;xml&lt;/span&gt; &lt;span style='color:red'&gt;version&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;1.0&lt;/span&gt;&amp;quot; &lt;span style='color:red'&gt;encoding&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;ISO-8859-15&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;?&amp;gt;&lt;/span&gt;
&lt;span style='color:blue'&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#2B91AF'&gt;xsl:stylesheet&lt;/span&gt; &lt;span style='color:red'&gt;xmlns:xsl&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;http://www.w3.org/1999/XSL/Transform&lt;/span&gt;&amp;quot; &lt;span style='color:red'&gt;version&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;1.0&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;&amp;gt;&lt;/span&gt;
&lt;span style='color:blue'&gt;&amp;nbsp;&lt;/span&gt;
&lt;span style='color:blue'&gt;    &amp;lt;!--&lt;/span&gt;&lt;span style='color:green'&gt; use a parameter named factor, 1.0 by default&lt;/span&gt;&lt;span style='color:blue'&gt;--&amp;gt;&lt;/span&gt;
&lt;span style='color:blue'&gt;    &amp;lt;&lt;/span&gt;&lt;span style='color:#2B91AF'&gt;xsl:param&lt;/span&gt; &lt;span style='color:red'&gt;name&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:10.0pt;font-family:"Courier New"'&gt;&amp;quot;&lt;span style='color:blue'&gt;factor&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;&amp;gt;&lt;/span&gt;1.0&lt;span style='color:blue'&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#2B91AF'&gt;xsl:param&lt;/span&gt;&lt;span style='color:blue'&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style='color:blue'&gt;&amp;nbsp;&lt;/span&gt;
&lt;span style='color:blue'&gt;    &amp;lt;&lt;/span&gt;&lt;span style='color:#2B91AF'&gt;xsl:template&lt;/span&gt; &lt;span style='color:red'&gt;match&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:10.0pt;font-family:"Courier New"'&gt;&amp;quot;&lt;span style='color:blue'&gt;@*|node()&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style='color:blue'&gt;        &amp;lt;&lt;/span&gt;&lt;span style='color:#2B91AF'&gt;xsl:copy&lt;/span&gt;&lt;span style='color:blue'&gt;&amp;gt;&lt;/span&gt;
&lt;span style='color:blue'&gt;            &amp;lt;&lt;/span&gt;&lt;span style='color:#2B91AF'&gt;xsl:apply-templates&lt;/span&gt; &lt;span style='color:red'&gt;select&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:10.0pt;font-family:"Courier New"'&gt;&amp;quot;&lt;span style='color:blue'&gt;@*|node()&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style='color:blue'&gt;        &amp;lt;/&lt;/span&gt;&lt;span style='color:#2B91AF'&gt;xsl:copy&lt;/span&gt;&lt;span style='color:blue'&gt;&amp;gt;&lt;/span&gt;
&lt;span style='color:blue'&gt;    &amp;lt;/&lt;/span&gt;&lt;span style='color:#2B91AF'&gt;xsl:template&lt;/span&gt;&lt;span style='color:blue'&gt;&amp;gt;&lt;/span&gt;
&lt;span style='color:blue'&gt;&amp;nbsp;&lt;/span&gt;
&lt;span style='color:blue'&gt;    &amp;lt;!--&lt;/span&gt;&lt;span style='color:green'&gt; multiply scale X and Y values by a factor &lt;/span&gt;&lt;span style='color:blue'&gt;--&amp;gt;&lt;/span&gt;
&lt;span style='color:blue'&gt;    &amp;lt;&lt;/span&gt;&lt;span style='color:#2B91AF'&gt;xsl:template&lt;/span&gt; &lt;span style='color:red'&gt;match&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:10.0pt;font-family:"Courier New"'&gt;&amp;quot;&lt;span style='color:blue'&gt;SymbolInstance/ScaleX|SymbolInstance/ScaleY&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style='color:blue'&gt;        &amp;lt;&lt;/span&gt;&lt;span style='color:#2B91AF'&gt;xsl:copy&lt;/span&gt;&lt;span style='color:blue'&gt;&amp;gt;&lt;/span&gt;
&lt;span style='color:blue'&gt;            &amp;lt;&lt;/span&gt;&lt;span style='color:#2B91AF'&gt;xsl:choose&lt;/span&gt;&lt;span style='color:blue'&gt;&amp;gt;&lt;/span&gt;
&lt;span style='color:blue'&gt;                &amp;lt;&lt;/span&gt;&lt;span style='color:#2B91AF'&gt;xsl:when&lt;/span&gt; &lt;span style='color:red'&gt;test&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:10.0pt;font-family:"Courier New"'&gt;&amp;quot;&lt;span style='color:blue'&gt;number(child::text())&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style='color:blue'&gt;                    &amp;lt;&lt;/span&gt;&lt;span style='color:#2B91AF'&gt;xsl:value-of&lt;/span&gt; &lt;span style='color:red'&gt;select&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:10.0pt;font-family:"Courier New"'&gt;&amp;quot;&lt;span style='color:blue'&gt;string (number(child::text()) * number ($factor))&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style='color:blue'&gt;                &amp;lt;/&lt;/span&gt;&lt;span style='color:#2B91AF'&gt;xsl:when&lt;/span&gt;&lt;span style='color:blue'&gt;&amp;gt;&lt;/span&gt;
&lt;span style='color:blue'&gt;                &amp;lt;&lt;/span&gt;&lt;span style='color:#2B91AF'&gt;xsl:otherwise&lt;/span&gt;&lt;span style='color:blue'&gt;&amp;gt;&lt;/span&gt;
&lt;span style='color:blue'&gt;                    &amp;lt;&lt;/span&gt;&lt;span style='color:#2B91AF'&gt;xsl:apply-templates&lt;/span&gt; &lt;span style='color:red'&gt;select&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:10.0pt;font-family:"Courier New"'&gt;&amp;quot;&lt;span style='color:blue'&gt;@*|node()&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style='color:blue'&gt;                &amp;lt;/&lt;/span&gt;&lt;span style='color:#2B91AF'&gt;xsl:otherwise&lt;/span&gt;&lt;span style='color:blue'&gt;&amp;gt;&lt;/span&gt;
&lt;span style='color:blue'&gt;            &amp;lt;/&lt;/span&gt;&lt;span style='color:#2B91AF'&gt;xsl:choose&lt;/span&gt;&lt;span style='color:blue'&gt;&amp;gt;&lt;/span&gt;
&lt;span style='color:blue'&gt;        &amp;lt;/&lt;/span&gt;&lt;span style='color:#2B91AF'&gt;xsl:copy&lt;/span&gt;&lt;span style='color:blue'&gt;&amp;gt;&lt;/span&gt;
&lt;span style='color:blue'&gt;    &amp;lt;/&lt;/span&gt;&lt;span style='color:#2B91AF'&gt;xsl:template&lt;/span&gt;&lt;span style='color:blue'&gt;&amp;gt;&lt;/span&gt;
&lt;span style='color:blue'&gt;&amp;nbsp;&lt;/span&gt;
&lt;span style='color:blue'&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#2B91AF'&gt;xsl:stylesheet&lt;/span&gt;&lt;span style='color:blue'&gt;&amp;gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;This template matches all &lt;i&gt;ScaleX&lt;/i&gt; and &lt;i&gt;ScaleY&lt;/i&gt; elements that have a &lt;i&gt;SymbolInstance&lt;/i&gt; parent element. It also performs a &lt;i&gt;xsl:copy&lt;/i&gt; operation, but first tests if the value is a number, and if it is, it will multiply the value by the factor. If the value isn't a number, for example it's a formula, the value is copied as is. You will need to scale these manually, sorry.&lt;/p&gt;
&lt;p&gt;To use this transform, the command line must specify an output file or directory and the factor as the fourth parameter:
&lt;pre&gt;&lt;code&gt;transformer scale.xslt MyDataModel\*.layer MyDataModel factor=2.0&lt;/code&gt;&lt;/pre&gt;&lt;/p&gt;
&lt;a style="float: right;" href="http://topobaseinsiders.typepad.com/.a/6a00d834cd50f869e20128778198a7970c-popup" onclick="window.open( this.href, '_blank', 'width=640,height=480,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0' ); return false"&gt;&lt;img class="asset  asset-image at-xid-6a00d834cd50f869e20128778198a7970c" style="width: 200px; margin: 0px 0px 5px 5px;" alt="Diff2" src="http://topobaseinsiders.typepad.com/.a/6a00d834cd50f869e20128778198a7970c-200wi" /&gt;&lt;/a&gt; 
&lt;p&gt;The output of the program is shown to the right. Contrary to a global search and replace with a text editor, you'll see this XSLT transform is smart enough to change different scale values by the same factor, rather than make them all the same. The equivalent operation with a text editor would take two search and replace operations, and over multiple files with various scale values could become quite tedious.&lt;/p&gt;
&lt;p&gt;The final example shows how to strip out unused calculated properties. The &lt;i&gt;FeatureSource&lt;/i&gt; element has all calculated properties ever created, and if these are not used any more they can be tough to remove because every layer has a copy. The following transform only copies calculated properties used by the layer:
&lt;pre&gt;&lt;code&gt;
&lt;span style='color:blue'&gt;&amp;lt;?&lt;/span&gt;&lt;span style='color:#A31515'&gt;xml&lt;/span&gt; &lt;span style='color:red'&gt;version&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;1.0&lt;/span&gt;&amp;quot; &lt;span style='color:red'&gt;encoding&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;ISO-8859-15&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;?&amp;gt;&lt;/span&gt;
&lt;span style='color:blue'&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#2B91AF'&gt;xsl:stylesheet&lt;/span&gt; &lt;span style='color:red'&gt;xmlns:xsl&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;http://www.w3.org/1999/XSL/Transform&lt;/span&gt;&amp;quot; &lt;span style='color:red'&gt;version&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;1.0&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;&amp;gt;&lt;/span&gt;
&lt;span style='color:blue'&gt;    &amp;lt;&lt;/span&gt;&lt;span style='color:#2B91AF'&gt;xsl:template&lt;/span&gt; &lt;span style='color:red'&gt;match&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;@*|node()&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;&amp;gt;&lt;/span&gt;
&lt;span style='color:blue'&gt;        &amp;lt;&lt;/span&gt;&lt;span style='color:#2B91AF'&gt;xsl:copy&lt;/span&gt;&lt;span style='color:blue'&gt;&amp;gt;&lt;/span&gt;
&lt;span style='color:blue'&gt;            &amp;lt;&lt;/span&gt;&lt;span style='color:#2B91AF'&gt;xsl:apply-templates&lt;/span&gt; &lt;span style='color:red'&gt;select&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;@*|node()&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;/&amp;gt;&lt;/span&gt;
&lt;span style='color:blue'&gt;        &amp;lt;/&lt;/span&gt;&lt;span style='color:#2B91AF'&gt;xsl:copy&lt;/span&gt;&lt;span style='color:blue'&gt;&amp;gt;&lt;/span&gt;
&lt;span style='color:blue'&gt;    &amp;lt;/&lt;/span&gt;&lt;span style='color:#2B91AF'&gt;xsl:template&lt;/span&gt;&lt;span style='color:blue'&gt;&amp;gt;&lt;/span&gt;
&lt;span style='color:blue'&gt;&amp;nbsp;&lt;/span&gt;
&lt;span style='color:blue'&gt;    &amp;lt;!--&lt;/span&gt;&lt;span style='color:green'&gt; eliminate unused calculated properties &lt;/span&gt;&lt;span style='color:blue'&gt;--&amp;gt;&lt;/span&gt;
&lt;span style='color:blue'&gt;    &amp;lt;&lt;/span&gt;&lt;span style='color:#2B91AF'&gt;xsl:template&lt;/span&gt; &lt;span style='color:red'&gt;match&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;Extension&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;&amp;gt;&lt;/span&gt;
&lt;span style='color:blue'&gt;        &amp;lt;&lt;/span&gt;&lt;span style='color:#2B91AF'&gt;xsl:variable&lt;/span&gt; &lt;span style='color:red'&gt;name&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;extension_name&lt;/span&gt;&amp;quot; &lt;span style='color:red'&gt;select&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;Name/node()&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; /&amp;gt;&lt;/span&gt;
&lt;span style='color:blue'&gt;        &amp;lt;&lt;/span&gt;&lt;span style='color:#2B91AF'&gt;xsl:if&lt;/span&gt; &lt;span style='color:red'&gt;test&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;//FeatureName/text()=$extension_name&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;&amp;gt;&lt;/span&gt;
&lt;span style='color:blue'&gt;            &amp;lt;&lt;/span&gt;&lt;span style='color:#2B91AF'&gt;xsl:copy&lt;/span&gt;&lt;span style='color:blue'&gt;&amp;gt;&lt;/span&gt;
&lt;span style='color:blue'&gt;                &amp;lt;&lt;/span&gt;&lt;span style='color:#2B91AF'&gt;xsl:apply-templates&lt;/span&gt; &lt;span style='color:red'&gt;select&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;@*|node()&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;/&amp;gt;&lt;/span&gt;
&lt;span style='color:blue'&gt;            &amp;lt;/&lt;/span&gt;&lt;span style='color:#2B91AF'&gt;xsl:copy&lt;/span&gt;&lt;span style='color:blue'&gt;&amp;gt;&lt;/span&gt;
&lt;span style='color:blue'&gt;        &amp;lt;/&lt;/span&gt;&lt;span style='color:#2B91AF'&gt;xsl:if&lt;/span&gt;&lt;span style='color:blue'&gt;&amp;gt;&lt;/span&gt;
&lt;span style='color:blue'&gt;    &amp;lt;/&lt;/span&gt;&lt;span style='color:#2B91AF'&gt;xsl:template&lt;/span&gt;&lt;span style='color:blue'&gt;&amp;gt;&lt;/span&gt;
&lt;span style='color:blue'&gt;&amp;nbsp;&lt;/span&gt;
&lt;span style='color:blue'&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#2B91AF'&gt;xsl:stylesheet&lt;/span&gt;&lt;span style='color:blue'&gt;&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;This template matches &lt;i&gt;Extension&lt;/i&gt; elements, but only copies them if their name can be found as the contents of a &lt;i&gt;FeatureName&lt;/i&gt; element somewhere in the XML file - hence only used within the layer being processed. It would be used like so:
&lt;pre&gt;&lt;code&gt;transformer removeunusedcalculatedproperties.xslt MyDataModel\*.layer&lt;/code&gt;&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;This has the added benefit of reducing the disk space used by your layer files, but as far as I can tell has no appreciable effect on layer generation times.&lt;/p&gt;
&lt;p&gt;These examples and the source code (of course) are available for download below. You can combine these XSLT transforms into one larger file or create your own to handle your own requirements.&lt;/p&gt;
&lt;p&gt;&lt;quote style="font-size:70%"&gt;
AUTODESK DOES NOT GUARANTEE THAT YOU WILL BE ABLE TO SUCCESSFULLY DOWNLOAD OR IMPLEMENT ANY SAMPLE CODE. SAMPLE CODE IS SUBJECT TO CHANGE WITHOUT NOTICE TO YOU. 
AUTODESK PROVIDES SAMPLE CODE "AS IS" WITHOUT WARRANTY OF ANY KIND, WHETHER EXPRESS OR IMPLIED, INCLUDING WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 
PARTICULAR PURPOSE. IN NO EVENT SHALL AUTODESK OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS 
OF DATA, OR LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, THAT MAY OCCUR AS A RESULT OF IMPLEMENTING OR USING ANY SAMPLE CODE, EVEN IF AUTODESK OR ITS SUPPLIERS 
HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
&lt;/quote&gt;
&lt;/p&gt;
&lt;span class="asset  asset-generic at-xid-6a00d834cd50f869e20120a88c6d66970b"&gt;&lt;a href="http://topobaseinsiders.typepad.com/files/transformer-1.zip"&gt;Download Transformer&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;img src="http://feeds.feedburner.com/~r/TheTopobaseInsiders/~4/xPJszkDpmO4" height="1" width="1"/&gt;</content>



    <feedburner:origLink>http://topobaseinsiders.typepad.com/the_topobase_insiders/2010/02/processing-layers-with-xslt.html</feedburner:origLink></entry>
    <entry>
        <title>Trace Grabber</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheTopobaseInsiders/~3/EPW1fMPtl5o/trace-grabber.html" />
        <link rel="replies" type="text/html" href="http://topobaseinsiders.typepad.com/the_topobase_insiders/2010/01/trace-grabber.html" thr:count="3" thr:updated="2011-12-06T10:15:27-08:00" />
        <id>tag:typepad.com,2003:post-6a00d834cd50f869e201287709cec1970c</id>
        <published>2010-01-24T13:47:20-08:00</published>
        <updated>2010-01-25T08:24:29-08:00</updated>
        <summary>One request that has come up a few times has to do with the use-case of performing a trace and generating a report from the results. For example, this capability would be used to generate mail-merge letters for clients affected...</summary>
        <author>
            <name>Derrick Oswald</name>
        </author>
        
        
<content type="xhtml" xml:lang="en-US" xml:base="http://topobaseinsiders.typepad.com/the_topobase_insiders/"><div xmlns="http://www.w3.org/1999/xhtml"><p>One request that has come up a few times has to do with the use-case of performing a trace and generating a report from the results. For example, this capability would be used to generate mail-merge letters for clients affected by a planned outage.</p>
<p>There are a couple of ways of doing this, both involving a little programming. One way is to generate a Report PlugIn that performs the trace to generate an in memory table against which the report would be run. Unfortunately, this would mean writing a plugin for each trace type required, effectively requiring a re-writing or encapsulation of the existing trace workflow. Another way, and the topic of this post, is to capture the trace results from any trace to a table in Oracle that the report can be run against.</p>
<p>To make the table idea work correctly in the face of a multi-user environment, the trace results would need to be written to a different table for each user, or the table would need user specific fields for each record, or we could take advantage of a cool Oracle capability - a <a href="http://download.oracle.com/docs/cd/B19306_01/server.102/b14231/tables.htm#i1006400">temporary table</a>. A global temporary table is permanent, but the data in it is maintained only for the session, and visible only to the session. This means, each user sees only their own data and the data is erased when the session is disconnected. Perfect.</p>
<p>Even though the full feature data is available in the trace results, it is sufficient to save only the feature ID and the feature class ID in each result row. The report can then retrieve what it needs to write the report - it might not need or want all traced features for example. So, the temporary table creation SQL is:
<pre><code>create global temporary table trace_results
    (fid number(10,0), f_class_id number(10,0))
    on commit preserve rows</code></pre>
which of course only needs to be done once per document.</p>
<p>The real trick is to somehow get hold of the trace results. Start with a <code style="color:#0000FF">DocumentPlugIn</code> and set up a button on the <i>Main Toolbar</i> for the user to press when they want to copy the trace results to the <i>trace_results</i> table. When the button is pressed, access the <code style="color:#0000FF">WorkflowUserPanelDesktop</code> by cycling through the controls in the <code style="color:#0000FF">WorkflowExplorerDesktopFlyIn</code>. From there, access the <code style="color:#0000FF">GeneralWorkflowContainerDesktop</code> that has the trace results in the <code style="color:#0000FF">NetworkTraceResultFeatureExplorerData</code> object in its <i>DataList</i>. It's OK, you probably don't have to understand.</p>
<p>This <code style="color:#0000FF">NetworkTraceResultFeatureExplorerData</code> is the one that has the result features, unfortunately they are inaccessible, since there is no public accessor for them. But, by using reflection the value of the field holding the result list can be obtained. Given the list of features, it's a simple matter to insert the <i>FID</i> and <i>FeatureClass.ID</i> of each element in the list. The supplied code uses array inserts in case there are a lot of features. The Topobase Administrator <i>Report Designer</i> can now be used to create a report that accesses the records in the table.</p>
<a style="float: right;" href="http://topobaseinsiders.typepad.com/.a/6a00d834cd50f869e20120a8071b72970b-popup" onclick="window.open( this.href, '_blank', 'width=640,height=480,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0' ); return false"><img class="asset  asset-image at-xid-6a00d834cd50f869e20120a8071b72970b" style="width: 200px; margin: 0px 0px 5px 5px;" alt="Main Toolbar" src="http://topobaseinsiders.typepad.com/.a/6a00d834cd50f869e20120a8071b72970b-200wi" /></a> 
<p>To use the program, copy the <i>TraceGrabber.dll</i> and <i>TraceGrabber.tbp</i> file to the Topobase Client <i>bin</i> directory. Start Topobase Client and generate graphics. Expose the <i>Main Toolbar</i> by right clicking on the document in the Topobase Explorer and choosing it from the Toolbars submenu of the context menu.</p>
<a style="float: left;" href="http://topobaseinsiders.typepad.com/.a/6a00d834cd50f869e20128770a3c5c970c-popup" onclick="window.open( this.href, '_blank', 'width=640,height=480,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0' ); return false"><img class="asset  asset-image at-xid-6a00d834cd50f869e20128770a3c5c970c" style="width: 200px; margin: 0px 5px 5px 0px;" alt="TraceGrabber" src="http://topobaseinsiders.typepad.com/.a/6a00d834cd50f869e20128770a3c5c970c-200wi" /></a> 
<p>Perform the desired trace, e.g. <i>Find Connected</i>, from the Workflow Explorer. Click on the <i>Trace Grabber</i> buttton. The trace results will be copied to the <i>TRACE_RESULTS</i> table. Use the Report Designer to create your report based on the <i>TRACE_RESULTS</i> table. It's a bit disconcerting because the Topobase Administrator will be using a different session connection and therefore can't see the results, but when the client runs the report it will work.</p>
<p>Of course, source code is supplied, so you can add code that automatically spawns the report when the button is pressed, avoiding the two step process of pressing the button and then running the report. A silly little default report is also included as an example.</p>
<p><quote style="font-size:70%">
AUTODESK DOES NOT GUARANTEE THAT YOU WILL BE ABLE TO SUCCESSFULLY DOWNLOAD OR IMPLEMENT ANY SAMPLE CODE. SAMPLE CODE IS SUBJECT TO CHANGE WITHOUT NOTICE TO YOU. 
AUTODESK PROVIDES SAMPLE CODE "AS IS" WITHOUT WARRANTY OF ANY KIND, WHETHER EXPRESS OR IMPLIED, INCLUDING WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 
PARTICULAR PURPOSE. IN NO EVENT SHALL AUTODESK OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS 
OF DATA, OR LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, THAT MAY OCCUR AS A RESULT OF IMPLEMENTING OR USING ANY SAMPLE CODE, EVEN IF AUTODESK OR ITS SUPPLIERS 
HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
</quote>
</p>
<span class="asset  asset-generic at-xid-6a00d834cd50f869e20128770e4a9f970c"><a href="http://topobaseinsiders.typepad.com/files/tracegrabber-1.zip">Download TraceGrabber for Topobase 2010</a></span>
<br />
<span class="asset  asset-generic at-xid-6a00d834cd50f869e20120a80740ad970b"><a href="http://topobaseinsiders.typepad.com/files/tracegrabber.zip">Download TraceGrabber for Topobase 2011</a></span><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/TheTopobaseInsiders/~4/EPW1fMPtl5o" height="1" width="1" /></div></content>



    <feedburner:origLink>http://topobaseinsiders.typepad.com/the_topobase_insiders/2010/01/trace-grabber.html</feedburner:origLink></entry>
    <entry>
        <title>Enhanced Stylization - Line Styles</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheTopobaseInsiders/~3/Wqn6wm5RvmA/enhanced-stylization-line-styles.html" />
        <link rel="replies" type="text/html" href="http://topobaseinsiders.typepad.com/the_topobase_insiders/2010/01/enhanced-stylization-line-styles.html" thr:count="6" thr:updated="2012-01-19T21:16:55-08:00" />
        <id>tag:typepad.com,2003:post-6a00d834cd50f869e20120a800d9b0970b</id>
        <published>2010-01-23T10:17:40-08:00</published>
        <updated>2010-09-12T02:33:33-07:00</updated>
        <summary>The cartographic stylization engine in Topobase provides far better line stylization than AutoCAD can provide. For example, instead of just a single line with a pattern, thickness and color, you can have multiple lines of various thicknesses, with various embellishments...</summary>
        <author>
            <name>Derrick Oswald</name>
        </author>
        
        
<content type="html" xml:lang="en-US" xml:base="http://topobaseinsiders.typepad.com/the_topobase_insiders/">
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;The cartographic stylization engine in Topobase provides far better line stylization than AutoCAD can provide. For example, instead of just a single line with a pattern, thickness and color, you can have multiple lines of various thicknesses, with various embellishments and different joining and capping options. So, if you forgo fidelity when exporting data to a .dwg, you can take advantage of some excellent capabilities for line symbolization.&lt;/p&gt;
&lt;p&gt;It is assumed that you have added layers using enhanced stylization, or set up the layer templates as described in &lt;a href='http://topobaseinsiders.typepad.com/the_topobase_insiders/2009/09/annotation-layers.html'&gt;Annotation Layers&lt;/a&gt; to automatically use enhanced stylization.&lt;/p&gt;
&lt;a style="float: right;" href="http://topobaseinsiders.typepad.com/.a/6a00d834cd50f869e20120a80130c7970b-popup" onclick="window.open( this.href, '_blank', 'width=640,height=480,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0' ); return false"&gt;&lt;img class="asset  asset-image at-xid-6a00d834cd50f869e20120a80130c7970b" style="width: 200px; margin: 0px 0px 5px 5px;" alt="Standard LineStyles" src="http://topobaseinsiders.typepad.com/.a/6a00d834cd50f869e20120a80130c7970b-200wi" /&gt;&lt;/a&gt; 
&lt;p&gt;Start with a couple of standard line styles, one for a gas pipeline and one for a railway. These are standard linestyles that can be found in acad.lin, the AutoCAD line pattern definition file. They are named GAS_LINE and TRACKS respectively. Each has been given a little line thickness and a color. To be clear, what is shown in the image to the right are not AutoCAD lines, but rather linear features that have been symbolized to look like AutoCAD lines. There are discrepancies; for example, AutoCAD would not thicken the 'GAS' text when a polyline is given a width.&lt;/p&gt;
&lt;p&gt;To put some context to these explorations, let's vary one thing at a time, starting with the geometry for the gas line. Let's say you wanted two parallel lines to run unbroken along each side of the linestring. If you open the pipeline layer file with a text editor you will see something like this (after formatting):
&lt;pre&gt;&lt;code&gt;...
&amp;lt;SimpleSymbolDefinition&amp;gt;
  &amp;lt;Name&amp;gt;GAS_LINE&amp;lt;/Name&amp;gt;
  &amp;lt;Graphics&amp;gt;
    &amp;lt;Path&amp;gt;
      &amp;lt;Geometry&amp;gt;M 6.5,0 l 0.166666666666667,0 M 6.66666666666667,0 ... &amp;lt;/Geometry&amp;gt;
      &amp;lt;LineColor&amp;gt;%LINECOLOR%&amp;lt;/LineColor&amp;gt;
      &amp;lt;LineWeight&amp;gt;%LINEWEIGHT%&amp;lt;/LineWeight&amp;gt;
      &amp;lt;LineWeightScalable&amp;gt;false&amp;lt;/LineWeightScalable&amp;gt;
    &amp;lt;/Path&amp;gt;
    &amp;lt;Path&amp;gt;
      &amp;lt;Geometry&amp;gt;M 0,0 L 5,0 &amp;lt;/Geometry&amp;gt;
      &amp;lt;LineColor&amp;gt;%LINECOLOR%&amp;lt;/LineColor&amp;gt;
      &amp;lt;LineWeight&amp;gt;%LINEWEIGHT%&amp;lt;/LineWeight&amp;gt;
      &amp;lt;LineWeightScalable&amp;gt;false&amp;lt;/LineWeightScalable&amp;gt;
    &amp;lt;/Path&amp;gt;
  &amp;lt;/Graphics&amp;gt;
  &amp;lt;LineUsage&amp;gt;
    &amp;lt;Repeat&amp;gt;9.5&amp;lt;/Repeat&amp;gt;
  &amp;lt;/LineUsage&amp;gt;
...
&lt;/code&gt;&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;The &amp;lt;Geometry&amp;gt; element for the paths are a bunch of M (move to) and L (line to) operations as described in &lt;a href='http://topobaseinsiders.typepad.com/the_topobase_insiders/2009/12/enhanced-stylization.html'&gt;Enhanced Stylization - Flow Direction&lt;/a&gt;, with the added caveat that lower case L means the target coordinates are relative to the current location.&lt;/p&gt; 
&lt;p&gt;The first &amp;lt;Path&amp;gt; element, the complicated one, draws the 'GAS' text and the second &amp;lt;Path&amp;gt; element draws the lines between the text. As I said, this is only an approximation to the linetype in the acad.lin file, so the 'GAS' text is drawn with a whole lot of little segments, and not an embedded shape like in the AutoCAD line style.&lt;/p&gt;
&lt;a style="float: right;" href="http://topobaseinsiders.typepad.com/.a/6a00d834cd50f869e201287704775c970c-popup" onclick="window.open( this.href, '_blank', 'width=640,height=480,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0' ); return false"&gt;&lt;img class="asset  asset-image at-xid-6a00d834cd50f869e201287704775c970c" style="width: 200px; margin: 0px 0px 5px 5px;" alt="Parallel LineStyles" src="http://topobaseinsiders.typepad.com/.a/6a00d834cd50f869e201287704775c970c-200wi" /&gt;&lt;/a&gt; 
&lt;p&gt;The symbolization basically draws a line from 0,0 to 5,0 (the second &amp;lt;Path&amp;gt; element) and then draws a few lines that look like the word 'GAS' within a bounding box of approximately 6.0,-0.5 to 8.6667,0.5 (the first &amp;lt;Path&amp;gt; element), and then repeats the whole process at 9.5 unit intervals (the &amp;lt;Repeat&amp;gt; value). So to draw parallel lines above and below the 'GAS' text, one would have to offset them more than 0.5 units, say 0.7 units, and to make them look continuous they would need to be 9.5 units long, so that the repetition by the next symbolization will join with the first.&lt;/p&gt;
&lt;p&gt;Thus, we modify the second &amp;lt;Path&amp;gt; &amp;lt;Geometry&amp;gt; element to be two lines:
&lt;pre&gt;&lt;code&gt;      &amp;lt;Geometry&amp;gt;M 0,0.7 L 9.5,0.7 M 0,-0.7 L 9.5,-0.7&amp;lt;/Geometry&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
which gives the result shown to the right.&lt;/p&gt;
&lt;p&gt;If you're not happy with the font of the 'GAS' text either (really, who uses STANDARD text anymore), you can replace the drawn text with a real piece of text. The &amp;lt;Text&amp;gt; element has a lot of options. You will need a &amp;lt;Content&amp;gt; element with the word 'GAS' in it and a &amp;lt;FontName&amp;gt; element with a valid font name like 'Swiss 721 Black BT'. The available font names can be obtained from the list shown in the Windows Control Panel by double-clicking the Fonts icon.&lt;/p&gt;
&lt;p&gt;Beyond that, to emulate the existing style we will need a &amp;lt;Height&amp;gt; element to set the height to 1.0, and &amp;lt;PositionX&amp;gt; and &amp;lt;PositionY&amp;gt; elements to set the position. The default horizontal alignment mode is &lt;i&gt;Center&lt;/i&gt; and the default vertical alignment mode is &lt;i&gt;Halfline&lt;/i&gt;, so the necessary position coordinates are 7.33335,0.0 (in the middle of the bounding box of the original text). To set the font color to be the same as the line color, add a &amp;lt;TextColor&amp;gt element with a value of &lt;i&gt;%LINECOLOR%&lt;/i&gt; so that setting the line color also sets the text color.&lt;/p&gt;
&lt;a style="float: right;" href="http://topobaseinsiders.typepad.com/.a/6a00d834cd50f869e20120a8018304970b-popup" onclick="window.open( this.href, '_blank', 'width=640,height=480,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0' ); return false"&gt;&lt;img class="asset  asset-image at-xid-6a00d834cd50f869e20120a8018304970b" style="width: 200px; margin: 0px 0px 5px 5px;" alt="Font LineStyle" src="http://topobaseinsiders.typepad.com/.a/6a00d834cd50f869e20120a8018304970b-200wi" /&gt;&lt;/a&gt; 
So the first &amp;lt;Path&amp;gt; element is replaced with:
&lt;pre&gt;&lt;code&gt;&amp;lt;Text&amp;gt;
  &amp;lt;Content&amp;gt;'GAS'&amp;lt;/Content&amp;gt;
  &amp;lt;FontName&amp;gt;'Swiss 721 Black BT'&amp;lt;/FontName&amp;gt;
  &amp;lt;Height&amp;gt;1.0&amp;lt;/Height&amp;gt;
  &amp;lt;PositionX&amp;gt;7.33335&amp;lt;/PositionX&amp;gt;
  &amp;lt;PositionY&amp;gt;0.0&amp;lt;/PositionY&amp;gt;
  &amp;lt;TextColor&amp;gt;%LINECOLOR%&amp;lt;/TextColor&amp;gt;
&amp;lt;/Text&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
which gives the result shown to the right.&lt;/p&gt;
&lt;p&gt;If the 'GAS' text repeats too often, the repeat interval can be extended, say to 20, but then the path elements for the (parallel) lines and probably the position elements for the text would also need to be altered.&lt;/p&gt;
&lt;p&gt;Turning now to the railway line style, if we wanted to have the symbolization look more like train tracks, we could also change the single central line to a double parallel line as above. Opening the railway layer file you find symbolization like this:
&lt;pre&gt;&lt;code&gt;&amp;lt;Graphics&amp;gt;
  &amp;lt;Path&amp;gt;
    &amp;lt;Geometry&amp;gt;M 1.5,0 l 0,2.5 M 1.5,0 l 0,-2.5 &amp;lt;/Geometry&amp;gt;
    &amp;lt;LineColor&amp;gt;%LINECOLOR%&amp;lt;/LineColor&amp;gt;
    &amp;lt;LineWeight&amp;gt;%LINEWEIGHT%&amp;lt;/LineWeight&amp;gt;
    &amp;lt;LineWeightScalable&amp;gt;false&amp;lt;/LineWeightScalable&amp;gt;
  &amp;lt;/Path&amp;gt;
  &amp;lt;Path&amp;gt;
    &amp;lt;Geometry&amp;gt;M 0,0 L 1.5,0 M 1.5,0 L 3,0 &amp;lt;/Geometry&amp;gt;
    &amp;lt;LineColor&amp;gt;%LINECOLOR%&amp;lt;/LineColor&amp;gt;
    &amp;lt;LineWeight&amp;gt;%LINEWEIGHT%&amp;lt;/LineWeight&amp;gt;
    &amp;lt;LineWeightScalable&amp;gt;false&amp;lt;/LineWeightScalable&amp;gt;
  &amp;lt;/Path&amp;gt;
&amp;lt;/Graphics&amp;gt;
&amp;lt;LineUsage&amp;gt;
  &amp;lt;Repeat&amp;gt;3&amp;lt;/Repeat&amp;gt;
&amp;lt;/LineUsage&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/p&gt;
&lt;a style="float: right;" href="http://topobaseinsiders.typepad.com/.a/6a00d834cd50f869e20120a8019bc9970b-popup" onclick="window.open( this.href, '_blank', 'width=640,height=480,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0' ); return false"&gt;&lt;img class="asset  asset-image at-xid-6a00d834cd50f869e20120a8019bc9970b" style="width: 200px; margin: 0px 0px 5px 5px;" alt="Rails LineStyle" src="http://topobaseinsiders.typepad.com/.a/6a00d834cd50f869e20120a8019bc9970b-200wi" /&gt;&lt;/a&gt; 
&lt;p&gt;The first &amp;lt;Path&amp;gt; element draws the railway ties 2.5 units to left and right, while the second &amp;lt;Path&amp;gt; element draws the central line (actually in two segments, but this is redundant). So, let's change the central line to be two parallel lines offset by 1.9. Then the second path &amp;lt;Geometry&amp;gt; element becomes:
&lt;pre&gt;&lt;code&gt;&amp;lt;Geometry&amp;gt;M 0,1.9 L 3.0,1.9 M 0,-1.9 L 3,-1.9&amp;lt;/Geometry&amp;gt;
&lt;/pre&gt;&lt;/code&gt;
which gives the results on the right.&lt;/p&gt;
&lt;p&gt;Although it's possible to increase the line thickness so that the railway ties look like railway ties, this would also thicken the railway rails. To get thick railway ties without thick rails one can change the geometry of the first path to outline the ties as rectangles with a thickness of 0.6:
&lt;pre&gt;&lt;code&gt;&amp;lt;Geometry&amp;gt;M 1.2,0 l 0,2.5 l 0.6,0 l 0,-5 l -0.6,0 Z&amp;lt;/Geometry&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
The result is shown to the right.&lt;/p&gt;
&lt;a style="float: right;" href="http://topobaseinsiders.typepad.com/.a/6a00d834cd50f869e20120a801bac3970b-popup" onclick="window.open( this.href, '_blank', 'width=640,height=480,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0' ); return false"&gt;&lt;img class="asset  asset-image at-xid-6a00d834cd50f869e20120a801bac3970b" style="width: 200px; margin: 0px 0px 5px 5px;" alt="Hollow Ties LineStyle" src="http://topobaseinsiders.typepad.com/.a/6a00d834cd50f869e20120a801bac3970b-200wi" /&gt;&lt;/a&gt; 
&lt;p&gt;To fill the outline though, a few more tricks are required. First, a &amp;lt;FillColor&amp;gt; element must be added to the path for the railway ties, so the final &amp;lt;Path&amp;gt; element is as follows:
&lt;pre&gt;&lt;code&gt;&amp;lt;Path&amp;gt;
  &amp;lt;Geometry&amp;gt;M 1.2,0 l 0,2.5 l 0.6,0 l 0,-5 l -0.6,0 Z&amp;lt;/Geometry&amp;gt;
  &amp;lt;LineColor&amp;gt;%LINECOLOR%&amp;lt;/LineColor&amp;gt;
  &amp;lt;LineWeight&amp;gt;%LINEWEIGHT%&amp;lt;/LineWeight&amp;gt;
  &lt;b&gt;&amp;lt;FillColor&amp;gt;%FILLCOLOR%&amp;lt;/FillColor&amp;gt;&lt;/b&gt;
  &amp;lt;LineWeightScalable&amp;gt;false&amp;lt;/LineWeightScalable&amp;gt;
&amp;lt;/Path&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;/p&gt;
&lt;p&gt;Then the &lt;i&gt;FILLCOLOR&lt;/i&gt; parameter must be itemized in the &amp;lt;ParameterDefinition&amp;gt; element. This &amp;lt;Parameter&amp;gt; element can be copied from a point layer that already has this element.
&lt;pre&gt;&lt;code&gt;&amp;lt;Parameter&amp;gt;
  &amp;lt;Identifier&amp;gt;FILLCOLOR&amp;lt;/Identifier&amp;gt;
  &amp;lt;DefaultValue&amp;gt;0xffffffff&amp;lt;/DefaultValue&amp;gt;
  &amp;lt;DisplayName&amp;gt;&amp;amp;Fill Color&amp;lt;/DisplayName&amp;gt;
  &amp;lt;Description&amp;gt;Fill Color&amp;lt;/Description&amp;gt;
  &amp;lt;DataType&amp;gt;FillColor&amp;lt;/DataType&amp;gt;
&amp;lt;/Parameter&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;/p&gt;
&lt;a style="float: right;" href="http://topobaseinsiders.typepad.com/.a/6a00d834cd50f869e20120a801c4ef970b-popup" onclick="window.open( this.href, '_blank', 'width=640,height=480,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0' ); return false"&gt;&lt;img class="asset  asset-image at-xid-6a00d834cd50f869e20120a801c4ef970b" style="width: 200px; margin: 0px 0px 5px 5px;" alt="Filled Ties LineStyle" src="http://topobaseinsiders.typepad.com/.a/6a00d834cd50f869e20120a801c4ef970b-200wi" /&gt;&lt;/a&gt; 
&lt;p&gt;Finally, in order to be able to set the parameter from the &lt;i&gt;Style and Label Editor&lt;/i&gt; user interface, the &amp;lt;ParameterOverrides&amp;gt; element needs to have an additional &amp;lt;Override&amp;gt; element to set the fill color for the linestyle:
&lt;pre&gt;&lt;code&gt;&amp;lt;Override&amp;gt;
  &amp;lt;SymbolName&amp;gt;TRACKS&amp;lt;/SymbolName&amp;gt;
  &amp;lt;ParameterIdentifier&amp;gt;FILLCOLOR&amp;lt;/ParameterIdentifier&amp;gt;
  &amp;lt;ParameterValue&amp;gt;0xFFFF0000&amp;lt;/ParameterValue&amp;gt;
&amp;lt;/Override&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
The results are shown to the right.&lt;/p&gt;
&lt;p&gt;At this point you can click on the &lt;i&gt;Expression&lt;/i&gt; builder for the &lt;i&gt;FillColor&lt;/i&gt; parameter and create an expression to stylize the fill color value of the ties. For example you might want to theme the ties based on material.
&lt;a style="float: right;" href="http://topobaseinsiders.typepad.com/.a/6a00d834cd50f869e201287705109c970c-popup" onclick="window.open( this.href, '_blank', 'width=640,height=480,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0' ); return false"&gt;&lt;img class="asset  asset-image at-xid-6a00d834cd50f869e201287705109c970c" style="width: 200px; margin: 0px 0px 5px 5px;" alt="Expression" src="http://topobaseinsiders.typepad.com/.a/6a00d834cd50f869e201287705109c970c-200wi" /&gt;&lt;/a&gt;
The expression shown on the right would provide that. The &lt;i&gt;LOOKUP&lt;/i&gt; function has a first parameter of the attribute to use (TIE) and a second parameter of the default (0xFFFF0000) color. Note that the color format is &lt;i&gt;0x&lt;/i&gt; to indicate a hexadecimal value followed by two hexadecimal characters for each of alpha, red, green and blue values. So, in this example, the first &lt;i&gt;FF&lt;/i&gt; indicates a fully opaque alpha, and the second &lt;i&gt;FF&lt;/i&gt; is full red, and the following two pairs of zeros indicate no green or blue, so the color is red like the outline lines. The rest of the parameters to &lt;i&gt;LOOKUP&lt;/i&gt; are index and value pairs. In this case, if the TIE attribute is 'Concrete' then use 0xFF00FF00 (full alpha, no red, full green and no blue), and if it is 'Wood' then use 0xFF0000FF (full alpha, no red or  green and full blue) - green for concrete and blue for wood. By setting the alpha values to smaller values (e.g. 77) you can get transparent fills. The point symbol in the images in this post has a value of CC for alpha.&lt;/p&gt;
&lt;p&gt;This is the symbolization for wood ties:
&lt;a style="display: inline;" href="http://topobaseinsiders.typepad.com/.a/6a00d834cd50f869e2012877055230970c-popup" onclick="window.open( this.href, '_blank', 'width=640,height=480,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0' ); return false"&gt;&lt;img class="asset  asset-image at-xid-6a00d834cd50f869e2012877055230970c" style="width: 600px; " alt="Themed Rails LineStyle" src="http://topobaseinsiders.typepad.com/.a/6a00d834cd50f869e2012877055230970c-600wi" /&gt;&lt;/a&gt; &lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;The resulting layer files are available for download, in case they might be useful as an example.&lt;/p&gt;
&lt;p&gt;&lt;quote style="font-size:70%"&gt;
AUTODESK DOES NOT GUARANTEE THAT YOU WILL BE ABLE TO SUCCESSFULLY DOWNLOAD OR IMPLEMENT ANY SAMPLE CODE. SAMPLE CODE IS SUBJECT TO CHANGE WITHOUT NOTICE TO YOU. 
AUTODESK PROVIDES SAMPLE CODE "AS IS" WITHOUT WARRANTY OF ANY KIND, WHETHER EXPRESS OR IMPLIED, INCLUDING WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 
PARTICULAR PURPOSE. IN NO EVENT SHALL AUTODESK OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS 
OF DATA, OR LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, THAT MAY OCCUR AS A RESULT OF IMPLEMENTING OR USING ANY SAMPLE CODE, EVEN IF AUTODESK OR ITS SUPPLIERS 
HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
&lt;/quote&gt;
&lt;/p&gt;

&lt;span class="asset  asset-generic at-xid-6a00d834cd50f869e20128770553be970c"&gt;&lt;a href="http://topobaseinsiders.typepad.com/files/sample-display-model.zip"&gt;Download Sample Display Model&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;img src="http://feeds.feedburner.com/~r/TheTopobaseInsiders/~4/Wqn6wm5RvmA" height="1" width="1"/&gt;</content>



    <feedburner:origLink>http://topobaseinsiders.typepad.com/the_topobase_insiders/2010/01/enhanced-stylization-line-styles.html</feedburner:origLink></entry>
 
</feed><!-- ph=1 -->

