<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>tmackinnon.com &#187; Remote Sensing</title>
	<atom:link href="http://tmackinnon.com/x/rs/feed" rel="self" type="application/rss+xml" />
	<link>http://tmackinnon.com</link>
	<description>Geomatics helps you discover our world</description>
	<lastBuildDate>Thu, 26 Jan 2012 12:10:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Geologic Application of RadarSat S2 Mode Data in Northern Nova Scotia</title>
		<link>http://tmackinnon.com/geologic-application-of-radarsat-s2-mode-data-in-northern-nova-scotia.php</link>
		<comments>http://tmackinnon.com/geologic-application-of-radarsat-s2-mode-data-in-northern-nova-scotia.php#comments</comments>
		<pubDate>Mon, 18 Feb 2008 00:55:42 +0000</pubDate>
		<dc:creator>T MacKinnon</dc:creator>
				<category><![CDATA[ERDAS]]></category>
		<category><![CDATA[RADARSAT]]></category>
		<category><![CDATA[COGS]]></category>
		<category><![CDATA[Geology]]></category>
		<category><![CDATA[Nova Scotia]]></category>
		<category><![CDATA[S2 Mode]]></category>

		<guid isPermaLink="false">http://tmackinnon.com/?p=453</guid>
		<description><![CDATA[Poster created for a paper and presentation on a project used RADARSAT S2 beam mode SAR imagery and ERDAS Imagine .]]></description>
			<content:encoded><![CDATA[<script type="text/javascript">(function() {var s = document.createElement('SCRIPT'), s1 = document.getElementsByTagName('SCRIPT')[0];s.type = 'text/javascript';s.async = true;s.src = 'http://widgets.digg.com/buttons.js';s1.parentNode.insertBefore(s, s1);})();</script><a class="DiggThisButton DiggCompact" href="http://digg.com/submit?url=http%3A%2F%2Ftmackinnon.com%2Fgeologic-application-of-radarsat-s2-mode-data-in-northern-nova-scotia.php"></a><p>The following image is a photo representation of a larger poster that I made along with Blair Sangster at COGS in March of 1999. The project also included a <a href="http://tmackinnon.com/2005/rs/satellites/radarsat/geologic-application-of-radarsat-s2-mode-data.php">detailed paper</a> and presentation that was presented at the Center of Geographic Sciences Auditorium, in Lawrencetown Nova Scotia.</p>
<p>The project used RADARSAT S2 beam mode SAR imagery and ERDAS Imagine .</p>
<p><img class="alignnone" title="Geologic Application of RadarSat S2 Mode Data in Northern Nova Scotia" src="http://tmackinnon.com/2005/posters/erdas1-b.jpg" alt="" width="515" height="334" /></p>
<p>Related posts:<ol>
<li><a href='http://tmackinnon.com/geologic-application-of-radarsat-s2-mode-data.php' rel='bookmark' title='Geologic Application of RadarSat S2 Mode Data'>Geologic Application of RadarSat S2 Mode Data</a></li>
<li><a href='http://tmackinnon.com/finemodes.php' rel='bookmark' title='RADARSAT Fine Mode Imagery'>RADARSAT Fine Mode Imagery</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://tmackinnon.com/geologic-application-of-radarsat-s2-mode-data-in-northern-nova-scotia.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Geologic Application of RadarSat S2 Mode Data</title>
		<link>http://tmackinnon.com/geologic-application-of-radarsat-s2-mode-data.php</link>
		<comments>http://tmackinnon.com/geologic-application-of-radarsat-s2-mode-data.php#comments</comments>
		<pubDate>Sun, 17 Feb 2008 23:52:48 +0000</pubDate>
		<dc:creator>T MacKinnon</dc:creator>
				<category><![CDATA[RADARSAT]]></category>
		<category><![CDATA[Antigonish]]></category>
		<category><![CDATA[COGS]]></category>
		<category><![CDATA[ERDAS]]></category>
		<category><![CDATA[Geology]]></category>
		<category><![CDATA[Nova Scotia]]></category>

		<guid isPermaLink="false">http://tmackinnon.com/?p=430</guid>
		<description><![CDATA[RADARSAT images can provide geologists with an exceptional and correlative data source with respect to geological contacts, structures, and lineaments. This project is an attempt to provide some distinct examples of various geological structures in Nova Scotia that can easily be detected using RADARSAT imagery. Since Nova Scotia is a well-mapped and explored area, geological and geophysical data is easily accessible to accompany the radar data. RADARSAT imagery is especially ...]]></description>
			<content:encoded><![CDATA[<script type="text/javascript">(function() {var s = document.createElement('SCRIPT'), s1 = document.getElementsByTagName('SCRIPT')[0];s.type = 'text/javascript';s.async = true;s.src = 'http://widgets.digg.com/buttons.js';s1.parentNode.insertBefore(s, s1);})();</script><a class="DiggThisButton DiggCompact" href="http://digg.com/submit?url=http%3A%2F%2Ftmackinnon.com%2Fgeologic-application-of-radarsat-s2-mode-data.php"></a><p style="text-align: justify;">The following is the content from a joint paper that I co-authored with Blair Sangster at COGS in March of 1999. The project also included a presentation that was presented at the Center of Geographic Sciences Auditorium, in Lawrencetown Nova Scotia and a large plotted <a href="http://tmackinnon.com/2005/rs/satellites/radarsat/geologic-application-of-radarsat-s2-mode-data-in-northern-nova-scotia.php">poster</a>.</p>
<h2 style="text-align: justify;"><span style="color: #800000;">Introduction</span></h2>
<p style="text-align: justify;">In 1995 the Canadian remote sensing society welcomed RadarSat, a microwave sensing satellite with HH polarization. RadarSat was launched and achieved a near polar orbit of 768 km. The sensor is capable of operating in seven different beam modes. This ability to change beam modes provides Canadians a number of choices in terms of the variation in resolution (10 to 100 km), scene area (50 x 50 to 500 x 500 km swath) and the incidence angles used (10 to 60<sup>o</sup>). RadarSat International offered new technology that could provide complete global coverage with the versatility to support various specific observation requirements.</p>
<p style="text-align: justify;">RADARSAT images can provide geologists with an exceptional and correlative data source with respect to geological contacts, structures, and lineaments. This project is an attempt to provide some distinct examples of various geological structures in Nova Scotia that can easily be detected using RADARSAT imagery. Since Nova Scotia is a well-mapped and explored area, geological and geophysical data is easily accessible to accompany the radar data. RADARSAT imagery is especially appropriate for mapping in unexplored or unmapped regions, because of the geological structure, surficial bedrock and lineaments information it provides. By studying the geological structures of a known area, such as Nova Scotia, one can become more familiar with the skills and techniques needed to discover geologic situations in areas of unmapped regions using radar.</p>
<h2><span style="color: #800000;">Radar</span></h2>
<p style="text-align: justify;">Radar images are single frequency C-band representations that highlights variations of roughness, relief, and moisture levels in the terrain. The images are monochromatic (black and white) representations and do not contain the multi-spectral component necessary for creating false-color composites (such as LandSat TM). The brightness of a pixel is directly related to the reflectance of the object that it portrays. RADARSAT contains one spectral band that is derived from the portion of the spectrum which the human eye is unable to detect. This microwave wavelength (5.6cm) is capable of imaging the earth during virtually any atmospheric condition (day or night), to provide a clear monochromatic image of the Earth&#8217;s surface.</p>
<p style="text-align: justify;">The radar image is a result of microwave energy that is transmitted down to the surface from the satellite and reflected directly back to the sensor upon contact. The amount of energy returning to the sensor (known as backscatter) is dependent upon the topography, roughness, and dielectric properties (moisture). Areas of an image with low backscatter appear dark (such as water), while areas of high backscatter appear as light gray levels approximating white shades. By interpreting the various gray tones, textures and patterns, the user can detect information regarding to the regions geologic lithology and structure.</p>
<p style="text-align: justify;"><img style=' float: left; padding: 4px; margin: 0 7px 2px 0;'  class="alignleft" src="http://tmackinnon.com/2005/rs/satellites/erdasRS2/RS2_Image1.jpg" alt="RADARSAT S2 Image of Antigonish, Nova Scotia" /><br />
<span style="font-family: Arial;">Figure 1. The backscatter, (energy returned to the sensor) is dependent on the material in which it contacts. Topography, roughness and dielectric properties all effect the amount of backscatter that will be experienced by the sensor. The pixels within the red circle represents water, where most of the energy is reflected and it will appear black (no or little return). Turbulent water returns some backscatter in an image with a steep incidence angle (such as S2) and is represented in the green circle. The blue circle represents a rough topographic region that reflects a large amount of the original energy allows the image to appear white (diffuse reflectors) in this area.</span></p>
<p style="text-align: justify;">RADARSAT is an active sensor, which sends its own signals down to the surface and processes the returned signals. The wavelengths are longer and are better suited for atmospheric penetration, collecting data regardless of the conditions. This ability of RADARSAT provides the user with a significant advantage when it comes to viewing under various atmospheric conditions.</p>
<p><img style=' float: right; padding: 4px; margin: 0 0 2px 7px;'  class="alignright" src="http://tmackinnon.com/2005/rs/satellites/erdasRS2/RS2_Image2.jpg" alt="RADARSAT beam diagram" width="273" height="171" /> <span style="font-family: Arial;">Figure 2. The active beam is transmitted down to the surface (A) and is returned to the satellite (B) once the target is reached. The backscatter is dispersed in various directions (C) depending on the substance of the material and the incidence angle of the beam mode. </span></p>
<p style="text-align: justify;">RADARSAT is different from optical sensors such as LandSat or SPOT by the type of data that it acquires and the method in which it is collected. Optical systems are passive systems, they rely on reflected energy (sunlight) in order to obtain imagery. Unlike RADARSAT, optical sensors are unable to collect data in various atmospheric conditions such as cloud cover, fog, dust, or smoke . The short wavelengths of optical bands are similar in size to atmospheric particles and water droplets and are thus reflected and deflected when interrupted in the atmosphere. This same principle called Raleigh scattering cause the suns blue light 400nm <span style="font-family: Symbol;">l </span>to bounce about in the atmosphere making the sky appear blue. RadarSat&#8217;s longer wavelength of 5.6cm is long enough to never be impeded by atmospheric conditions.</p>
<p style="text-align: center;">RadarSat is equipped with seven different beam modes (containing 35 different beam positions in all), which offers image resolutions ranging from 8 to 100 meters and is designed to be capable of using various incidence angles (10-60<sup>0</sup>).</p>
<p><img style=' display: block; margin-right: auto; margin-left: auto;'  class="aligncenter" src="http://tmackinnon.com/2005/rs/satellites/erdasRS2/RS2_Image3.gif" alt="various beam positions available from RADARSAT" width="424" height="217" /></p>
<p style="text-align: justify;">Figure 3. The various beam positions available from RADARSAT allow the user to obtain data with various resolutions and incidence angles.</p>
<p style="text-align: justify;">Radar is sensitive to the detection of lineaments, joints, faults and shear zones because of its side-looking configuration (SAR), and can provide detailed information about the subtle changes a terrain&#8217;s relief. It brightens the sensor-facing slopes of ridges while accentuating the lee slopes with a shadow giving the user a clear view of the relief. With some knowledge of the study area, and the other data sets such as geophysical, geological and DEM&#8217;s, the geologist can draw some accurate geological assumptions.</p>
<h2><span style="color: #800000;">INTERPRETATIONS</span></h2>
<h2><span style="color: #800000;">Lineaments</span></h2>
<p style="text-align: justify;">RADARSAT highlights linear elements (known as lineaments) of an image which are not parallel to the look direction. Lineaments may be human-induced, geomorphological or structural in origin. Power-lines, railroads and roads are some basic examples of man-made lineaments. Eskers, drumlins, sinkholes, and dunes are some examples of geomorphologic lineaments. Lithological changes and various tectonic and seismic activities (e.g. faults) are represented by structural geologic lineaments.</p>
<p style="text-align: justify;">Bedrock faulting can produce a unique set of surficial characteristics that may provide information about the type of fault and it&#8217;s relative age. Other examples of faults are often indicated by sharp breaks in the topography or the lithology of the area. This is often easily detected from the radar image but can be more difficult if there is a lack of topography or a large thick layer of overburden covering the various lithological units in the area.</p>
<p style="text-align: justify;">Examples of Lineaments due to faulting can be easily detected from a radar image of the Arasaig, Nova Scotia area, located within the Antigonish Highlands. The lithology in this area consists of Ordovician Volcanic rocks overlain by rich fossiliferous sedimentary rocks deposited during an Early Silurian sea. The Silurian and the above Devonian sandstones are highly displaced in many areas due to the subsequent faulting that occurred fromthe faulting of the Hollow fault.</p>
<p><img src="http://tmackinnon.com/2005/rs/satellites/erdasRS2/RS2_Image4.jpg" alt="Major faults of the Antigonish Highlands (shown in red over the geology map) are easily detected in the corresponding S2 RADARSAT image" /><br />
<span style="font-family: Arial;">Figure 4. The Major faults of the Antigonish Highlands (shown in red over the geology map) are easily detected in the corresponding S2 RADARSAT image (located on the left).</span></p>
<p style="text-align: justify;">Cape Breton Island is a petrologist or geologists paradise, it is part of the Appalachian Orogen that can be divided into four distinct tectonostratigraphic terranes (the Blair River Inlier, the Aspy terrane, the Bras D&#8217;or terrane,<br />
and the Mira terrane. The lithological rock units range from highly volcanic, various metamorphic facies and an abundance of sedimentary suites. The terrain of the island is highly varied and ranges from the steep Highland<br />
mountainous regions to the north to the lower highly glaciated areas to the south.</p>
<p style="text-align: justify;">The Aspy terrane is known to consist of Ordovician to Silurian volcanic and sedimentary rocks containing large regions of units that were metamorphosed during the Silurian. The SAR ability of RADARSAT allows the geologist to depict changes in the lithology easily, especially when the terrain is varied in height such as the Cape Breton Highlands.</p>
<p style="text-align: justify;">The user should note that with SAR foreshortening, shadow and layover often occurs and can an inexperienced user a false impression of the topography in a region. The layover, foreshortening and shadow can make it difficult<br />
to estimate the dip of the slope. In some cases, foreshortening can enhance slight changes in shapes and can be an efficient method for joining particular segments of a fault or shear zone into one local lineament.</p>
<p style="text-align: justify;">The Bras D&#8217;or terrane contains low-pressure metamorphic and sedimentary rocks with large regions of subduction zone related dioritic, granodioritic and granitoid plutons that are typical of an Andean type continental margin.<br />
This terrane was thrusted over the Aspy terrane which is located to the north of it. The boundary between these two Appalachian terranes is a major mylonitic shear zone known as the Eastern Highlands shear zone.</p>
<p><img style=' float: left; padding: 4px; margin: 0 7px 2px 0;'  class="alignleft" src="http://tmackinnon.com/2005/rs/satellites/erdasRS2/RS2_Image5.jpg" alt="The green circle represents a large unit of undifferentiated gneiss and schist derived from the Basement Complex and the George River Group. The Blue circle represents a Cambrian granitoid ridge. The yellow area is a basin that consists of various Carboniferous Horton Group sedimentary rocks." width="417" height="181" /> <span style="font-family: Arial;">Figure 5. The Aspy terrane and the Bras D&#8217;or are easily separated after detecting the Eastern Highland Shear Zone (approximated by the purple line). The shear zone leads to other faulting that is easily detected on the image (shown by the red lines)The separation<br />
between the two terranes can easily be traced through Cape Breton and can be later detected in Newfoundland. Change in lithological units can easily be detected and can lead to future investigation of not so well mapped areas. The green circle represents a large unit of undifferentiated gneiss and schist derived from the Basement Complex and the George River Group. The Blue circle represents a Cambrian granitoid ridge. The yellow area is a basin that consists of various Carboniferous Horton Group sedimentary<br />
rocks.</span></p>
<h2><span style="color: #800000;">Exposed Bedrock</span></h2>
<p style="text-align: justify;">RADARSAT images can provide information on exposed bedrock, areas of vegetation, and areas with various amounts of overburden. The dominant criteria determining how a given outcrop will appear in a radar image is its surface texture. Rocks tend to erode distinctly different from one another, resulting in a unique roughness that can be easily distinguishable in most radar imagery due to the heterogeneous amount of backscatter.</p>
<p style="text-align: justify;">RADRARSAT has the ability to image different rock units is a result of its (SAR) side-looking configuration, which highlights topographic relief. Geological units can be identified by the unique textures, shapes, and gray tones in the radar imagery. Geologists can then use the image to detect small-scale geologic structures, erosion patterns, and subtle relief features.</p>
<p style="text-align: justify;">Areas that lack vegetation like in the Canso area allow the surficial bedrock to be easily detected on a RADARSAT S2 image. The granites are easily distinguishable from the Cambrian-Early Ordovician Meguma Group metamorphic rocks. Adding a DEM and geology to the image enhances the already identifiable rock units on the radar image.</p>
<p style="text-align: justify;"><img style=' float: left; padding: 4px; margin: 0 7px 2px 0;'  class="alignleft" src="http://tmackinnon.com/2005/rs/satellites/erdasRS2/RS2_Image6.jpg" alt="Canso, Nova Scotia" width="373" height="189" /><br />
<span style="font-family: Arial;">Figure 6. The Early Carboniferous-Devonian granite plutons out-cropping in the Canso area (represented by the yellow star) are easily enhanced by adding a DEM and geological bedrock map to<br />
the radar image.</span></p>
<p style="text-align: justify;"><span style="font-family: Arial;"> </span></p>
<p style="text-align: justify;"><span style="font-family: Arial;"> </span></p>
<h2><span style="color: #800000;">Structural and Lithological differences</span></h2>
<p style="text-align: justify;"><span style="font-family: Arial;">The Windsor Group Carboniferous sedimentary units, located in the Whycocomagh area are part of a structural complication known as an extensional basin created by conjugate normal strike-slip faulting. The pull apart extensional basin is often referred to as a graben structure. The faulting of the crustal blocks are often due to movement in the lithosphere and usual occur in unstable rock units that are easier to break such as Carbonate rocks.</span></p>
<p style="text-align: justify;"><img style=' float: right; padding: 4px; margin: 0 0 2px 7px;'  class="alignright" src="http://tmackinnon.com/2005/rs/satellites/erdasRS2/RS2_Image7.jpg" alt="The schematic plan-view and cross section displays the basic structure of an extensional pull apart basin. The double conjugate normal faults come together to create what geologists refer to as a graben." /><br />
<span style="font-family: Arial;">Figure 7. The schematic plan-view and cross section displays the basic structure of an extensional pull apart basin. The double conjugate normal faults come together to create what geologists refer to as a graben.</span></p>
<p style="text-align: justify;">The Graben structure discussed above and shown by the cartoon in figure 7 is clearly visible on the RADARSAT imagery. In the same image a synformal structure is easily detected. The highly deformed and folded Carboniferous sedimentary rocks with exposed vertical or reclined limbs are good evidence for further study of the tectonic regional geology in this area.</p>
<p style="text-align: justify;"><img style=' float: left; padding: 4px; margin: 0 7px 2px 0;'  class="alignleft" src="http://tmackinnon.com/2005/rs/satellites/erdasRS2/RS2_Image8.jpg" alt="A schematic cross section sketch demonstrating the basic structure of an antiformal (blue arrow) and a synformal fold (green arrow)." width="270" height="116" /><br />
<span style="font-family: Arial;">Figure 8. A schematic cross section sketch demonstrating the basic structure of an antiformal (blue arrow) and a synformal fold (green arrow). The RADARSAT image in figure 9 circled in blue is believed to be a synformal structure that would have originated from a structure similar to this one.</span></p>
<p><img style=' float: right; padding: 4px; margin: 0 0 2px 7px;'  class="alignright" src="http://tmackinnon.com/2005/rs/satellites/erdasRS2/RS2_Image9.jpg" alt="The synformal discussed above is shown inside the blue circle. The star represents the center of the extensional pull-apart basin (with the limbs represented by red lines) also discussed above." /> <span style="font-family: Arial;">Figure 9. The synformal discussed above is shown inside the blue circle. The star represents the center of the extensional pull-apart basin (with the limbs represented by red lines) also discussed above.</span></p>
<h3><span style="color: #800000;">Speckle</span></h3>
<p>RADARSAT imagery is commonly characterized by the presence of a &#8220;salt and pepper&#8221; granular like appearance known as speckle and often occurs in most of or throughout the whole image. This is mainly caused by the sensor, which is transmitting numerous pulses for a given region at the same time. The pulses are then reflected from the many scattering points within the resolution<span style="font-family: Arial;"> </span>cell (pixel). The continual motion of the satellite causes each received pulse to be slightly shifted and can result in a speckle appearance.</p>
<p>The presence of speckle in the image can decrease the resolution and reduce the amount of detail that the human eye can depict. The amount of speckle can be controlled during the initial image processing stage. The user should be careful that important information is not lost when attempting to remove speckle from an image.</p>
<h3><span style="color: #800000;">Speckle Removal</span></h3>
<p style="text-align: justify;">The most common method of removing speckle is by filtering the image. This technique utilizes various methods of pixel averaging in order to smooth out the salt and pepper appearance from the image. There are many filters designed to reduce the speckled appearance in the images. The important thing to note when selecting a filter is that while you want the speckle to be reduced you do not want to lose any valuable data.</p>
<p style="text-align: justify;">Mean and median filters are examples of non-adaptive filters that can be used to remove the speckle appearance and the Frost and Gamma-Map filters are examples of adaptive filters. The adaptive filters can smooth speckled areas while preserving important detail.</p>
<h3><span style="color: #800000;">Mean Filter</span></h3>
<p style="text-align: justify;">The Mean filter is a rather simple calculation for the computer. This process does not actually remove the speckled value but averages it into the summed data. It is important to note that averaging usually results in a general loss of detail, which is a good argument for using a small kernel window. This filter was applied to the Cape Breton Highland sub image to help enhance lineaments in the area such as the Eastern Highland Shear zone.</p>
<h3><span style="color: #800000;">Median Filter</span></h3>
<p style="text-align: justify;">The Median filter is similar to the mean filter but slightly better. This technique handles the pixel values within the kernel window in a sequential order. The center pixel is then replaced by the value that is located in the middle of the sequential distribution.</p>
<h3><span style="color: #800000;">Lee Filter</span></h3>
<p style="text-align: justify;">The Lee filter is based on the statistical distribution of DN values within the moving kernel, and using these values to determine what the center pixel value should be.</p>
<p style="text-align: justify;">The filter assumes that the center pixel&#8217;s mean and variance are equal to the local mean and variance of all pixels within the user selected moving window. The Lee filter was applied to focus in on the fault lines and structural features from the Antigonish Highlands</p>
<h3><span style="color: #800000;">Frost Filter</span></h3>
<p style="text-align: justify;">The Frost filter replaces the center pixel with a weighted sum of the surrounding values within a kernel window. The weighting factors decrease when larger kernels are used. The weighting factors increase for the center as variance within the kernel increases.</p>
<p style="text-align: justify;">The synformal folding, the extensional graben structure and, the sedimentary geological features in the Whycocomagh area are more clearly emphasized after the frost filter was applied.</p>
<h3><span style="color: #800000;">Gamma-Map Filter</span></h3>
<p style="text-align: justify;">The Gamma-MAP filter is an adaptive filter based on a noise model that contains non-stationary mean and variance parameters. This filter assumes that the original pixel value is between the value of the pixel of interest<br />
and the kernel window average. This filter is good for filtering speckle but preserving detail. This filter was applied in the Canso area sub-image to make some of the bedrock detail stand out better.</p>
<h3><span style="color: #800000;">Mosaics</span></h3>
<p style="text-align: justify;">Extensive coverage of a study area can be accomplished by overlaying adjacent images into a mosaic image. A mosaic image is basically a collection of images that are sewn together to create a much larger image. This is<br />
an ideal technique of using real data to creating maps for large regions. ERDAS IMAGINE offers the user to join his/her RADARSAT images together producing what is known as a &#8220;seamless&#8221; mosaic.</p>
<p style="text-align: justify;">This project involved four images that were mosaiced together to produce a virtual seamless image of Northern Nova Scotia and Cape Breton Island. The larger mosaiced image is more appealing to the human eye because it displays a region to which the user can relate.</p>
<p style="text-align: justify;">This project only involved the production of a small-scale mosaiced image, but by developing this special skill could lead to larger seamless mosaicing projects. Large mosaics can help the geologist produce maps of regions that have never been mapped and/or regions that optical sensors can not penetrate. RADARSAT International has recently mosaiced almost the entire Republic of Indonesia. This project involved virtually hundreds of radar images put together to provide one large super image of the entire area.<span style="font-family: Arial;"><span style="color: #ffffff;"> A I N T E G R</span></span></p>
<h2><span style="color: #800000;">Conclusions</span></h2>
<p style="text-align: justify;"><span style="font-family: Arial;">From this brief inquiry into the effectiveness of RADARSAT imagery for detecting geological features, within the ERDAS image handling software package, we have determined that the data is quite good. The two scenes of Standard beam 2 (S2) imagery provided an effective land coverage, that contribute much geological information. Due to the gentle rolling hills of much of Nova Scotia the S2 incidence angle was not casting many shadows or providing as much relief detection as would be encountered with an S7 image. S2 imagery when used in concert with Standard beam 7 offers an excellent combination for viewing topographic relief.</span></p>
<p style="text-align: justify;"><span style="font-family: Arial;">Lineament detection and lithological changes were detectable in portions of the image. When the amount of geological change was great enough to cause botanical or physical changes in the landscape the lithological changes were most apparent. The lineaments could be recognized because of their linear nature and the way that their edges can be detected<br />
with edge enhancement algorithms.</span></p>
<p><strong> </strong>The content above was taken from joint paper that I co-authored with Blair Sangster at COGS in March of 1999. The project also included a presentation that was presented at the Center of Geographic Sciences Auditorium, in Lawrencetown Nova Scotia and a large plotted <a href="http://tmackinnon.com/2005/rs/satellites/radarsat/geologic-application-of-radarsat-s2-mode-data-in-northern-nova-scotia.php">poster</a>.</p>
<div><strong><img class="alignleft" style="border: 0px;;  float: left; padding: 4px; margin: 0 7px 2px 0;" src="http://tmackinnon.com/2005/rs/satellites/erdasRS2/Image2.jpg" border="0" alt="Center of Geographic Sciences Logo" width="255" height="172" /></strong></div>
<p style="text-align: justify;">In summation the use of S2 RADARSAT imagery for geological surveys is promising, however these studies would have to be broad in nature and likely supplemented with other remotely sensed data. S2 imagery could be used more effectively for regions with more pronounced relief where layover from a less steeply imaging sensor begins to distort the relief.</p>
<p> </p>
<div>.</div>
<p>Related posts:<ol>
<li><a href='http://tmackinnon.com/finemodes.php' rel='bookmark' title='RADARSAT Fine Mode Imagery'>RADARSAT Fine Mode Imagery</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://tmackinnon.com/geologic-application-of-radarsat-s2-mode-data.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Seamless Aerial Photograph Mosaic</title>
		<link>http://tmackinnon.com/mosaic.php</link>
		<comments>http://tmackinnon.com/mosaic.php#comments</comments>
		<pubDate>Sun, 03 Feb 2008 20:29:16 +0000</pubDate>
		<dc:creator>T MacKinnon</dc:creator>
				<category><![CDATA[photogrammetry]]></category>
		<category><![CDATA[Nova Scotia]]></category>
		<category><![CDATA[ortho photos]]></category>
		<category><![CDATA[OrthoEngine]]></category>
		<category><![CDATA[PCI]]></category>
		<category><![CDATA[seamless]]></category>

		<guid isPermaLink="false">http://tmackinnon.com/?p=405</guid>
		<description><![CDATA[Sample of an seamless 1:10000 scale color aerial photograph mosaic of Halifax, Nova Scotia. ]]></description>
			<content:encoded><![CDATA[<script type="text/javascript">(function() {var s = document.createElement('SCRIPT'), s1 = document.getElementsByTagName('SCRIPT')[0];s.type = 'text/javascript';s.async = true;s.src = 'http://widgets.digg.com/buttons.js';s1.parentNode.insertBefore(s, s1);})();</script><a class="DiggThisButton DiggCompact" href="http://digg.com/submit?url=http%3A%2F%2Ftmackinnon.com%2Fmosaic.php"></a><p> This is a sample of an seamless 1:10000 scale color <a href="http://tmackinnon.com/rs/photogrammetry/aerial-photograph.php">aerial photograph</a>mosaic of Halifax, Nova Scotia. The actual image was plotted out on a 4 foot by 4 foot poster. The mosaic image was generated using PCI OrthoEngine software to seamlessly combine seven individual ortho photos.</p>
<p><img src="http://tmackinnon.com/2005/rs/halifax.jpg" border="0" alt="Seamless aerial photograph mosaic of Halifax, Nova Scotia" /></p>
<p>For more information on mosaicking ortho photos with PCI Orthoengine software refer to the following document:</p>
<li>MacKinnon E (2003) <a href="/2005/rs/photogrammetry/orthorectification.pdf" target="_blank">Orthorectification of Aerial Photos with PCI OrthoEngine</a> Middleton, NS: Applied Geomatics Research Group, Centre of Geographic Sciences, 33 pages</li>
<p>Related posts:<ol>
<li><a href='http://tmackinnon.com/aerial-photograph.php' rel='bookmark' title='Aerial Photograph'>Aerial Photograph</a></li>
<li><a href='http://tmackinnon.com/remote-sensing.php' rel='bookmark' title='Remote Sensing'>Remote Sensing</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://tmackinnon.com/mosaic.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Aerial Photograph</title>
		<link>http://tmackinnon.com/aerial-photograph.php</link>
		<comments>http://tmackinnon.com/aerial-photograph.php#comments</comments>
		<pubDate>Fri, 01 Feb 2008 20:12:41 +0000</pubDate>
		<dc:creator>T MacKinnon</dc:creator>
				<category><![CDATA[photogrammetry]]></category>
		<category><![CDATA[Aerial Photograph]]></category>
		<category><![CDATA[Halifax]]></category>
		<category><![CDATA[Nova Scotia]]></category>
		<category><![CDATA[ortho photo]]></category>
		<category><![CDATA[photo]]></category>
		<category><![CDATA[seamless color mosaic]]></category>

		<guid isPermaLink="false">http://tmackinnon.com/?p=400</guid>
		<description><![CDATA[Aerial photography is the method of taking of photographs of the ground from an elevated position. The term usually refers to images in which the camera is not supported by a ground-based structure. Cameras may be hand held or mounted, and photographs may be taken ...]]></description>
			<content:encoded><![CDATA[<script type="text/javascript">(function() {var s = document.createElement('SCRIPT'), s1 = document.getElementsByTagName('SCRIPT')[0];s.type = 'text/javascript';s.async = true;s.src = 'http://widgets.digg.com/buttons.js';s1.parentNode.insertBefore(s, s1);})();</script><a class="DiggThisButton DiggCompact" href="http://digg.com/submit?url=http%3A%2F%2Ftmackinnon.com%2Faerial-photograph.php"></a><p style="text-align: justify;">Aerial photography is the method of taking of photographs of the ground from an elevated position. The term usually refers to images in which the camera is not supported by a ground-based structure. Cameras may be hand held or mounted, and photographs may be taken by a photographer, triggered remotely or triggered automatically. Platforms for aerial photography include fixed-wing aircraft, helicopters, balloons, blimps, kites and other airborne systems. Tradionaly they are produced in photogrammetric surveys, which are often the basis for topographic maps, land-use planning, archaeology, environmental studies, surveillance, commercial advertising, and other such projects.</p>
<p>This is a sample of scanned 1:10000 scale color Aerial Photograph. This photo was one of seven photos that I used to generate a <a href="http://tmackinnon.com/2005/rs/photogrammetry/mosaic.php">seamless color mosaic</a> of of Halifax, Nova Scotia.</p>
<p><img class="left" src="http://tmackinnon.com/2005/rs/airphoto-halifax.jpg" border="0" alt="Scanned Aerial Photograph of Halifax, Nova Scotia" width="545" height="524" /></p>
<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://tmackinnon.com/aerial-photograph.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RADARSAT Fine Mode Imagery</title>
		<link>http://tmackinnon.com/finemodes.php</link>
		<comments>http://tmackinnon.com/finemodes.php#comments</comments>
		<pubDate>Sun, 27 Jan 2008 20:52:15 +0000</pubDate>
		<dc:creator>T MacKinnon</dc:creator>
				<category><![CDATA[RADARSAT]]></category>
		<category><![CDATA[Satellites]]></category>
		<category><![CDATA[Fine mode]]></category>
		<category><![CDATA[Nova Scotia]]></category>
		<category><![CDATA[SAR]]></category>

		<guid isPermaLink="false">http://tmackinnon.com/?p=411</guid>
		<description><![CDATA[RADARSAT fine mode imagery of Nova Scotia ]]></description>
			<content:encoded><![CDATA[<script type="text/javascript">(function() {var s = document.createElement('SCRIPT'), s1 = document.getElementsByTagName('SCRIPT')[0];s.type = 'text/javascript';s.async = true;s.src = 'http://widgets.digg.com/buttons.js';s1.parentNode.insertBefore(s, s1);})();</script><a class="DiggThisButton DiggCompact" href="http://digg.com/submit?url=http%3A%2F%2Ftmackinnon.com%2Ffinemodes.php"></a><p>This is a poster of RADARSAT fine mode imagery of Nova Scotia that I presented at COGS in 1999.</p>
<p><img class="alignnone" title="RADARSAT Fine Mode Imagery" src="http://tmackinnon.com/2005/rs/fine_modes.jpg" alt="" width="570" height="570" /></p>
<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://tmackinnon.com/finemodes.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Remote Sensing</title>
		<link>http://tmackinnon.com/remote-sensing.php</link>
		<comments>http://tmackinnon.com/remote-sensing.php#comments</comments>
		<pubDate>Wed, 16 Jan 2008 23:11:28 +0000</pubDate>
		<dc:creator>T MacKinnon</dc:creator>
				<category><![CDATA[Remote Sensing]]></category>
		<category><![CDATA[Aerial Photograph]]></category>
		<category><![CDATA[digita]]></category>
		<category><![CDATA[ESRI]]></category>
		<category><![CDATA[Geomatics]]></category>
		<category><![CDATA[GIS]]></category>
		<category><![CDATA[OrthoEngine]]></category>
		<category><![CDATA[PCI]]></category>
		<category><![CDATA[Remote sensing]]></category>

		<guid isPermaLink="false">http://tmackinnon.com/?p=415</guid>
		<description><![CDATA[Remote sensing involves the use of technical instruments or sensors to record reflected or emitted energy and then processing, analyzing, and applying that information to determine the spectral and spatial relations of distance objects and materials. ...]]></description>
			<content:encoded><![CDATA[<script type="text/javascript">(function() {var s = document.createElement('SCRIPT'), s1 = document.getElementsByTagName('SCRIPT')[0];s.type = 'text/javascript';s.async = true;s.src = 'http://widgets.digg.com/buttons.js';s1.parentNode.insertBefore(s, s1);})();</script><a class="DiggThisButton DiggCompact" href="http://digg.com/submit?url=http%3A%2F%2Ftmackinnon.com%2Fremote-sensing.php"></a><p style="text-align: justify;">Remote sensing is merely the science of acquiring information about a surface without physically being in contact with it. It involves the use of technical instruments or sensors to record reflected or emitted energy and then processing, analyzing, and applying that information to determine the spectral and spatial relations of distance objects and materials.</p>
<p style="text-align: justify;"><img style=' float: left; padding: 4px; margin: 0 7px 2px 0;'  class="alignleft" title="RADARSAT" src="http://tmackinnon.com/2005/rs/satellites/RS2_Image2.jpg" alt="" width="263" height="206" />This is possible due to the fact that the examined objects (such as vegetation, buildings, water, air masses etc.) reflect or emit radiation in different wavelengths and intensities according to their current condition. Modern remote sensing typically involves digital processes but can also be done with non-digital methods.</p>
<p style="text-align: justify;">Probably the most common example of remote sensing is an <a href="http://tmackinnon.com/2005/rs/photogrammetry/aerial-photograph.php">aerial photograph</a> but there are probably hundreds of  applications related to remote sensing ranging from space-borne satellites to under-ground geophysical systems. It has become a major component in the evolving Geomatics industry. In order to generate maps for GIS, most remote sensing systems expect to convert a photograph or other data item to actual measurable distance on the surface. However, this almost always depends on the precision of the instrument that is being used to capture the data. For example, distortion in an aerial photographic lens can cause severe distortions when photographs are used to measure ground distances. Using sophisticated software like PCI OrthoEngine can convert the photograph into an ortho photo which can be used to measure ground distances.</p>
<p style="text-align: justify;">In order to coordinate a series of observations, most sensing systems need to know where they are, what time it is, and the rotation and orientation of the instrument. High-end instruments now often use positional information from satellite navigation systems. The rotation and orientation is often provided within a degree or two with electronic compasses.</p>
<p style="text-align: justify;">The resolution determines how many pixels are available in measurement, but more importantly, higher resolutions are more informative, giving more data about more points. However, large amounts of high resolution data can clog a storage or transmission system with useless data, when a few low resolution images might be a better use of the system.</p>
<p style="text-align: justify;">Like I mentioned earlier examples of remote sensing are very numerous. I have over the past decade and have used the many projects that I have been involved with along with actual examples of my work to help illustrate the principals of the various topics covered on the web site. I have included basic overviews for each along with images, presentations, papers and links to other related resources.</p>
<h3><span>Examples of Remote Sensing</span></h3>
<h3>Remote Sensing Links</h3>
<ul>
<li><a href="http://www.ccrs.nrcan.gc.ca/ccrs/learn/tutorials/fundam/chapter1/chapter1_1_e.html" target="_blank">Fundamentals of Remote Sensing (CCRS tutorial)</a></li>
<li><a href="http://rst.gsfc.nasa.gov/Front/tofc.html" target="_blank">Online Remote Sensing tutorial (NASA)</a></li>
<li><a href="http://www.pcigeomatics.com/" target="_blank">PCI Geomatics &#8211; Remote Sensing Software Solutions</a></li>
<li><a href="http://www.tmackinnon.com/2005/links/links.php">More Remote Sensing links</a></li>
<li><a href="http://tmackinnon.com/2005/publications.php">Remote Sensing Publications</a></li>
<li><a href="http://www.tmackinnon.com/2005/dir/odp.php?browse=/Science/Earth_Sciences/Geomatics/Remote_Sensing/">Remote Sensing Web Directory</a></li>
</ul>
<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://tmackinnon.com/remote-sensing.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PCI EASI Script [PIX_to_SHP_batch_export.eas]</title>
		<link>http://tmackinnon.com/pci-easi-script-pix_to_shp_batch_export-eas.php</link>
		<comments>http://tmackinnon.com/pci-easi-script-pix_to_shp_batch_export-eas.php#comments</comments>
		<pubDate>Mon, 07 Jan 2008 02:35:24 +0000</pubDate>
		<dc:creator>T MacKinnon</dc:creator>
				<category><![CDATA[EASI Scripts]]></category>
		<category><![CDATA[batch export]]></category>
		<category><![CDATA[EASI script]]></category>
		<category><![CDATA[PCI Geomatica]]></category>
		<category><![CDATA[shape files]]></category>

		<guid isPermaLink="false">http://tmackinnon.com/?p=480</guid>
		<description><![CDATA[This simple EASI script used with the MODEL command in PCI will batch convert vector files stored in PCIDSK (PIX) format into Shape File (SHP) format with the exact same file name as the input files. This was originally created for PCI Geomatica v9.1 but was last tested and working with no problems in PCI Geomatica v10.0 !&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- !&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- [...]]]></description>
			<content:encoded><![CDATA[<script type="text/javascript">(function() {var s = document.createElement('SCRIPT'), s1 = document.getElementsByTagName('SCRIPT')[0];s.type = 'text/javascript';s.async = true;s.src = 'http://widgets.digg.com/buttons.js';s1.parentNode.insertBefore(s, s1);})();</script><a class="DiggThisButton DiggCompact" href="http://digg.com/submit?url=http%3A%2F%2Ftmackinnon.com%2Fpci-easi-script-pix_to_shp_batch_export-eas.php"></a><p>This simple EASI script used with the MODEL command in PCI will batch convert vector files stored in PCIDSK (PIX) format into<br />
Shape File (SHP) format with the exact same file name as the input files. This was originally created for PCI Geomatica v9.1 but was last tested and working with no problems in PCI Geomatica v10.0</p>
<p><!--                                           - --><br />
!&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
!&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
!<br />
! Batch Export PIX Vector to SHP Script<br />
! [PIX_to_SHP_batch_export.eas]<br />
! <br />
! This script will export vector segments from PIX files located in a<br />
! given directory into Shape files and place the new files into the same<br />
! directory. The script assumes that no SHP files with the same names<br />
! already exist and all the input files are setup the same with the<br />
! vector segments stored the same.<br />
!<br />
!&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
!&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
! Define variables<br />
!&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>!to store location of input &amp; output files</p>
<p>local string in_files</p>
<p>!for the file format and extension types</p>
<p>local string type, ext</p>
<p>!file names</p>
<p>local string bn, fn</p>
<p>!to store directory listing of input files</p>
<p>local mstring dirlist</p>
<p>!to store vector segment number</p>
<p>local integer vec</p>
<p>local integer i</p>
<p>local $Z</p>
<p>!&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
! Clear the EASI window and then show the header information<br />
!&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>PRINT @(1 ,1,CLREOS)</p>
<p>print &#8220;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;&#8221;<br />
print @reverse,&#8221; &#8216;Batch export PIX vector to SHP&#8217; EASI Script &#8220;,@alloff<br />
print &#8220;&#8221;<br />
print &#8220;&#8221;<br />
print &#8220;&#8221;<br />
print &#8220;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;&#8221;<br />
print &#8220;&#8221;<br />
print &#8221; This script will export vectors from PIX files in a given directory &#8221;<br />
print &#8221; into SHP format using the same file names as the input files. &#8221;<br />
print &#8220;&#8221;<br />
print &#8221; All input vector files are expected to be setup the same with all &#8221;<br />
print &#8221; vectors to be exported, stored using the same segment number.&#8221;<br />
print &#8220;&#8221;<br />
print &#8220;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;&#8221;<br />
print &#8220;&#8221;</p>
<p>!&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
! Collect input from user<br />
!&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>print &#8220;Enter the directory that contains the PIX files to export to SHP:&#8221;</p>
<p>input &#8220;&gt;&#8221; in_files</p>
<p>print &#8220;Enter the vector segment number that the vector is stored in:&#8221;</p>
<p>input &#8220;&gt;&#8221; vec</p>
<p>!&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
! Get the contents of the directory<br />
!&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>type =&#8221;pix</p>
<p>dirlist = getdirectory(in_files)</p>
<p>let $Z = &#8220;\</p>
<p>for i = 1 to f$len(dirlist)</p>
<p>!&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
! Extract parts of the filenames<br />
!&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>fn = in_files + $Z + dirlist[i]</p>
<p>ext = getfileextension(fn)</p>
<p>bn = getfilebasename(fn)</p>
<p>if (ext ~= type) then</p>
<p>print &#8220;&#8221;<br />
print &#8220;Exporting:&#8221;, bn, &#8220;from PIX to SHP&#8221;<br />
print &#8220;&#8221;</p>
<p>!&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
! Set up the parameters and execute the FEXPORT command<br />
!&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>fili = in_files + $Z + dirlist[i]<br />
filo = in_files + $Z + bn<br />
dbiw =<br />
dbic =<br />
dbib =<br />
dbvs = vec<br />
dblut =<br />
dbpct =<br />
ftype =&#8221;SHP<br />
foptions =</p>
<p>R Fexport</p>
<p>PRINT @(1 ,1,CLREOS)</p>
<p>endif</p>
<p>endfor</p>
<p>PRINT @(1 ,1,CLREOS)</p>
<p>print &#8220;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-&#8221;<br />
print &#8220;&#8221;<br />
print @reverse,&#8221; &#8216;Batch export PIX vector to SHP&#8217; EASI Script Finished &#8220;,@alloff<br />
print &#8220;&#8221;<br />
print &#8220;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-&#8221;</p>
<p>return</p>
<p>!&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
!&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p><!--                                           - --></p>
<p>Related posts:<ol>
<li><a href='http://tmackinnon.com/mul_subset.php' rel='bookmark' title='Multiple File Subset Script &#8211; PCI EASI Script'>Multiple File Subset Script &#8211; PCI EASI Script</a></li>
<li><a href='http://tmackinnon.com/mul_dem_mosaic.php' rel='bookmark' title='Script to generate a PIX file large enough to contain all input DEM files'>Script to generate a PIX file large enough to contain all input DEM files</a></li>
<li><a href='http://tmackinnon.com/bitmap_clip.php' rel='bookmark' title='Script to clip the unnecessary excess portions of an air photo mosaic'>Script to clip the unnecessary excess portions of an air photo mosaic</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://tmackinnon.com/pci-easi-script-pix_to_shp_batch_export-eas.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Multiple File Subset Script &#8211; PCI EASI Script</title>
		<link>http://tmackinnon.com/mul_subset.php</link>
		<comments>http://tmackinnon.com/mul_subset.php#comments</comments>
		<pubDate>Sat, 05 Jan 2008 01:55:24 +0000</pubDate>
		<dc:creator>T MacKinnon</dc:creator>
				<category><![CDATA[EASI Scripts]]></category>
		<category><![CDATA[air photos]]></category>
		<category><![CDATA[batch]]></category>
		<category><![CDATA[EASI]]></category>
		<category><![CDATA[fiducial marks]]></category>
		<category><![CDATA[output directory]]></category>
		<category><![CDATA[PCI]]></category>
		<category><![CDATA[program]]></category>
		<category><![CDATA[scipts]]></category>
		<category><![CDATA[subset]]></category>

		<guid isPermaLink="false">http://tmackinnon.com/?p=475</guid>
		<description><![CDATA[This EASI script in PCI will batch subset a directory of input files based on a defined input window.]]></description>
			<content:encoded><![CDATA[<script type="text/javascript">(function() {var s = document.createElement('SCRIPT'), s1 = document.getElementsByTagName('SCRIPT')[0];s.type = 'text/javascript';s.async = true;s.src = 'http://widgets.digg.com/buttons.js';s1.parentNode.insertBefore(s, s1);})();</script><a class="DiggThisButton DiggCompact" href="http://digg.com/submit?url=http%3A%2F%2Ftmackinnon.com%2Fmul_subset.php"></a><p style="text-align: justify;"><!--                                           - -->This simple EASI script used with the MODEL command in PCI will batch subset a directory of input files based on a defined input window. It assumes that all the input files will all be located within the same specified directory, all the files will be of the same format with three channels and that the output directory does not already contain any files.</p>
<p style="text-align: justify;">This was originally created for PCI Geomatica v9.1 but was last tested and working with no problems in PCI Geomatica v10.0 – Just copy the code below into a blank text file and edit as needed.</p>
<p style="padding-left: 30px;"><span style="color: #888888;">!&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</span><br />
<span style="color: #888888;"> !&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</span><br />
<span style="color: #888888;"> ! Multiple File Subset Script [mul_subset.eas] </span><br />
<span style="color: #888888;"> !</span><br />
<span style="color: #888888;"> ! This script was originally written for a user who wanted</span><br />
<span style="color: #888888;"> ! to have all of the fiducial marks and details removed from</span><br />
<span style="color: #888888;"> ! their air photos.</span><br />
<span style="color: #888888;"> !</span><br />
<span style="color: #888888;"> !</span><span style="color: #888888;"> This script assumes that all the input files will all be located</span><br />
<span style="color: #888888;"> ! within a given directory, all the files will be of the same format</span><br />
<span style="color: #888888;"> ! with three channels and that the output directory does not contain</span><br />
<span style="color: #888888;"> ! any files.</span><br />
<span style="color: #888888;"> !</span><br />
<span style="color: #888888;">!&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;"> ! Define variables</span><br />
<span style="color: #888888;"> !&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">!for input and output directory local string in_files, out_files</span><br />
<span style="color: #888888;"> !for directory listing of the input directories</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">local mstring dirlist</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">!for the file format and extension types</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">local string type, ext</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">!file names</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">local string bn, fn</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">!Parameters for the subset window</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">local integer x, y, width, height</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">local integer i</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">local $Z</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">local string confirm</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">!&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</span><br />
<span style="color: #888888;"> ! Clear the EASI window and then show the header information</span><br />
<span style="color: #888888;"> !&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">PRINT @(1 ,1,CLREOS)</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">print &#8220;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-&#8221;</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">print @reverse,&#8221; Multiple Subset &#8220;,@alloff</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">print &#8220;&#8221;</span><br />
<span style="color: #888888;"> print &#8220;This script assumes that all the input files will all be located&#8221;</span><br />
<span style="color: #888888;"> print &#8220;within a given directory, the files will be of the same format,&#8221;</span><br />
<span style="color: #888888;"> print &#8220;have three image channels, will be clipped to the same extents and&#8221;</span><br />
<span style="color: #888888;"> print &#8220;that the output directory will not contain any files.&#8221;</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">print &#8220;&#8221;</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">print &#8220;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-&#8221;</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">!&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</span><br />
<span style="color: #888888;"> ! Collect input from user</span><br />
<span style="color: #888888;"> !&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">print &#8220;&#8221;</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">print &#8220;Enter the directory that contains the input files:&#8221;</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">input &#8220;&gt;&#8221; in_files</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">print &#8220;&#8221;</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">print &#8220;Enter the directory for the output files:&#8221;</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">input &#8220;&gt;&#8221; out_files</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">print &#8220;&#8221;</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">print &#8220;Enter the file format of the files (3-letter file extension) : &#8220;</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">input &#8220;&gt;&#8221; type</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">print &#8220;&#8221;</span><br />
<span style="color: #888888;"> print &#8220;Enter the X coordinate for the dbiw parameter : &#8220;</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">input &#8220;&gt;&#8221; x</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">print &#8220;&#8221;</span><br />
<span style="color: #888888;"> print &#8220;Enter the Y coordinate for the dbiw parameter : &#8220;</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">input &#8220;&gt;&#8221; y</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">print &#8220;&#8221;</span><br />
<span style="color: #888888;"> print &#8220;Enter the width for the dbiw parameter : &#8220;</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">input &#8220;&gt;&#8221; width</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">print &#8220;&#8221;</span><br />
<span style="color: #888888;"> print &#8220;Enter the height for the dbiw parameter : &#8220;</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">input &#8220;&gt;&#8221; height</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">print &#8220;&#8221;</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">PRINT @(1 ,1,CLREOS)</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">!&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</span><br />
<span style="color: #888888;"> ! Confirm with user to ensure that the parameters are correct</span><br />
<span style="color: #888888;"> ! If they are correct then continue with the script and if they are not</span><br />
<span style="color: #888888;"> ! then run the script over again.</span><br />
<span style="color: #888888;"> !&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">print &#8220;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;&#8221;</span><br />
<span style="color: #888888;"> print &#8220;&#8221;</span><br />
<span style="color: #888888;"> print &#8220;The input directory you specified was:&#8221;</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">print &#8221; &#8220;, in_files</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">print &#8220;&#8221;</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">print &#8220;The output directory you specified was:&#8221;</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">print &#8221; &#8220;, out_files</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">print &#8220;&#8221;</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">print &#8220;The file format you specified was:&#8221;</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">print &#8221; &#8220;, type</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">print &#8220;&#8221;</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">print &#8220;The initial coordinate of the clip you specified was:&#8221;</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">print &#8221; &#8220;, x, &#8221; &#8220;, y</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">print &#8220;&#8221;</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">print &#8220;Your image size you specified was:&#8221;</span><br />
<span style="color: #888888;"> print &#8221; &#8220;, width, &#8221; &#8220;, height</span><br />
<span style="color: #888888;"> print &#8220;&#8221;</span><br />
<span style="color: #888888;"> print &#8220;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;&#8221;</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">print &#8220;Are these parameters correct? (Y/N)&#8221;</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">print &#8220;&#8221;</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">input &#8220;&gt;&#8221; confirm</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">if (confirm ~= &#8220;y&#8221; or confirm ~= &#8220;Y&#8221; ) then</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">!&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</span><br />
<span style="color: #888888;"> ! Get the contents of the directory</span><br />
<span style="color: #888888;"> !&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">dirlist = getdirectory(in_files)</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">let $Z = &#8220;\</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">for i = 1 to f$len(dirlist)</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">!&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</span><br />
<span style="color: #888888;"> ! Extract parts of the filenames</span><br />
<span style="color: #888888;"> !&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">fn = in_files + $Z + dirlist[i]</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">ext = getfileextension(fn)</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">bn = getfilebasename(fn)</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">if (ext ~= type) then</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">print &#8220;&#8221;</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">print &#8220;Clipping:&#8221;, bn, &#8220;.&#8221;, ext</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">print &#8220;&#8221;</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">!&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</span><br />
<span style="color: #888888;"> ! Set up the parameters and execute the FEXPORT command</span><br />
<span style="color: #888888;"> !&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">fili = in_files + $Z + dirlist[i]</span><br />
<span style="color: #888888;"> filo = out_files + $Z + bn +&#8221;_clipped&#8221;</span><br />
<span style="color: #888888;"> dbiw = x, y, width, height</span><br />
<span style="color: #888888;"> dbic = 1,2,3</span><br />
<span style="color: #888888;"> dbib =</span><br />
<span style="color: #888888;"> dbvs =</span><br />
<span style="color: #888888;"> dblut =</span><br />
<span style="color: #888888;"> dbpct =</span><br />
<span style="color: #888888;"> ftype = type</span><br />
<span style="color: #888888;"> foptions =</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">R Fexport</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">PRINT @(1 ,1,CLREOS)</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">endif</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">endfor</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">else</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">run &#8220;mul_subset.eas</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">endif</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">PRINT @(1 ,1,CLREOS)</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">print &#8220;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-&#8221;</span><br />
<span style="color: #888888;"> print &#8220;&#8221;</span><br />
<span style="color: #888888;"> print &#8220;The clipped files are stored in the following directory:&#8221;</span><br />
<span style="color: #888888;"> print &#8221; &#8220;, out_files</span><br />
<span style="color: #888888;"> print &#8220;&#8221;</span><br />
<span style="color: #888888;"> print &#8220;&#8221;</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">print @reverse,&#8221; Multiple Subset EASI Script Finished &#8220;,@alloff</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">print &#8220;&#8221;</span><br />
<span style="color: #888888;"> print &#8220;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-&#8221;</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">return</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">!&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</span><br />
<span style="color: #888888;"> !&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</span></p>
<p>&nbsp;</p>
<p>Related posts:<ol>
<li><a href='http://tmackinnon.com/mul_dem_mosaic.php' rel='bookmark' title='Script to generate a PIX file large enough to contain all input DEM files'>Script to generate a PIX file large enough to contain all input DEM files</a></li>
<li><a href='http://tmackinnon.com/bitmap_clip.php' rel='bookmark' title='Script to clip the unnecessary excess portions of an air photo mosaic'>Script to clip the unnecessary excess portions of an air photo mosaic</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://tmackinnon.com/mul_subset.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Script to generate a PIX file large enough to contain all input DEM files</title>
		<link>http://tmackinnon.com/mul_dem_mosaic.php</link>
		<comments>http://tmackinnon.com/mul_dem_mosaic.php#comments</comments>
		<pubDate>Fri, 04 Jan 2008 01:41:12 +0000</pubDate>
		<dc:creator>T MacKinnon</dc:creator>
				<category><![CDATA[EASI Scripts]]></category>
		<category><![CDATA[DEM]]></category>
		<category><![CDATA[EASI]]></category>
		<category><![CDATA[EASI script]]></category>
		<category><![CDATA[files]]></category>
		<category><![CDATA[Geomatica]]></category>
		<category><![CDATA[input]]></category>
		<category><![CDATA[MODEL]]></category>
		<category><![CDATA[mosaic]]></category>
		<category><![CDATA[output]]></category>
		<category><![CDATA[PCI]]></category>
		<category><![CDATA[PIX]]></category>
		<category><![CDATA[script]]></category>

		<guid isPermaLink="false">http://tmackinnon.com/?p=470</guid>
		<description><![CDATA[This simple EASI script used with the MODEL command in PCI will generate an output PIX file with extents large enough to contain all of the files and then mosaic each of the input files into the output DEM file.]]></description>
			<content:encoded><![CDATA[<script type="text/javascript">(function() {var s = document.createElement('SCRIPT'), s1 = document.getElementsByTagName('SCRIPT')[0];s.type = 'text/javascript';s.async = true;s.src = 'http://widgets.digg.com/buttons.js';s1.parentNode.insertBefore(s, s1);})();</script><a class="DiggThisButton DiggCompact" href="http://digg.com/submit?url=http%3A%2F%2Ftmackinnon.com%2Fmul_dem_mosaic.php"></a><p>Below is a simple EASI script used with the MODEL command in PCI will generate an output PIX file with extents large enough to contain all of the input files PIX files and then mosaic each of the input files into the output pix file. It was designed to mosaic several DEM files into one large DEM file.</p>
<p>This was originally created for PCI Geomatica v9.1 but was last tested and working with no problems in PCI Geomatica v10.0 – Just copy the code below into a blank text file and edit as needed.</p>
<p style="padding-left: 30px;"><span style="color: #888888;">!&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;"> ! Multiple DEM Mosaic Script</span><br />
<span style="color: #888888;"> ! [mul_DEM_mosaic.eas]</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">! Ted MacKinnon – tmackinnon.com</span><br />
<span style="color: #888888;"> !</span><br />
<span style="color: #888888;"> ! This script will generate an output PIX file with extents large enough</span><br />
<span style="color: #888888;"> ! to contain all of the input files and then mosaic each of the input</span><br />
<span style="color: #888888;"> ! files into the new output pix file.</span><br />
<span style="color: #888888;"> !</span><br />
<span style="color: #888888;"> ! This script was designed to mosaic several DEM files into one large</span><br />
<span style="color: #888888;"> ! DEM file. Each input DEM file must have the same projection,</span><br />
<span style="color: #888888;"> ! resolution and at each DEM should have at least 150m overlap.</span><br />
<span style="color: #888888;"> !</span><br />
<span style="color: #888888;"> ! The user is expected that the user will enter (or verify) the parameters</span><br />
<span style="color: #888888;"> ! of &#8216;CIMPRO&#8217; at the bottom of this script prior to running the script.</span><br />
<span style="color: #888888;"> ! Parmaters such as BXPXSZ and DBIC have been hard coded.</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">!&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</span><br />
<span style="color: #888888;"> !&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</span><br />
<span style="color: #888888;"> ! Define variables</span><br />
<span style="color: #888888;"> !&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">!for input &amp; output pix files and pixel size</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">local string inputFile, outputFile</span><br />
<span style="color: #888888;"> local string pixel</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">!to obtain list of input files</span><br />
<span style="color: #888888;"> local mstring inputList</span><br />
<span style="color: #888888;"> local integer inputIndex</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">!for extracting georeferencing information</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">local GeoInfo geoInfo</span><br />
<span style="color: #888888;"> local integer geoFile</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">!to contain bounding rectangle of all input files</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">local double boundULX, boundULY, boundLRX, boundLRY</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">!&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</span><br />
<span style="color: #888888;"> ! Clear the EASI window and then show the header information</span><br />
<span style="color: #888888;"> !&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">PRINT @(1 ,1,CLREOS)</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">print &#8220;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</span><br />
<span style="color: #888888;"> &#8220;</span><br />
<span style="color: #888888;"> print @reverse,&#8221; &#8216;Mosaic multiple DEM files&#8217; EASI Script &#8220;,@alloff</span><br />
<span style="color: #888888;"> print &#8220;&#8221;</span><br />
<span style="color: #888888;"> print &#8220;&#8221;</span><br />
<span style="color: #888888;"> print &#8220;&#8221;</span><br />
<span style="color: #888888;"> print &#8220;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;&#8221;</span><br />
<span style="color: #888888;"> print &#8220;&#8221;</span><br />
<span style="color: #888888;"> print &#8221; This script will generate an new output PIX file with extents large &#8220;</span><br />
<span style="color: #888888;"> print &#8221; enough to contain all of the PIX files in this directory and then &#8220;</span><br />
<span style="color: #888888;"> print &#8221; mosaic each of the PIX files into the new output file.&#8221;</span><br />
<span style="color: #888888;"> print &#8220;&#8221;</span><br />
<span style="color: #888888;"> print &#8221; The output file will contain the following projection: &#8220;</span><br />
<span style="color: #888888;"> print &#8220;&#8221;</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">! The projection will be printed to the screen as a general reminder</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">print &#8221; UTM 11 S E000&#8243;</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">print &#8220;&#8221;</span><br />
<span style="color: #888888;"> print &#8220;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;&#8221;</span><br />
<span style="color: #888888;"> print &#8220;&#8221;</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">!&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</span><br />
<span style="color: #888888;"> ! Collect input from user</span><br />
<span style="color: #888888;"> !&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">print &#8220;&#8221;</span><br />
<span style="color: #888888;"> print &#8220;Enter the Output file name:&#8221;</span><br />
<span style="color: #888888;"> input &#8220;&gt;&#8221; outputFile</span><br />
<span style="color: #888888;"> print &#8220;&#8221;</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">print &#8220;Enter the pixel size for: &#8220;,outputfile</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">input &#8220;&gt;&#8221; pixel</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">print &#8220;&#8221;</span><br />
<span style="color: #888888;"> print &#8220;&#8221;</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">PRINT @(1 ,1,CLREOS)</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">!&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</span><br />
<span style="color: #888888;"> ! Create list of input files</span><br />
<span style="color: #888888;"> !&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">sys &#8220;dir *.pix /b &gt; pixlist.txt&#8221;</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">inputList = Text$Import(&#8220;pixlist.txt&#8221;)</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">!&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</span><br />
<span style="color: #888888;"> ! Read georeferencing of each input file</span><br />
<span style="color: #888888;"> !&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">for inputIndex = 1 to F$LEN(inputList)</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">print inputList(inputIndex)</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">geoFile = DBOpen(inputList(inputIndex), &#8220;r&#8221;)</span><br />
<span style="color: #888888;"> call DBReadGeoInfo(geoFile, geoInfo)</span><br />
<span style="color: #888888;"> call DBClose(geoFile)</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">print &#8220;Georeferencing: &#8220;, geoInfo.Units</span><br />
<span style="color: #888888;"> print &#8220;Image extents: &#8220;,geoInfo.ULX, &#8220;, &#8220;, geoInfo.ULY, &#8221; &#8220;, geoInfo.LRX, &#8220;, &#8220;, geoInfo.LRY</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">PRINT @(1 ,1,CLREOS)</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">!&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</span><br />
<span style="color: #888888;"> ! initialize bounds using first file</span><br />
<span style="color: #888888;"> !&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">if inputIndex = 1 then</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">boundULX = geoInfo.ULX</span><br />
<span style="color: #888888;"> boundULY = geoInfo.ULY</span><br />
<span style="color: #888888;"> boundLRX = geoInfo.LRX</span><br />
<span style="color: #888888;"> boundLRY = geoInfo.LRY</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">else</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">!&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</span><br />
<span style="color: #888888;"> ! assumes UTM projection (ULY &gt; LRY)</span><br />
<span style="color: #888888;"> !&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">if geoInfo.ULX &lt; boundULX then</span><br />
<span style="color: #888888;"> boundULX = geoInfo.ULX</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">endif</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">if geoInfo.ULY &gt; boundULY then</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">boundULY = geoInfo.ULY</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">endif</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">if geoInfo.LRX &gt; boundLRX then</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">boundLRX = geoInfo.LRX</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">endif</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">if geoInfo.LRY &lt; boundLRY then</span><br />
<span style="color: #888888;"> boundLRY = geoInfo.LRY</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">endif</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">endif</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">print &#8220;&#8221;</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">endfor</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">print outputFile, &#8221; file extents: &#8220;, boundULX, &#8221; &#8220;, boundULY, &#8221; &#8220;, boundLRX, &#8221; &#8220;, boundLRY</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">!&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</span><br />
<span style="color: #888888;"> ! create the output PIX file containing bounds</span><br />
<span style="color: #888888;"> !&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">FILE = outputFile</span><br />
<span style="color: #888888;"> TEX1 =</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">!Specify the # of channels here</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">DBNC = 1,0,0,0</span><br />
<span style="color: #888888;"> DBLAYOUT = &#8220;PIXEL&#8221;</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">!Specify the projection info here</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">PROJECT = &#8220;UTM&#8221;</span><br />
<span style="color: #888888;"> ZONE = 11</span><br />
<span style="color: #888888;"> ROW = &#8220;S&#8221;</span><br />
<span style="color: #888888;"> ELLIPS = &#8220;0&#8243;</span><br />
<span style="color: #888888;"> LLBOUND = &#8220;N&#8221;</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">ULX = F$STRING(boundULX)</span><br />
<span style="color: #888888;"> ULY = F$STRING(boundULY)</span><br />
<span style="color: #888888;"> LRX = F$STRING(boundLRX)</span><br />
<span style="color: #888888;"> LRY = F$STRING(boundLRY)</span><br />
<span style="color: #888888;"> BXPXSZ = pixel</span><br />
<span style="color: #888888;"> BYPXSZ = pixel</span><br />
<span style="color: #888888;"> REPORT = &#8220;TERM&#8221;</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">run CIMPRO</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">!&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</span><br />
<span style="color: #888888;"> ! Mosaic each PIX file from the listing into the outputfile</span><br />
<span style="color: #888888;"> !&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">inputList = Text$Import(&#8220;pixlist.txt&#8221;)</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">for inputIndex = 1 to F$LEN(inputList)</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">inputFile = inputList(inputIndex)</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">!&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</span><br />
<span style="color: #888888;"> ! Clear the EASI window and show progress</span><br />
<span style="color: #888888;"> !&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">PRINT @(1 ,1,CLREOS)</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">print &#8220;&#8221;</span><br />
<span style="color: #888888;"> print &#8220;Mosaicking &#8220;, inputFile, &#8221; into &#8220;, outputFile</span><br />
<span style="color: #888888;"> print &#8220;&#8221;</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">FILI = inputFile</span><br />
<span style="color: #888888;"> DBIC = 1</span><br />
<span style="color: #888888;"> DBVS =</span><br />
<span style="color: #888888;"> DBLUT =</span><br />
<span style="color: #888888;"> FILO = outputFile</span><br />
<span style="color: #888888;"> DBOC = 1</span><br />
<span style="color: #888888;"> BLEND =</span><br />
<span style="color: #888888;"> BACKVAL = 0</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">run MOSAIC</span></p>
<p style="padding-left: 30px;"><span style="color: #888888;">endfor</span><br />
<span style="color: #888888;"> !&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</span><br />
<span style="color: #888888;"> !&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</span></p>
<p style="padding-left: 30px;">
<p>Related posts:<ol>
<li><a href='http://tmackinnon.com/bitmap_clip.php' rel='bookmark' title='Script to clip the unnecessary excess portions of an air photo mosaic'>Script to clip the unnecessary excess portions of an air photo mosaic</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://tmackinnon.com/mul_dem_mosaic.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Script to clip the unnecessary excess portions of an air photo mosaic</title>
		<link>http://tmackinnon.com/bitmap_clip.php</link>
		<comments>http://tmackinnon.com/bitmap_clip.php#comments</comments>
		<pubDate>Thu, 03 Jan 2008 01:31:56 +0000</pubDate>
		<dc:creator>T MacKinnon</dc:creator>
				<category><![CDATA[EASI Scripts]]></category>
		<category><![CDATA[airphoto]]></category>
		<category><![CDATA[buffered]]></category>
		<category><![CDATA[clip]]></category>
		<category><![CDATA[EASI script]]></category>
		<category><![CDATA[MODEL]]></category>
		<category><![CDATA[mosaic]]></category>
		<category><![CDATA[Ortho Engine]]></category>
		<category><![CDATA[PCI Geomatica]]></category>

		<guid isPermaLink="false">http://tmackinnon.com/?p=464</guid>
		<description><![CDATA[This simple EASI script used with the MODEL command in PCI will clip the unnecessary excess portions of an airphoto mosaic created from Ortho Engine to an irregular buffered shape around a set study area. ]]></description>
			<content:encoded><![CDATA[<script type="text/javascript">(function() {var s = document.createElement('SCRIPT'), s1 = document.getElementsByTagName('SCRIPT')[0];s.type = 'text/javascript';s.async = true;s.src = 'http://widgets.digg.com/buttons.js';s1.parentNode.insertBefore(s, s1);})();</script><a class="DiggThisButton DiggCompact" href="http://digg.com/submit?url=http%3A%2F%2Ftmackinnon.com%2Fbitmap_clip.php"></a><p>Below is a simple EASI script that when used with the MODEL command in PCI will clip the unnecessary excess portions of an air photo mosaic created from Ortho Engine to an irregular buffered shape around a set study area. This was originally created for PCI Geomatica v9.1 but was last tested and working with no problems in PCI Geomatica v10.0 &#8211; Just copy the code below into a blank text file and edit as needed.</p>
<p style="padding-left: 30px;"><span style="color: #808080;">!&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</span></p>
<p style="padding-left: 30px;"><span style="color: #808080;">! Irregular_Polygon_Clip [bitmap_clip.eas]</span></p>
<p style="padding-left: 30px;"><span style="color: #808080;">! Ted MacKinnon &#8211; tmackinnon.com</span></p>
<p style="padding-left: 30px;"><span style="color: #808080;">! This simple script used with the MODEL command in PCI EASI</span></p>
<p style="padding-left: 30px;"><span style="color: #808080;">! will clip the unnecessary excess portions of an airphoto mosaic</span></p>
<p style="padding-left: 30px;"><span style="color: #808080;">! to an irregular buffered shape around the study area.</span></p>
<p style="padding-left: 30px;"><span style="color: #808080;">!</span></p>
<p style="padding-left: 30px;"><span style="color: #808080;">! The working file &#8216;working-file.pix&#8217; has the existing</span></p>
<p style="padding-left: 30px;"><span style="color: #808080;">! mosaic image located in the first three channels,</span></p>
<p style="padding-left: 30px;"><span style="color: #808080;">! an existing irregular shaped polygon bitmap and</span></p>
<p style="padding-left: 30px;"><span style="color: #808080;">! three empty 8 bit channels.</span></p>
<p style="padding-left: 30px;"><span style="color: #808080;">!</span></p>
<p style="padding-left: 30px;"><span style="color: #808080;">! %%2 is the bitmap mask of the irregular shape</span></p>
<p style="padding-left: 30px;"><span style="color: #808080;">! %1, %2, %3 are the RGB existing image channels</span></p>
<p style="padding-left: 30px;"><span style="color: #808080;">! %4, %5, %6 will be the new modeled RGB image channels</span></p>
<p style="padding-left: 30px;"><span style="color: #808080;">! the RGB value of 255, 255, 255 will set the background to white</span></p>
<p style="padding-left: 30px;"><span style="color: #808080;">!</span></p>
<p style="padding-left: 30px;"><span style="color: #808080;">! Simply change the file name to use this script with a different</span></p>
<p style="padding-left: 30px;"><span style="color: #808080;">! file and ensure that the channels and segments are setup the same</span></p>
<p style="padding-left: 30px;"><span style="color: #808080;">!&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</span></p>
<p style="padding-left: 30px;"><span style="color: #808080;">!&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</span></p>
<p style="padding-left: 30px;"><span style="color: #808080;">! Set up and run the model</span></p>
<p style="padding-left: 30px;"><span style="color: #808080;">!&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</span></p>
<p style="padding-left: 30px;"><span style="color: #808080;">MODEL ON &#8220;working-file.pix&#8221; OVER dbiw</span></p>
<p style="padding-left: 30px;"><span style="color: #808080;">if %%2 = 1 then</span></p>
<p style="padding-left: 30px;"><span style="color: #808080;">%4 = %1;</span></p>
<p style="padding-left: 30px;"><span style="color: #808080;">%5 = %2;</span></p>
<p style="padding-left: 30px;"><span style="color: #808080;">%6 = %3;</span></p>
<p style="padding-left: 30px;"><span style="color: #808080;">else</span></p>
<p style="padding-left: 30px;"><span style="color: #808080;">%4 = 255;</span></p>
<p style="padding-left: 30px;"><span style="color: #808080;">%5 = 255;</span></p>
<p style="padding-left: 30px;"><span style="color: #808080;">%6 = 255;</span></p>
<p style="padding-left: 30px;"><span style="color: #808080;">endif;</span></p>
<p style="padding-left: 30px;"><span style="color: #808080;">ENDMODEL</span></p>
<p style="padding-left: 30px;"><span style="color: #808080;">!&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</span></p>
<p style="padding-left: 30px;"><span style="color: #808080;">! Export the resultant channels to a new file</span></p>
<p style="padding-left: 30px;"><span style="color: #808080;">!&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</span></p>
<p style="padding-left: 30px;"><span style="color: #808080;">FILI = &#8220;working-file.pix</span></p>
<p style="padding-left: 30px;"><span style="color: #808080;">FILO = &#8220;mosaic_clipped.tif</span></p>
<p style="padding-left: 30px;"><span style="color: #808080;">DBIW =</span></p>
<p style="padding-left: 30px;"><span style="color: #808080;">DBIC = 4,5,6</span></p>
<p style="padding-left: 30px;"><span style="color: #808080;">DBIB =</span></p>
<p style="padding-left: 30px;"><span style="color: #808080;">DBVS =</span></p>
<p style="padding-left: 30px;"><span style="color: #808080;">DBLUT =</span></p>
<p style="padding-left: 30px;"><span style="color: #808080;">DBPCT =</span></p>
<p style="padding-left: 30px;"><span style="color: #808080;">FTYPE = &#8220;TIF</span></p>
<p style="padding-left: 30px;"><span style="color: #808080;">FOPTIONS = &#8220;&#8221;</span></p>
<p style="padding-left: 30px;"><span style="color: #808080;">RUN FEXPORT</span></p>
<p style="padding-left: 30px;"><span style="color: #808080;">!&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</span></p>
<p>&nbsp;</p>
<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://tmackinnon.com/bitmap_clip.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

