<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xml:base="https://tekmap.ns.ca"  xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
 <title>Tekmap Consulting blogs</title>
 <link>https://tekmap.ns.ca/blog</link>
 <description></description>
 <language>en</language>
<item>
 <title>Navigation output using MB System and GDAL</title>
 <link>https://tekmap.ns.ca/blog/mbsystem/nav-export1</link>
 <description>&lt;div class=&quot;field field--name-body field--type-text-with-summary field--label-hidden&quot;&gt;&lt;div class=&quot;field__items&quot;&gt;&lt;div class=&quot;field__item even&quot; property=&quot;content:encoded&quot;&gt;&lt;h2&gt;
	Introduction&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;#updates&quot;&gt;&lt;img alt=&quot;New&quot; class=&quot;left-icon&quot; src=&quot;/sites/default/files/pictures/new_icon2_2.png&quot; style=&quot;width: 22px; height: 20px;&quot; /&gt;&lt;/a&gt;Program updated on September 7, 2012. List of updates is given &lt;a href=&quot;#updates&quot;&gt;below&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a class=&quot;colorbox&quot; href=&quot;/sites/default/files/pictures/mb_nav_ogr_kml_example.jpg&quot; rel=&quot;gallery-all72&quot; title=&quot;MB-System Navigation Example Displayed in GoogleEarth&quot;&gt;&lt;img alt=&quot;MB-System Navigation Example Displayed in GoogleEarth&quot; class=&quot;right&quot; src=&quot;/sites/default/files/pictures/mb_nav_ogr_kml_example_0.jpg&quot; style=&quot;width: 196px; height: 120px;&quot; /&gt;&lt;/a&gt;The &lt;strong&gt;mb_out_nav&lt;/strong&gt; program is a simple interface between &lt;a href=&quot;http://www.ldeo.columbia.edu/res/pi/MB-System/&quot; target=&quot;_blank&quot;&gt;MB System&lt;/a&gt; and &lt;a href=&quot;http://www.gdal.org/&quot; target=&quot;_blank&quot;&gt;GDAL/OGR&lt;/a&gt;. The program is used to export multibeam navigation from MB System to a multi-segment vector file supported by GDAL/OGR. Each segment of the exported multibeam navigation is tagged with the following attributes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
		multibeam filename&lt;/li&gt;
&lt;li&gt;
		year&lt;/li&gt;
&lt;li&gt;
		julian day&lt;/li&gt;
&lt;li&gt;
		line length in seconds&lt;/li&gt;
&lt;li&gt;
		line length in kilometres&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;When imported into a GIS the vector attributes can be queried and used to control vector display. For example:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
		to display all lines segments greater than 1.5 km in length&lt;/li&gt;
&lt;li&gt;
		to display all lines segments from Julian Day 126&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
	Vector Formats&lt;/h2&gt;
&lt;p&gt;The GDAL/OGR library allows output to a number of different &lt;a href=&quot;http://www.gdal.org/ogr_formats.html&quot; target=&quot;_blank&quot;&gt;vector formats&lt;/a&gt;. The formats currently supported by &lt;strong&gt;mb_out_nav&lt;/strong&gt; include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
		ESRI Shapefile&lt;/li&gt;
&lt;li&gt;
		MapInfo TAB and MIF formats&lt;/li&gt;
&lt;li&gt;
		GoogleEarth KML&lt;/li&gt;
&lt;li&gt;
		Generic Mapping Tools (GMT)&lt;/li&gt;
&lt;li&gt;
		Geography Markup Language (GML)&lt;/li&gt;
&lt;li&gt;
		The geospatial data interchange format based on JavaScript Object Notation (GeoJSON)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The output format is automatically determined from the output file extension. For example &lt;em&gt;output.kml &lt;/em&gt;will use the GDAL/OGR KML driver.&lt;/p&gt;
&lt;h2&gt;
	Re-Projection&lt;/h2&gt;
&lt;p&gt;The program uses the GDAL projection functions to re-project the exported data if required. It accepts projection arguments in any of the formats supported by GDAL. This includes EPSG, proj strings, and WKT. For more information on accepted projections formats, check the &lt;a href=&quot;http://www.gdal.org/gdal_utilities.html&quot; target=&quot;_blank&quot;&gt;GDAL utilities pages&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;
	Usage&lt;/h2&gt;
&lt;p&gt;The mb_out_nav can be run from the command line with the following arguments:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;mb_out_nav -i mb_datalist -o output_vector -n navigation_channel -p projection_info -f -e&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;where&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;mb_datalist&lt;/strong&gt;&lt;/em&gt; is the MB System compatible data list made up of multibeam filenames, and their associated format&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;output_vector &lt;/em&gt;&lt;/strong&gt;is the name assigned to the output vector file. The file extension determines the output vector format.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;navigation_channel&lt;/strong&gt;&lt;/em&gt; [optional] is the navigation channel number to export.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;projection_info&lt;/strong&gt;&lt;/em&gt; [optional] is the &lt;a href=&quot;http://www.gdal.org/gdal_utilities.html&quot; target=&quot;_blank&quot;&gt;GDAL supported&lt;/a&gt; string for re-projecting the navigation before saving. &lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;-f&lt;/strong&gt;&lt;/em&gt; with use the fast navigation file (.fnv) if it is available [Note: this flag will override the -e flag].&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;-e&lt;/em&gt;&lt;/strong&gt; will use navigation edit file (.nve) if it is available.&lt;/p&gt;
&lt;p&gt;The individual multibeam filenames are printed to &lt;em&gt;stderr&lt;/em&gt; as they are read.&lt;/p&gt;
&lt;h2&gt;
	Examples&lt;/h2&gt;
&lt;p&gt;The following examples provide various options for creating a navigation vector from a MB System data list entitled &lt;em&gt;datalist.txt&lt;/em&gt;.&lt;/p&gt;
&lt;h3&gt;
	KML&lt;/h3&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;mb_out_nav -i datalist.txt -o navigation.kml&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3&gt;
	ESRI Shapefile&lt;/h3&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;mb_out_nav -i datalist.txt -o navigation.shp&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3&gt;
	MapInfo MIF Re-Projected to UTM Zone 8N&lt;/h3&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;mb_out_nav -i datalist.txt -o navigation.tab -p EPSG:32608&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2&gt;
	Installation&lt;/h2&gt;
&lt;p&gt;Download the gzipped tar file &lt;a href=&quot;/sites/default/files/downloads/mb_out_nav.tar.gz&quot;&gt;&lt;img alt=&quot;download&quot; src=&quot;/sites/default/files/pictures/download_0.png&quot; style=&quot;width: 25px; height: 28px; border-width: 0pt; border-style: solid;&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;/sites/default/files/downloads/mb_out_nav.tar.gz&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Extract the tar file.&lt;/p&gt;
&lt;p&gt;The &lt;strong&gt;mb_out_nav&lt;/strong&gt; program is suppled with source code and a Makefile. No pre-compiled binaries are available at this time. The program requires the GDAL development files and the installed MB System.&lt;/p&gt;
&lt;p&gt;To build the program edit the Makefile and set the prefix to the location of your installed MB System (e.g.&lt;em&gt; /usr/local/mbsystem&lt;/em&gt;) and run make. Run make install (may need root privilege) to install the program in the MB System bin directory.&lt;/p&gt;
&lt;p&gt;If nedCDF is not installed in a standard location you may have to set the directory in the in the Makefile. To set the netCDF location edit the Makefile and add the full path to the &lt;strong&gt;&lt;em&gt;LIBS&lt;/em&gt;&lt;/strong&gt; line with a &quot;-L&quot; flag (e.g. &lt;em&gt;-L/usr/local/netcdf-4.1.3/lib&lt;/em&gt;).&lt;/p&gt;
&lt;h2&gt;
	ToDo&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
		More testing and debugging.&lt;/li&gt;
&lt;li&gt;
		&lt;s&gt;Add support for reading MB navigation edit (.nve) files.&lt;/s&gt;&lt;/li&gt;
&lt;li&gt;
		&lt;s&gt;Add support for reading MB fast navigation (.fnv) files.&lt;/s&gt;&lt;/li&gt;
&lt;li&gt;
		Add additional vector formats.&lt;/li&gt;
&lt;li&gt;
		Add additional vector attributes such as start and stop times.&lt;/li&gt;
&lt;li&gt;
		Add vector attributes for project and folder names.&lt;/li&gt;
&lt;li&gt;
		Add support for exporting soundings (wkbPoint).&lt;/li&gt;
&lt;li&gt;
		Probably lots more...&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
	&lt;a name=&quot;updates&quot; id=&quot;updates&quot;&gt;Updates&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;(&lt;em&gt;Updated on September 7, 2012&lt;/em&gt;)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
		Added a new -e flag to read navigation edit file if is available. It it is not available, the program fall back to the original raw file.&lt;/li&gt;
&lt;li&gt;
		Added a new -f flag to read fast navigation file if is available. It it is not available, the program fall back to the nav edit file (-e) or the original raw file.&lt;/li&gt;
&lt;li&gt;
		Changed the name of the source directory (and tar filename) to match name of executable.&lt;/li&gt;
&lt;li&gt;
		Minor code cleanup.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;em&gt;(Updated on July 4, 2012)&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
		Added math lib (-lm) to LIBS in Makefile&lt;/li&gt;
&lt;li&gt;
		Changed Filename attribute to Name for improved display in GoogleEarth (KML)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Thanks to Gordon Kieth for Bugfix and Comments.&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field--name-field-categories field--type-taxonomy-term-reference field--label-inline clearfix&quot;&gt;&lt;div class=&quot;field__label&quot;&gt;Categories:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field__items&quot;&gt;&lt;div class=&quot;field__item even&quot;&gt;&lt;a href=&quot;/blog/mb-system-blog&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;MB-System&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field--name-field-tags field--type-taxonomy-term-reference field--label-inline clearfix&quot;&gt;&lt;div class=&quot;field__label&quot;&gt;Tags:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field__items&quot;&gt;&lt;div class=&quot;field__item even&quot;&gt;&lt;a href=&quot;/tags/mb-system&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;MB-System&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;field__item odd&quot;&gt;&lt;a href=&quot;/tags/gdal&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;GDAL&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;field__item even&quot;&gt;&lt;a href=&quot;/tags/gis&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;GIS&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;field__item odd&quot;&gt;&lt;a href=&quot;/tags/vector&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;vector&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;field__item even&quot;&gt;&lt;a href=&quot;/tags/custom-software&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;custom software&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description>
 <pubDate>Fri, 07 Sep 2012 12:41:20 +0000</pubDate>
 <dc:creator>R_Covill</dc:creator>
 <guid isPermaLink="false">72 at https://tekmap.ns.ca</guid>
 <comments>https://tekmap.ns.ca/blog/mbsystem/nav-export1#comments</comments>
</item>
<item>
 <title>The Command List for How-to Import Multibeam Bathymetry Into GRASS</title>
 <link>https://tekmap.ns.ca/blog/mb-grass-howto-command</link>
 <description>&lt;div class=&quot;field field--name-body field--type-text-with-summary field--label-hidden&quot;&gt;&lt;div class=&quot;field__items&quot;&gt;&lt;div class=&quot;field__item even&quot; property=&quot;content:encoded&quot;&gt;&lt;p&gt;In the &lt;a href=&quot;/blog/mb-grass-howto&quot;&gt;previous post&lt;/a&gt;, I described how to import multibeam navigation and bathymetry into GRASS using the wxPython Graphical User Interface (GUI).&lt;/p&gt;
&lt;p&gt;&lt;a class=&quot;colorbox&quot; href=&quot;/sites/default/files/pictures/blog_images/loihi_bathy_contours.jpg&quot; rel=&quot;gallery-all78&quot; title=&quot;Loihi Bathymetry with Haxby Colors and 200m Contours&quot;&gt;&lt;img alt=&quot;Loihi Bathy with Haxby colors and contours&quot; class=&quot;right&quot; src=&quot;/sites/default/files/pictures/blog_images/loihi_bathy_contours_0.jpg&quot; style=&quot;width: 120px; height: 113px; &quot; /&gt;&lt;/a&gt;&lt;a class=&quot;colorbox&quot; href=&quot;/sites/default/files/pictures/blog_images/loihi_bathy.jpg&quot; rel=&quot;gallery-all78&quot; title=&quot;Loihi Bathymetry Smoothed with r.neighbours, Haxby Colors&quot;&gt;&lt;img alt=&quot;Loihi Bathy with Haxby colors&quot; class=&quot;right&quot; src=&quot;/sites/default/files/pictures/blog_images/loihi_bathy_0.jpg&quot; style=&quot;width: 120px; height: 113px;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this post, I describe how to accomplish the same basic import steps by using the GRASS command line interface instead of the GUI. If you are familiar with the command line interface, this process can be a lot faster.&lt;/p&gt;
&lt;p&gt;The basic import steps are:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
		&lt;a href=&quot;#Step1&quot;&gt;Creating a data list and extracting navigation&lt;/a&gt;&lt;a href=&quot;#Step1&quot;&gt;.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
		&lt;a href=&quot;#Step2&quot;&gt;Importing navigation into GRASS and setting the map region.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
		&lt;a href=&quot;#Step3&quot;&gt;Gridding the multibeam bathymetry.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
		&lt;a href=&quot;#Step4&quot;&gt;Assigning a color table to the gridded bathymetry.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
		&lt;a href=&quot;#Step5&quot;&gt;Creating a sun-illuminated bathymetry map.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
		&lt;a href=&quot;#Step6&quot;&gt;Creating a color-shaded bathymetry map.&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;
	&lt;a name=&quot;Step1&quot; id=&quot;Step1&quot;&gt;&lt;/a&gt;Step 1: Creating a Data List and Extracting Navigation&lt;/h3&gt;
&lt;p&gt;Follow the same steps given in Step 1 in the &lt;a href=&quot;/blog/mb-grass-howto&quot;&gt;previous post&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;
	&lt;a name=&quot;Step2&quot; id=&quot;Step2&quot;&gt;&lt;/a&gt;Step 2: Importing Navigation into GRASS and Setting the Map Region&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;
		Import the navigation using &lt;strong&gt;v.in.ogr&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;em&gt;v.in.ogr dsn=sumnerloihi1997_navigation.shp out=sumnerloihi1997_navigation&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ol start=&quot;2&quot;&gt;
&lt;li&gt;
		Set the GRASS Region to the imported vector&lt;/li&gt;
&lt;/ol&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;em&gt;g.region vect=sumnerloihi1997_navigation&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ol start=&quot;3&quot;&gt;
&lt;li&gt;
		Set the Region resolution to 50m.&lt;/li&gt;
&lt;/ol&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;em&gt;g.region -a res=50&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;In the previous step, you may want to use the GUI to fine tune the region extents.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;HINT:&lt;/strong&gt; At this stage you could use &lt;em&gt;g.region -bg&lt;/em&gt; to get the region bounds for use with the MB-System gridding program &lt;em&gt;mbgrid.&lt;/em&gt;&lt;/p&gt;
&lt;h3&gt;
	&lt;a name=&quot;Step3&quot; id=&quot;Step3&quot;&gt;&lt;/a&gt;Step 3: Gridding the Multibeam Bathymetry&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;
		&lt;a class=&quot;colorbox&quot; href=&quot;/sites/default/files/pictures/blog_images/loihi_backscatter.jpg&quot; rel=&quot;gallery-all78&quot; title=&quot;Loihi Backscatter with Equalized Grey Colors&quot;&gt;&lt;img alt=&quot;Loihi backscatter with equalized grey colors&quot; class=&quot;right&quot; src=&quot;/sites/default/files/pictures/blog_images/loihi_backscatter_0.jpg&quot; style=&quot;width: 120px; height: 113px;&quot; /&gt;&lt;/a&gt;Import the multibeam bathymetry into GRASS using &lt;strong&gt;r.in.mb&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;em&gt;r.in.mb inp=SumnerLoihi1997_data_list.txt out=SumnerLoihi1997_Bathy_50m&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;NOTE: &lt;/strong&gt;Use the same command with a &quot;&lt;em&gt;-a&lt;/em&gt;&quot; flag to import mutlibeam backscatter.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;(&lt;em&gt;r.in.mb -a inp=SumnerLoihi1997_data_list.txt out=SumnerLoihi1997_Backscatter_50m&lt;/em&gt;)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3&gt;
	&lt;a name=&quot;Step4&quot; id=&quot;Step4&quot;&gt;&lt;/a&gt;Step 4: Assigning a Color Table to the Gridded Multibeam Data&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;
		Use the &lt;strong&gt;r.colors&lt;/strong&gt; command to assign a color table.&lt;/li&gt;
&lt;/ol&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;em&gt;r.colors map=SumnerLoihi1997_Bathy_50m color=bcyr&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;HINT:&lt;/strong&gt; The bcyr and haxby color tables work well for bathymetry, and the grey color table works well for backscatter and sidescan. The Histogram equalization flag &quot;&lt;em&gt;-e&lt;/em&gt;&quot; can be used to distribute the colors evenly.&lt;/p&gt;
&lt;h3&gt;
	&lt;a name=&quot;Step5&quot; id=&quot;Step5&quot;&gt;&lt;/a&gt;Step 5: Creating a Sun-illuminated Bathymetry Map&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;
		Ensure the GRASS region is set to the imported bathymetry.&lt;/li&gt;
&lt;/ol&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;em&gt;g.region rst=SumnerLoihi1997_Bathy_50m&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ol start=&quot;2&quot;&gt;
&lt;li&gt;
		Run &lt;strong&gt;r.shaded.relief&lt;/strong&gt; to create a grey sun-illuminated bathyemtry map.&lt;/li&gt;
&lt;/ol&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;em&gt;r.shaded relief map=SumnerLoihi1997_Bathy_50m shademap=SumnerLoihi1997_Bathy_50m_shade alttude=30 azimuth=230 zmult=5&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3&gt;
	&lt;a name=&quot;Step6&quot; id=&quot;Step6&quot;&gt;&lt;/a&gt;Step 6: Creating a Color Shaded Bathymetry Map&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;
		Ensure the GRASS region is set to the imported bathymetry.&lt;/li&gt;
&lt;/ol&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;em&gt;g.region rst=SumnerLoihi1997_Bathy_50m&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ol start=&quot;2&quot;&gt;
&lt;li&gt;
		Using the &lt;strong&gt;r.his&lt;/strong&gt; command combine the color (HUE) bathymetry created in Step 3 with the shaded (INTENSITY) bathymetry created in Step 5.&lt;/li&gt;
&lt;/ol&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;em&gt;r.his -n h_map=SumnerLoihi1997_Bathy_50m i_map=SumnerLoihi1997_Bathy_50m_shade r_map=SumnerLoihi1997_Bathy_50m_red g_map=SumnerLoihi1997_Bathy_50m_green b_map=SumnerLoihi1997_Bathy_50m_blue&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ol start=&quot;3&quot;&gt;
&lt;li&gt;
		Using&lt;strong&gt; r.composite&lt;/strong&gt; combine the RGB output from &lt;strong&gt;r.his&lt;/strong&gt; into a single map.&lt;/li&gt;
&lt;/ol&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;em&gt;r.composite red=SumnerLoihi1997_Bathy_50m_red green=SumnerLoihi1997_Bathy_50m_green blue=SumnerLoihi1997_Bathy_50m_blue output=SumnerLoihi1997_Bathy_50m_combined&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ol start=&quot;4&quot;&gt;
&lt;li&gt;
		[Optional] Remove the RGB maps created by &lt;strong&gt;r.his&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;em&gt;g.remove rast=SumnerLoihi1997_Bathy_50m_red,\&lt;br /&gt;
		SumnerLoihi1997_Bathy_50m_green,\&lt;br /&gt;
		SumnerLoihi1997_Bathy_50m_blue&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field--name-field-categories field--type-taxonomy-term-reference field--label-inline clearfix&quot;&gt;&lt;div class=&quot;field__label&quot;&gt;Categories:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field__items&quot;&gt;&lt;div class=&quot;field__item even&quot;&gt;&lt;a href=&quot;/blog/grass-extras&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;GRASS Extras&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field--name-field-tags field--type-taxonomy-term-reference field--label-inline clearfix&quot;&gt;&lt;div class=&quot;field__label&quot;&gt;Tags:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field__items&quot;&gt;&lt;div class=&quot;field__item even&quot;&gt;&lt;a href=&quot;/tags/grass-vector&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;GRASS vector&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;field__item odd&quot;&gt;&lt;a href=&quot;/tags/grass&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;GRASS&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;field__item even&quot;&gt;&lt;a href=&quot;/tags/mb-system&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;MB-System&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;field__item odd&quot;&gt;&lt;a href=&quot;/tags/multibeam&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;multibeam&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;field__item even&quot;&gt;&lt;a href=&quot;/tags/import&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;import&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description>
 <pubDate>Wed, 05 Sep 2012 18:58:43 +0000</pubDate>
 <dc:creator>R_Covill</dc:creator>
 <guid isPermaLink="false">78 at https://tekmap.ns.ca</guid>
 <comments>https://tekmap.ns.ca/blog/mb-grass-howto-command#comments</comments>
</item>
<item>
 <title>How-to Import Multibeam Bathymetry Into GRASS Using MB-System</title>
 <link>https://tekmap.ns.ca/blog/mb-grass-howto</link>
 <description>&lt;div class=&quot;field field--name-body field--type-text-with-summary field--label-hidden&quot;&gt;&lt;div class=&quot;field__items&quot;&gt;&lt;div class=&quot;field__item even&quot; property=&quot;content:encoded&quot;&gt;&lt;p&gt;&lt;a class=&quot;colorbox&quot; href=&quot;/sites/default/files/pictures/blog_images/r_composite_map_3D_1.jpg&quot; rel=&quot;gallery-all77&quot; title=&quot;3-D View with GRASS of Loihi Multibeam &quot;&gt;&lt;img alt=&quot;3D View with GRASS of Loihi Multibeam &quot; class=&quot;right&quot; src=&quot;/sites/default/files/pictures/blog_images/r_composite_map_3D_0.jpg&quot; style=&quot;width: 120px; height: 71px;&quot; /&gt;&lt;/a&gt;This how-to exercise covers the basic steps I use to import multibeam data into &lt;a href=&quot;http://grass.fbk.eu/&quot; target=&quot;_blank&quot;&gt;GRASS&lt;/a&gt; using &lt;a href=&quot;http://www.ldeo.columbia.edu/res/pi/MB-System/&quot; target=&quot;_blank&quot;&gt;MB-System&lt;/a&gt;. The multibeam data used for this exercise are a portion of the Loihi data available from the MB-System &lt;a href=&quot;ftp://ftp.ldeo.columbia.edu/pub/MB-System/loihi.tgz&quot; target=&quot;_blank&quot;&gt;download page&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;You should already have &lt;strong&gt;GRASS&lt;/strong&gt;, &lt;strong&gt;GDAL&lt;/strong&gt;, and &lt;strong&gt;MB-System&lt;/strong&gt; installed. Also, you need to download and extract the &lt;strong&gt;Loihi&lt;/strong&gt; data.&lt;/p&gt;
&lt;p&gt;For this exercise, you also need to download the Add-On programs &lt;strong&gt;&lt;a href=&quot;/blog/mbsystem/nav-export1&quot;&gt;mb_nav_ogr&lt;/a&gt; &lt;/strong&gt;and&lt;strong&gt; &lt;a href=&quot;/blog/multibeam-import&quot;&gt;r.in.mb&lt;/a&gt;&lt;/strong&gt; available from this site. These programs simplify the process of moving multibeam data into GRASS for post-processing.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;NOTE:&lt;/strong&gt; This how-to exercise describes how to to import multibeam bathymetry using the GRASS &lt;a href=&quot;http://grass.osgeo.org/grass64/manuals/html64_user/wxGUI.html&quot; target=&quot;_blank&quot;&gt;wxPython&lt;/a&gt; Graphical User Interface (GUI). In my &lt;a href=&quot;/blog/mb-grass-howto-command&quot;&gt;next post&lt;/a&gt;, I describe the same procedures using the GRASS command line interface.&lt;/p&gt;
&lt;p&gt;Before you start, you need to setup a GRASS location for &lt;strong&gt;UTM Map Zone 4N&lt;/strong&gt; referenced to &lt;strong&gt;WGS84&lt;/strong&gt;. The EPSG code for this location is &lt;strong&gt;32604&lt;/strong&gt;. The basic steps to import multibeam data into GRASS using MB-System include:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
		&lt;a href=&quot;#step1&quot;&gt;Creating a data list and extracting navigation&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;
		&lt;a href=&quot;#step2&quot;&gt;Importing navigation into GRASS and setting the map region.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
		&lt;a href=&quot;#step3&quot;&gt;Gridding the multibeam bathymetry&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;
		&lt;a href=&quot;#step4&quot;&gt;Assigning a color table to the gridded bathymetry.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
		&lt;a href=&quot;#step5&quot;&gt;Creating a sun-illuminated  bathymetry map.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
		&lt;a href=&quot;#step6&quot;&gt;Creating a color-shaded bathymetry map&lt;/a&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;
	&lt;a name=&quot;step1&quot; id=&quot;step1&quot;&gt;&lt;/a&gt;Step 1: Creating a Data List and Extracting Navigation&lt;/h3&gt;
&lt;p&gt;For this exercise, you are working with the GSF (MB ID=121) multibeam data in the&lt;strong&gt; SumnerLoihi1997&lt;/strong&gt; folder of the &lt;strong&gt;Loihi&lt;/strong&gt; dataset.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;NOTE:&lt;/strong&gt; The &lt;strong&gt;Loihi&lt;/strong&gt; dataset contains both raw and processed multibeam data, plus any related ancillary files (fast bathy, fast nav, etc).&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
		To create a new MB-System data list for the &lt;strong&gt;SumnerLoihi1997&lt;/strong&gt; folder, run this command.&lt;/li&gt;
&lt;/ol&gt;
&lt;blockquote&gt;&lt;p&gt;ls SumnerLoihi1997/*.d01 SumnerLoihi1997/*.d02 | awk &#039;{print $1&quot; 121 1.0&quot;}&#039; &amp;gt; SumnerLoihi1997_data_list.txt&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p class=&quot;rteindent1&quot;&gt;This produces a list of the unprocessed multibeam data in the &lt;strong&gt;SumnerLoihi1997&lt;/strong&gt; folder. You can use a similar command to list the processed data.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;ls SumnerLoihi1997/*p.mb121 | awk &#039;{print $1&quot; 121 1.0&quot;}&#039; &amp;gt; SumnerLoihi1997_data_list.txt&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ol start=&quot;2&quot;&gt;
&lt;li&gt;
		Extract the navigation as an &lt;em&gt;&lt;strong&gt;ESRI&lt;/strong&gt;&lt;/em&gt; Shapefile using the &lt;em&gt;&lt;strong&gt;mb_nav_ogr&lt;/strong&gt;&lt;/em&gt; command.&lt;/li&gt;
&lt;/ol&gt;
&lt;blockquote&gt;&lt;p&gt;mb_out_nav -i SumnerLoihi1997_data_list.txt -o sumnerloihi1997_navigation.shp -p EPSG:32604&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The extracted navigation file &lt;em&gt;sumnerloihi1997_navigation.shp&lt;/em&gt; is now ready to import into GRASS.&lt;/p&gt;
&lt;h3&gt;
	&lt;a name=&quot;step2&quot; id=&quot;step2&quot;&gt;&lt;/a&gt;Step 2: Importing Navigation Into GRASS and Setting the Map Region&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;
		&lt;a class=&quot;colorbox&quot; href=&quot;/sites/default/files/pictures/import_vector_dialog.jpg&quot; rel=&quot;gallery-all77&quot; title=&quot;Import Vector Dialog Box (v.in.ogr)&quot;&gt;&lt;img alt=&quot;Import vector dialog&quot; class=&quot;right&quot; src=&quot;/sites/default/files/pictures/import_vector_dialog_0.jpg&quot; style=&quot;width: 120px; height: 129px;&quot; /&gt;&lt;/a&gt; From the &lt;strong&gt;&lt;em&gt;GRASS GIS Layer Manager&lt;/em&gt;&lt;/strong&gt;, select &lt;em&gt;&lt;strong&gt;File-&amp;gt;Import vector data-&amp;gt;Common import formats [v.in.ogr&lt;/strong&gt;&lt;/em&gt;].&lt;br /&gt;
		The Import vector data dialog opens.&lt;/li&gt;
&lt;li&gt;
		Using the &lt;em&gt;&lt;strong&gt;Browse&lt;/strong&gt;&lt;/em&gt; button in the&lt;em&gt;&lt;strong&gt; Source&lt;/strong&gt;&lt;/em&gt; section, select the Shapefile &lt;em&gt;sumnerloihi1997_navigation.shp&lt;/em&gt;. Ensure &lt;em&gt;&lt;strong&gt;Add imported layers into layer tree&lt;/strong&gt;&lt;/em&gt; is selected.&lt;/li&gt;
&lt;li&gt;
		To import the Shapefile into &lt;em&gt;&lt;strong&gt;GRASS&lt;/strong&gt;&lt;/em&gt;, select &lt;strong&gt;&lt;em&gt;Import&lt;/em&gt;&lt;/strong&gt;.&lt;br /&gt;
		The imported GRASS vector is saved with the same filename minus the &quot;.shp&quot; extension ( &lt;em&gt;sumnerloihi1997_navigation&lt;/em&gt;).&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;a class=&quot;colorbox&quot; href=&quot;/sites/default/files/pictures/blog_images/import_navigation_map.jpg&quot; rel=&quot;gallery-all77&quot; title=&quot;Imported Navigation Vector&quot;&gt;&lt;img alt=&quot;Imported navigation vector&quot; class=&quot;right&quot; src=&quot;/sites/default/files/pictures/blog_images/import_navigation_map_0.jpg&quot; style=&quot;width: 120px; height: 93px;&quot; /&gt;&lt;/a&gt;At this point, you can change the display properties of the imported navigation. The imported navigation can also be queried based upon import attributes (Name, Year, Julian Day, Distance, Total Time). You can now use the imported navigation to the set the region for gridding the bathymetry. It is also a useful way to inspect the navigation for any any errors. If there are errors in the navigation, edit the problem file(s) with mbnavedit, and repeat the above import process.&lt;/p&gt;
&lt;ol start=&quot;4&quot;&gt;
&lt;li&gt;
		&lt;a class=&quot;colorbox&quot; href=&quot;/sites/default/files/pictures/blog_images/import_navigation_map_zoom.jpg&quot; rel=&quot;gallery-all77&quot; title=&quot;Zoom Area to be Used for Gridding&quot;&gt;&lt;img alt=&quot;Zoom area for gridding&quot; class=&quot;right&quot; src=&quot;/sites/default/files/pictures/blog_images/import_navigation_map_zoom_0.jpg&quot; style=&quot;width: 120px; height: 93px;&quot; /&gt;&lt;/a&gt;From the &lt;em&gt;&lt;strong&gt;Map Display&lt;/strong&gt;&lt;/em&gt;, use the &lt;em&gt;&lt;strong&gt;Zoom&lt;/strong&gt;&lt;/em&gt; buttons to adjust the &lt;em&gt;&lt;strong&gt;GRASS&lt;/strong&gt;&lt;/em&gt; Region.&lt;br /&gt;
		For this example, I focused on the mosaic block ignoring the transit lines to the east and west.&lt;/li&gt;
&lt;li&gt;
		To apply the current display region from the &lt;em&gt;&lt;strong&gt;Map Display&lt;/strong&gt;&lt;/em&gt;, select &lt;em&gt;&lt;strong&gt;Various zoom options-&amp;gt;&lt;/strong&gt;&lt;/em&gt;&lt;strong&gt;&lt;em&gt;Set computational region from display extent&lt;/em&gt;&lt;/strong&gt;.&lt;br /&gt;
		After the region extent is set, the region resolution must be set. The region resolution determines the resolution of the gridded multibeam map.&lt;/li&gt;
&lt;li&gt;
		To set  the &lt;em&gt;&lt;strong&gt;GRASS&lt;/strong&gt;&lt;/em&gt; region resolution, select &lt;em&gt;&lt;strong&gt;Settings-&amp;gt;Region-&amp;gt;Set Region [g.region]&lt;/strong&gt;&lt;/em&gt;.&lt;br /&gt;
		The g.region dialog opens.&lt;/li&gt;
&lt;li&gt;
		Under the &lt;em&gt;&lt;strong&gt;Bounds&lt;/strong&gt;&lt;/em&gt; tab in the the &lt;em&gt;&lt;strong&gt;g.region&lt;/strong&gt;&lt;/em&gt; dialog, select &lt;em&gt;&lt;strong&gt;Align region to resolution&lt;/strong&gt;&lt;/em&gt;.&lt;strong&gt; &lt;/strong&gt; Under the &lt;em&gt;&lt;strong&gt;Resolution&lt;/strong&gt;&lt;/em&gt; tab, enter a value (50) in the &lt;em&gt;&lt;strong&gt;Grid resolution 2D&lt;/strong&gt;&lt;/em&gt; box.&lt;br /&gt;
		For this example, use a resolution of 50 meters.&lt;/li&gt;
&lt;li&gt;
		To apply the new region resolution, select &lt;em&gt;&lt;strong&gt;Run&lt;/strong&gt;&lt;/em&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The GRASS region has now been set and you are ready to grid the multibeam bathymetry.&lt;/p&gt;
&lt;h3&gt;
	&lt;a name=&quot;step3&quot; id=&quot;step3&quot;&gt;&lt;/a&gt;Step 3: Gridding the Multibeam Bathymetry&lt;/h3&gt;
&lt;p&gt;&lt;a class=&quot;colorbox&quot; href=&quot;/sites/default/files/pictures/blog_images/import_mb_dialog.jpg&quot; rel=&quot;gallery-all77&quot; title=&quot;The r.in.mb Dialog Box&quot;&gt;&lt;img alt=&quot;r.in.mb dialog&quot; class=&quot;right&quot; src=&quot;/sites/default/files/pictures/blog_images/import_mb_dialog_0.jpg&quot; style=&quot;width: 120px; height: 98px; &quot; /&gt;&lt;/a&gt;To grid the multibeam bathymetry, use the &lt;strong&gt;r.in.mb&lt;/strong&gt; GRASS add-on.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
		From the &lt;em&gt;&lt;strong&gt;Command console&lt;/strong&gt;&lt;/em&gt; tab in the &lt;em&gt;&lt;strong&gt;Layer Manager &lt;/strong&gt;&lt;/em&gt;window, type &lt;em&gt;&lt;strong&gt;r.in.mb &lt;/strong&gt;&lt;/em&gt;and press &lt;em&gt;&lt;strong&gt;Enter&lt;/strong&gt;&lt;/em&gt;.&lt;br /&gt;
		The r.in.mb dialog opens.&lt;/li&gt;
&lt;li&gt;
		Under the &lt;em&gt;&lt;strong&gt;Required&lt;/strong&gt;&lt;/em&gt; tab using the &lt;em&gt;&lt;strong&gt;Browse&lt;/strong&gt;&lt;/em&gt; button, select the &lt;em&gt;&lt;strong&gt;MB-System&lt;/strong&gt;&lt;/em&gt; data list &lt;em&gt;SumnerLoihi1997_data_list.txt.&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;
		In the &lt;em&gt;&lt;strong&gt;Name for output raster map&lt;/strong&gt;&lt;/em&gt; box, type the name for the new &lt;em&gt;&lt;strong&gt;GRASS&lt;/strong&gt;&lt;/em&gt; file.&lt;br /&gt;
		For this example, create a new GRASS raster called &lt;em&gt;SumnerLoihi1997_Bathy_50m&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;
		To begin the gridding process, select &lt;em&gt;&lt;strong&gt;Run&lt;/strong&gt;&lt;/em&gt;.&lt;br /&gt;
		The importing and gridding process display in the Command output tab of the r.in.mb dialog. The new map displays automatically when the gridding is complete.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;NOTE:&lt;/strong&gt; This example uses the default gridding options for &lt;strong&gt;r.in.mb&lt;/strong&gt;. The dialog provides several options to control the gridding process including:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
		Gridding method (default = mean).&lt;/li&gt;
&lt;li&gt;
		Restricting by acrosstrack width and beam number.&lt;/li&gt;
&lt;li&gt;
		Restricting by speed and line length.&lt;/li&gt;
&lt;li&gt;
		Restricting by depth range.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Consult the &lt;strong&gt;r.in.mb&lt;/strong&gt; Help page for more information.&lt;/p&gt;
&lt;ol start=&quot;5&quot;&gt;
&lt;li&gt;
		&lt;a class=&quot;colorbox&quot; href=&quot;/sites/default/files/pictures/blog_images/import_bathy_map1.jpg&quot; rel=&quot;gallery-all77&quot; title=&quot;Imported Loihi Multibeam Bathymetry&quot;&gt;&lt;img alt=&quot;Imported multibeam bathymetry&quot; class=&quot;right&quot; src=&quot;/sites/default/files/pictures/blog_images/import_bathy_map1_0.jpg&quot; style=&quot;width: 120px; height: 93px;&quot; /&gt;&lt;/a&gt;To make the NULL (empty) values in the raster transparent, in the &lt;em&gt;&lt;strong&gt;Map Layers&lt;/strong&gt;&lt;/em&gt; tab, double-click the &lt;em&gt;SumnerLoihi1997_Bathy_50m &lt;/em&gt;raster. In the &lt;em&gt;&lt;strong&gt;Null cell&lt;/strong&gt;&lt;/em&gt; tab of the &lt;em&gt;&lt;strong&gt;d.rast &lt;/strong&gt;&lt;/em&gt;dialog, select &lt;em&gt;&lt;strong&gt;Overlay&lt;/strong&gt;&lt;/em&gt; and &lt;em&gt;&lt;strong&gt;OK&lt;/strong&gt;&lt;/em&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The gridded multibeam bathymetry is now ready for post-processing with the GRASS GIS. At this point, you have several options for post-processing the gridded data including:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
		Smoothing with r.neighbours.&lt;/li&gt;
&lt;li&gt;
		Visualizing in 3-D with NVIZ.&lt;/li&gt;
&lt;li&gt;
		Generating contours with r.contour.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
	&lt;a name=&quot;step4&quot; id=&quot;step4&quot;&gt;&lt;/a&gt;Step 4: Assigning a Color Table to the Gridded Bathymetry&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;
		&lt;a class=&quot;colorbox&quot; href=&quot;/sites/default/files/pictures/blog_images/assign_bathy_color.jpg&quot; rel=&quot;gallery-all77&quot; title=&quot;r.colors Dialog Box&quot;&gt;&lt;img alt=&quot;r.colors dialog&quot; class=&quot;right&quot; src=&quot;/sites/default/files/pictures/blog_images/assign_bathy_color_0.jpg&quot; style=&quot;width: 120px; height: 100px;&quot; /&gt;&lt;/a&gt;To assign a color table to the imported bathymetry, in the &lt;strong&gt;&lt;em&gt;Layer Manager, &lt;/em&gt;&lt;/strong&gt;select &lt;em&gt;&lt;strong&gt;Raster-&amp;gt;Manage colors-&amp;gt;Color tables [r.color]&lt;/strong&gt;&lt;/em&gt;.&lt;br /&gt;
		The r.colors dialog opens.&lt;/li&gt;
&lt;li&gt;
		From the &lt;em&gt;&lt;strong&gt;Name of input raster map &lt;/strong&gt;&lt;/em&gt;menu, select the name of the gridded bathymetry (&lt;em&gt;SumnerLoihi1997_Bathy_50m&lt;/em&gt;).&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Hint:&lt;/strong&gt; If the raster is already selected in the &lt;strong&gt;&lt;em&gt;Layer Manager&lt;/em&gt;&lt;/strong&gt;, the name is automatically added to the dialog.&lt;/p&gt;
&lt;ol start=&quot;3&quot;&gt;
&lt;li&gt;
		&lt;a class=&quot;colorbox&quot; href=&quot;/sites/default/files/pictures/blog_images/assign_bathy_color_map.jpg&quot; rel=&quot;gallery-all77&quot; title=&quot;Imported Bathymetry with Assigned Colortable&quot;&gt;&lt;img alt=&quot;Imported bathy with color&quot; class=&quot;right&quot; src=&quot;/sites/default/files/pictures/blog_images/assign_bathy_color_map_0.jpg&quot; style=&quot;width: 120px; height: 93px;&quot; /&gt;&lt;/a&gt;From the &lt;strong&gt;&lt;em&gt;Type of color table&lt;/em&gt;&lt;/strong&gt; menu in the &lt;em&gt;&lt;strong&gt;Colors&lt;/strong&gt;&lt;/em&gt; tab, select a color table.&lt;br /&gt;
		Use the blue-cyan-yellow-red (&lt;em&gt;&lt;strong&gt;bcyr&lt;/strong&gt;&lt;/em&gt;) color table. This assigns red to the shallow depths down through blue for the deepest. The &lt;strong&gt;&lt;em&gt;haxby&lt;/em&gt;&lt;/strong&gt; color table also works well.&lt;/li&gt;
&lt;li&gt;
		To apply the new color table to the imported bathymetry, select &lt;em&gt;&lt;strong&gt;Run&lt;/strong&gt;&lt;/em&gt;.&lt;br /&gt;
		The imported bathymetry automatically re-draws in the Map Display with the new color table.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;By default, the color table is spread evenly over the depth range for the selected raster. To apply the colors based upon data distribution (not depth range), from the &lt;em&gt;&lt;strong&gt;Colors&lt;/strong&gt;&lt;/em&gt; tab, select &lt;em&gt;&lt;strong&gt;Histogram equalization&lt;/strong&gt;&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;You are now ready to create a sun-illuminated bathymetry map.&lt;/p&gt;
&lt;h3&gt;
	&lt;a name=&quot;step5&quot; id=&quot;step5&quot;&gt;&lt;/a&gt;Step 5: Creating a Sun-Illuminated Bathymetry Map&lt;/h3&gt;
&lt;p&gt;&lt;a class=&quot;colorbox&quot; href=&quot;/sites/default/files/pictures/blog_images/shaded_bathy_dialog.jpg&quot; rel=&quot;gallery-all77&quot; title=&quot;r.shaded.relief Dialog Box&quot;&gt;&lt;img alt=&quot;r.shaded.relief dialog&quot; class=&quot;right&quot; src=&quot;/sites/default/files/pictures/blog_images/shaded_bathy_dialog_0.jpg&quot; style=&quot;width: 120px; height: 98px;&quot; /&gt;&lt;/a&gt;You are now ready to create a grey, sun-illuminated map from the imported bathymetry.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
		To create a sun-illuminated map, in the &lt;strong&gt;&lt;em&gt;Layer Manager,&lt;/em&gt;&lt;/strong&gt; select &lt;em&gt;&lt;strong&gt;Raster-&amp;gt;Terrain analysis-&amp;gt;Shaded relief [r.shaded.relief]&lt;/strong&gt;&lt;/em&gt;.&lt;br /&gt;
		The r.shaded.relief dialog opens.&lt;/li&gt;
&lt;li&gt;
		From the &lt;strong&gt;&lt;em&gt;Input elevation map&lt;/em&gt;&lt;/strong&gt; menu, select the name of the gridded bathymetry (&lt;em&gt;SumnerLoihi1997_Bathy_50m&lt;/em&gt;).&lt;/li&gt;
&lt;li&gt;
		Under the &lt;em&gt;&lt;strong&gt;Optional&lt;/strong&gt;&lt;/em&gt; tab in the &lt;em&gt;&lt;strong&gt;Output shaded relief map name&lt;/strong&gt;&lt;/em&gt; box, type a name for the sun-illuminated map.&lt;br /&gt;
		Use &lt;em&gt;SumnerLoihi1997_Bathy_50m_shade&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;
		Under the &lt;em&gt;&lt;strong&gt;Optional&lt;/strong&gt;&lt;/em&gt; tab, set the sun altitude, sun azimuth, and vertical exaggeration.&lt;br /&gt;
		Use a sun altitude of 30 degrees (default), a sun azimuth of 230 degrees, and a vertical exaggeration of 5x.&lt;/li&gt;
&lt;li&gt;
		&lt;a class=&quot;colorbox&quot; href=&quot;/sites/default/files/pictures/blog_images/shaded_bathy_map.jpg&quot; rel=&quot;gallery-all77&quot; title=&quot;Shaded Relief Map&quot;&gt;&lt;img alt=&quot;shaded relief map&quot; class=&quot;right&quot; src=&quot;/sites/default/files/pictures/blog_images/shaded_bathy_map_0.jpg&quot; style=&quot;width: 120px; height: 93px;&quot; /&gt;&lt;/a&gt;To create the new sun-illuminated map from the imported bathymetry, select &lt;em&gt;&lt;strong&gt;Run&lt;/strong&gt;&lt;/em&gt;.&lt;br /&gt;
		When the shading process is complete, the new sun-illuminated bathymetry map automatically draws in the Map Display.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;You are now ready to combine the sun-illuminated map with the color bathymetry.&lt;/p&gt;
&lt;h3&gt;
	&lt;a name=&quot;step6&quot; id=&quot;step6&quot;&gt;&lt;/a&gt;Step 6: Creating a Color-Shaded Bathymetry Map&lt;/h3&gt;
&lt;p&gt;&lt;a class=&quot;colorbox&quot; href=&quot;/sites/default/files/pictures/blog_images/rgb_to_his_dialog.jpg&quot; rel=&quot;gallery-all77&quot; title=&quot;r.his Dialog Box&quot;&gt;&lt;img alt=&quot;r.his dialog&quot; class=&quot;right&quot; src=&quot;/sites/default/files/pictures/blog_images/rgb_to_his_dialog_0.jpg&quot; style=&quot;width: 120px; height: 120px;&quot; /&gt;&lt;/a&gt;You need to combine the color bathymetry with the grey sun-illuminated map to make a color-shaded bathymetry map.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
		To combine the color bathymetry from &lt;strong&gt;Step 4 &lt;/strong&gt;with the grey sun-illuminated map from &lt;strong&gt;Step 5&lt;/strong&gt;, in the &lt;em&gt;&lt;strong&gt;Layer Manager&lt;/strong&gt;&lt;/em&gt;, select &lt;em&gt;&lt;strong&gt;Raster-&amp;gt;Manage colors-&amp;gt;RGB to HIS [r.his]&lt;/strong&gt;&lt;/em&gt;.&lt;br /&gt;
		The r.his dialog opens.&lt;/li&gt;
&lt;li&gt;
		Under the &lt;em&gt;&lt;strong&gt;Required&lt;/strong&gt;&lt;/em&gt; tab in the &lt;em&gt;&lt;strong&gt;Name of layer to be used for HUE &lt;/strong&gt;&lt;/em&gt;menu, select the name of the color bathyemtry. Type the name for the output red, green, and blue maps (RGB), and  unselect &lt;strong&gt;&lt;em&gt;Add created map(s) into the layer tree&lt;/em&gt;&lt;/strong&gt;.&lt;br /&gt;
		Use &lt;em&gt;SumnerLoihi1997_Bathy_50m_red&lt;/em&gt;, &lt;em&gt;SumnerLoihi1997_Bathy_50m_green&lt;/em&gt;, and &lt;em&gt;SumnerLoihi1997_Bathy_50m_blue&lt;/em&gt; respectively.&lt;/li&gt;
&lt;li&gt;
		Under the &lt;em&gt;&lt;strong&gt;Optional&lt;/strong&gt;&lt;/em&gt; tab in the &lt;em&gt;&lt;strong&gt;Name of layer to be used for INTENSITY &lt;/strong&gt;&lt;/em&gt;menu, select the name of the shaded bathyemtry map. Select &lt;em&gt;&lt;strong&gt;Respect NULL values while drawing&lt;/strong&gt;&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;
		To combine the color bathymetry (HUE) with the sun-illuminated bathymetry (INTENSITY), select &lt;em&gt;&lt;strong&gt;Run&lt;/strong&gt;&lt;/em&gt;.&lt;br /&gt;
		Output from this process consists of three maps, one for red, green, and blue (RGB).&lt;/li&gt;
&lt;li&gt;
		To create the final map, in the &lt;strong&gt;&lt;em&gt;Layer Manager&lt;/em&gt;&lt;/strong&gt;,&lt;strong&gt; &lt;/strong&gt;select &lt;em&gt;&lt;strong&gt;Raster-&amp;gt;Manage colors-&amp;gt;Create RGB [r.composite]&lt;/strong&gt;&lt;/em&gt;.&lt;br /&gt;
		The r.composite dialog opens.&lt;/li&gt;
&lt;li&gt;
		Under the &lt;em&gt;&lt;strong&gt;Required&lt;/strong&gt;&lt;/em&gt; tab, select the previously created red, green, and blue maps (&lt;em&gt;SumnerLoihi1997_Bathy_50m_red&lt;/em&gt;, &lt;em&gt;SumnerLoihi1997_Bathy_50m_green&lt;/em&gt;, and &lt;em&gt;SumnerLoihi1997_Bathy_50m_blue&lt;/em&gt;).&lt;/li&gt;
&lt;li&gt;
		In the &lt;em&gt;&lt;strong&gt;Name for output raster map&lt;/strong&gt;&lt;/em&gt; box, type a name for the output combined map.&lt;br /&gt;
		Use &lt;em&gt;SumnerLoihi1997_Bathy_50m_combined&lt;/em&gt; for output map.&lt;/li&gt;
&lt;li&gt;
		&lt;a class=&quot;colorbox&quot; href=&quot;/sites/default/files/pictures/blog_images/r_composite_map.jpg&quot; rel=&quot;gallery-all77&quot; title=&quot;Color Shaded Bathymetry&quot;&gt;&lt;img alt=&quot;Color shaded bathymetry&quot; class=&quot;right&quot; src=&quot;/sites/default/files/pictures/blog_images/r_composite_map_0.jpg&quot; style=&quot;width: 120px; height: 93px;&quot; /&gt;&lt;/a&gt;To create the color sun-illuminated map, select &lt;em&gt;&lt;strong&gt;Run&lt;/strong&gt;&lt;/em&gt;.&lt;br /&gt;
		When the process finishes, the new color sun-illuminated bathymetry map automatically draws in the Map Display.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;
	Conclusion&lt;/h3&gt;
&lt;p&gt;In this exercise you learned to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
		Extract navigation from multibeam data.&lt;/li&gt;
&lt;li&gt;
		import the navigation into GRASS.&lt;/li&gt;
&lt;li&gt;
		Grid multibeam bathymetry using the region set from the navigation.&lt;/li&gt;
&lt;li&gt;
		Assign a color table to the bathymetry.&lt;/li&gt;
&lt;li&gt;
		Shade the bathymetry.&lt;/li&gt;
&lt;li&gt;
		Combine the color bathymetry with the shaded bathymetry.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You completed all of these processes using the &lt;a href=&quot;http://grass.osgeo.org/grass64/manuals/html64_user/wxGUI.html&quot; target=&quot;_blank&quot;&gt;wxpython GUI&lt;/a&gt; from GRASS 6.4.&lt;/p&gt;
&lt;p&gt;If you prefer to use the command line instead of the GUI, I provide a complete list of the same steps in my &lt;a href=&quot;/blog/mb-grass-howto-command&quot;&gt;next post&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field--name-field-categories field--type-taxonomy-term-reference field--label-inline clearfix&quot;&gt;&lt;div class=&quot;field__label&quot;&gt;Categories:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field__items&quot;&gt;&lt;div class=&quot;field__item even&quot;&gt;&lt;a href=&quot;/blog/mb-system-blog&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;MB-System&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field--name-field-tags field--type-taxonomy-term-reference field--label-inline clearfix&quot;&gt;&lt;div class=&quot;field__label&quot;&gt;Tags:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field__items&quot;&gt;&lt;div class=&quot;field__item even&quot;&gt;&lt;a href=&quot;/tags/grass&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;GRASS&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;field__item odd&quot;&gt;&lt;a href=&quot;/tags/grass-vector&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;GRASS vector&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;field__item even&quot;&gt;&lt;a href=&quot;/tags/raster&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;raster&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;field__item odd&quot;&gt;&lt;a href=&quot;/tags/multibeam&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;multibeam&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;field__item even&quot;&gt;&lt;a href=&quot;/tags/bathymetry&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;bathymetry&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;field__item odd&quot;&gt;&lt;a href=&quot;/tags/map&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;map&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description>
 <pubDate>Tue, 28 Aug 2012 18:06:19 +0000</pubDate>
 <dc:creator>R_Covill</dc:creator>
 <guid isPermaLink="false">77 at https://tekmap.ns.ca</guid>
 <comments>https://tekmap.ns.ca/blog/mb-grass-howto#comments</comments>
</item>
<item>
 <title>GRASS Multibeam Import</title>
 <link>https://tekmap.ns.ca/blog/multibeam-import</link>
 <description>&lt;div class=&quot;field field--name-body field--type-text-with-summary field--label-hidden&quot;&gt;&lt;div class=&quot;field__items&quot;&gt;&lt;div class=&quot;field__item even&quot; property=&quot;content:encoded&quot;&gt;&lt;h2&gt;
	Introduction&lt;/h2&gt;
&lt;p&gt;&lt;img alt=&quot;New&quot; class=&quot;left-icon&quot; src=&quot;/sites/default/files/pictures/new_icon2_2.png&quot; style=&quot;width: 22px; height: 20px;&quot; /&gt; Updated Version Released August 15, 2012 (&lt;a href=&quot;#update1&quot;&gt;see notes below&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;The &lt;strong&gt;r.in.mb&lt;/strong&gt; GRASS/Mb-Stystem program is designed to import mbio compatible multibeam data directly into the GRASS GIS.&lt;br /&gt;
	The program is a modified version of &lt;a href=&quot;http://grass.itc.it/grass62/manuals/html62_user/r.in.xyz.html&quot; target=&quot;_blank&quot; title=&quot;r.in.xyz&quot;&gt;r.in.xyz&lt;/a&gt;. Instead of reading an ASCII XYZ file, &lt;strong&gt;r.in.mb&lt;/strong&gt; reads an &lt;a href=&quot;http://www.ldeo.columbia.edu/res/pi/MB-System/&quot; target=&quot;_new&quot;&gt;MB-System&lt;/a&gt; compatible list file as shown below.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;/data1/MULTIBEAM_DATA/RAW2007/07_Pingos_JD245_RAW/0050_20070902_154139_Petrel.all 56 1.0&lt;br /&gt;
		/data1/MULTIBEAM_DATA/RAW2007/07_Pingos_JD245_RAW/0051_20070902_155508_Petrel.all 56 1.0&lt;br /&gt;
		/data1/MULTIBEAM_DATA/RAW2007/07_Pingos_JD245_RAW/0052_20070902_161050_Petrel.all 56 1.0&lt;/p&gt;
&lt;p&gt;…&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The &lt;strong&gt;r.in.mb&lt;/strong&gt; program automatically projects the MB coordinates into the current GRASS coordinates. The program also does a simple in-fill (default = 3×3) on the imported GRASS raster. The in-fill routine is taken from the GRASS program &lt;a href=&quot;http://grass.itc.it/grass62/manuals/html62_user/r.grow.html&quot; target=&quot;_blank&quot; title=&quot;r.grow&quot;&gt;r.grow&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The &lt;strong&gt;r.in.mb&lt;/strong&gt; program uses the following new and changed command options from r.in.xyz:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Parameters:&lt;br /&gt;
		input MB-System style list-file&lt;br /&gt;
		width Restrict data by acrosstrack distance (Max)&lt;/p&gt;
&lt;p&gt;Flags:&lt;br /&gt;
		-a Use amplitude (default = bathymetry)&lt;br /&gt;
		-s Use sidescan (default = bathymetry)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The percent option of r.in.mb (xyz) allows large datasets to be imported when system memory is restricted.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Example:&lt;/p&gt;
&lt;p&gt;Step 1:&lt;br /&gt;
		Create MB-System style &lt;a href=&quot;http://www.ldeo.columbia.edu/res/pi/MB-System/html/mbdatalist.html&quot; target=&quot;_blank&quot; title=&quot;data-list&quot;&gt;data list&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Step 2:&lt;br /&gt;
		Set GRASS region and resolution for importing multibeam data.&lt;/p&gt;
&lt;p&gt;Step 3:&lt;br /&gt;
		Import bathymetry using …&lt;br /&gt;
		r.in.mb inp=datalist.mb-1 out=mb_bathy_raster&lt;br /&gt;
		Import backscatter using …&lt;br /&gt;
		r.in.mb -a inp=datalist.mb-1 out=mb_backscatter_raster&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2&gt;
	&lt;a name=&quot;update1&quot; id=&quot;update1&quot;&gt;Updated Notes:&lt;/a&gt; August 15, 2012&lt;/h2&gt;
&lt;p&gt;A new version of &lt;strong&gt;r.in.mb&lt;/strong&gt; has been released with some new options and code cleanup. A &lt;strong&gt;GRASS 7&lt;/strong&gt; version is also now available. The new options include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
		&lt;strong&gt;length&lt;/strong&gt;: allows the user to specify a minimum length for a multibeam file (default = 0.0). This allows shorter lines, such as turn lines, to be ignored during import.&lt;/li&gt;
&lt;li&gt;
		&lt;strong&gt;speed&lt;/strong&gt;: restrict data by speed (min,max). If set, it will ignore all data outside of user specified range.&lt;/li&gt;
&lt;li&gt;
		&lt;strong&gt;min_beam&lt;/strong&gt;: restrict data by minimum beam number (default = use all beams). All data less than minimum beam will be ignored.&lt;/li&gt;
&lt;li&gt;
		&lt;strong&gt;max_beam&lt;/strong&gt;: restrict data by maximum beam number (default = use all beams). All data greater than maximum beam will be ignored.&lt;/li&gt;
&lt;li&gt;
		&lt;strong&gt;mode&lt;/strong&gt;: (Simrad only) Restrict amplitude and sidescan gridding by only using pings collected in the user specified mode. Use &lt;em&gt;&lt;strong&gt;mblist &lt;/strong&gt;&lt;/em&gt;to obtain complete list of modes used during the survey.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;A few options from the original &lt;em&gt;&lt;strong&gt;r.in.xyz&lt;/strong&gt;&lt;/em&gt; that are not used have been removed.&lt;/p&gt;
&lt;h2&gt;
	Building Source&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
		Download the &lt;em&gt;&lt;strong&gt;GRASS6&lt;/strong&gt;&lt;/em&gt; source code tarball here &lt;a href=&quot;/sites/default/files/downloads/r_in_mb_grass6.tar.gz&quot;&gt;&lt;img alt=&quot;Download&quot; class=&quot;download_img&quot; src=&quot;/sites/default/files/pictures/download_0.png&quot; style=&quot;width: 25px; height: 28px; border-width: 0px; border-style: solid;&quot; /&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p class=&quot;rteindent1&quot;&gt;&lt;strong&gt;or&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
		Download the &lt;em&gt;&lt;strong&gt;GRASS7&lt;/strong&gt;&lt;/em&gt; source code tarball here &lt;a href=&quot;/sites/default/files/downloads/r_in_mb_grass7.tar.gz&quot;&gt;&lt;img alt=&quot;Download&quot; class=&quot;download_img&quot; src=&quot;/sites/default/files/pictures/download_0.png&quot; style=&quot;width: 25px; height: 28px; border-width: 0px; border-style: solid;&quot; /&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
		Extract the tar file in GRASS source tree in raster directory.&lt;/li&gt;
&lt;li&gt;
		Change to r.in.mb directory and edit the Makefile. Edit the MB_INSTALL variable at the top of the file to set the installed location of MB-System.&lt;/li&gt;
&lt;li&gt;
		Run make to build program.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;
	ToDo&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
		&lt;s&gt;Port program to GRASS v. 7 .&lt;/s&gt; done&lt;/li&gt;
&lt;li&gt;
		Improve coordinate handling. Program assumes multibeam data is in geographic coordinates and re-projects to current GRASS coordinates.&lt;/li&gt;
&lt;li&gt;
		Improve data in-filling routine.&lt;/li&gt;
&lt;li&gt;
		Add more gridding options such as &lt;s&gt;beam restriction&lt;/s&gt;, weighted beams, etc.&lt;/li&gt;
&lt;li&gt;
		&lt;s&gt;Add program to directly import multibeam navigation as GRASS vector (for setting region and showing coverage)&lt;/s&gt;. Done see &lt;a href=&quot;/blog/mbsystem/nav-export1&quot;&gt;mb_nav_ogr&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
		Build stand-alone program that uses mbio and grids using something like the &lt;a href=&quot;http://developer.gnome.org/glib/stable/glib-N-ary-Trees.html&quot;&gt;glib N-ary Tree&lt;/a&gt;. This would allow fast access to more complex gridding routines such as nearest neighbour.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field--name-field-categories field--type-taxonomy-term-reference field--label-inline clearfix&quot;&gt;&lt;div class=&quot;field__label&quot;&gt;Categories:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field__items&quot;&gt;&lt;div class=&quot;field__item even&quot;&gt;&lt;a href=&quot;/blog/grass-extras&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;GRASS Extras&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field--name-field-tags field--type-taxonomy-term-reference field--label-inline clearfix&quot;&gt;&lt;div class=&quot;field__label&quot;&gt;Tags:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field__items&quot;&gt;&lt;div class=&quot;field__item even&quot;&gt;&lt;a href=&quot;/tags/grass&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;GRASS&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;field__item odd&quot;&gt;&lt;a href=&quot;/tags/mb-system&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;MB-System&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;field__item even&quot;&gt;&lt;a href=&quot;/tags/raster&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;raster&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;field__item odd&quot;&gt;&lt;a href=&quot;/tags/multibeam&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;multibeam&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;field__item even&quot;&gt;&lt;a href=&quot;/tags/custom-software&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;custom software&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description>
 <pubDate>Wed, 15 Aug 2012 12:19:26 +0000</pubDate>
 <dc:creator>R_Covill</dc:creator>
 <guid isPermaLink="false">18 at https://tekmap.ns.ca</guid>
 <comments>https://tekmap.ns.ca/blog/multibeam-import#comments</comments>
</item>
<item>
 <title>GRASS Create Vector Circles</title>
 <link>https://tekmap.ns.ca/blog/grass-mk-circle</link>
 <description>&lt;div class=&quot;field field--name-body field--type-text-with-summary field--label-hidden&quot;&gt;&lt;div class=&quot;field__items&quot;&gt;&lt;div class=&quot;field__item even&quot; property=&quot;content:encoded&quot;&gt;&lt;h2&gt;
	Introduction&lt;/h2&gt;
&lt;p&gt;The &lt;strong&gt;&lt;em&gt;v.mk_circle&lt;/em&gt;&lt;/strong&gt; program is a simple GRASS utility to create a closed vector at a user defined location and size. The program was originally written to create a GRASS  vector for target zones at a specific location. The &lt;strong&gt;&lt;em&gt;v.mk_circle&lt;/em&gt;&lt;/strong&gt; program has since been upgraded to output other shapes (see below), and accept multiple locations and sizes from an ASCII file or standard input.&lt;/p&gt;
&lt;h2&gt;
	Usage&lt;/h2&gt;
&lt;p&gt;The &lt;strong&gt;&lt;em&gt;m.mk_circle&lt;/em&gt; &lt;/strong&gt;program will accept a single coordinate and size from the command line, or a series of locations and sizes from a file or standard input. The following command argument are accepted:&lt;/p&gt;
&lt;h2&gt;
	Flags:&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;-c &lt;/strong&gt;Build shapes as closed centroids (solid). The default is an open vector with just the outline.&lt;/p&gt;
&lt;h2&gt;
	Parameters:&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;output &lt;/strong&gt;The name of the output GRASS vector file&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;coordinate &lt;/strong&gt;The comma separated coordinate (east,north) for the centre of the shape&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;radius&lt;/strong&gt; The radius of the shape&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;shape&lt;/strong&gt; The shape of the output GRASS vector. Options include: circle, octagon, hexagon, pentagon, diamond, and triangle (default = circle)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;input &lt;/strong&gt;The name of the ASCII input file with multiple coordinates (use &quot;-&quot; to read from stdin)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;fs&lt;/strong&gt; The field separator for the input file&lt;/p&gt;
&lt;p&gt;The coordinate option and the input option cannot be used together. You must supply one or the other.&lt;/p&gt;
&lt;p&gt;The input file must contain a minimum of 2 columns (east north) with an optional 3rd column containing the size of the shape. If the 3rd column is omitted the size id read from the radius argument.&lt;/p&gt;
&lt;h2&gt;
	Note:&lt;/h2&gt;
&lt;p&gt;in the GRASS Lat. Lon. projection the radius is converted to a true distance in metres using the G_distance library function. This can result in a circle appearing as an oval depending on the location on the globe.&lt;/p&gt;
&lt;h2&gt;
	Examples&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Example 1: &lt;/strong&gt;The following example shows how to create 2 GRASS vectors at a single location. The vectors define a bullseye at 200 and 500 metres from the specified location.&lt;a class=&quot;colorbox&quot; href=&quot;/sites/default/files/pictures/mk_circle_example1_0.png&quot; rel=&quot;gallery-all74&quot; title=&quot;Example1: v.mk_circle&quot;&gt;&lt;img alt=&quot;v.mk_circle example&quot; class=&quot;right-top&quot; src=&quot;/sites/default/files/pictures/mk_circle_example1_1.png&quot; style=&quot;width: 120px; height: 91px;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;v.mk_circle coordinate=517947,7855998 radius=200 output=Circle_Zone_200m&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;and&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;v.mk_circle coordinate=517947,7855998 radius=500 output=Circle_Zone_500m&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;Example 2:&lt;/strong&gt; The following example shows how to import a text file with multiple coordinates as closed triangles.&lt;a class=&quot;colorbox&quot; href=&quot;/sites/default/files/pictures/mk_circle_example2_0.png&quot; rel=&quot;gallery-all74&quot; title=&quot;Example 2: v.mk_circle&quot;&gt;&lt;img alt=&quot;&quot; class=&quot;right-top&quot; src=&quot;/sites/default/files/pictures/mk_circle_example2_1.png&quot; style=&quot;width: 120px; height: 81px;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Create a 3 column file (&lt;em&gt;file_pts.txt&lt;/em&gt;) with easting, northing, and size:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;516304 7856290 50&lt;br /&gt;
		517399 7855925 65&lt;br /&gt;
		517618 7855414 65.5&lt;br /&gt;
		518057 7854391 75&lt;br /&gt;
		516669 7854209 80&lt;br /&gt;
		516961 7854903 88.9&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Import the above file with the following command:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;v.mk_circle -c input=file_pts.txt fs=space shape=triangle out=Triangles_Example2&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2&gt;
	Building&lt;/h2&gt;
&lt;p&gt;The source code for &lt;strong&gt;&lt;em&gt;v.mk_circle&lt;/em&gt;&lt;/strong&gt; is freely available at this site. The source is provided for both the GRASS 6 and the  GRASS 7 distributions.&lt;/p&gt;
&lt;p&gt;Download them here:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
		&lt;a href=&quot;/sites/default/files/downloads/mk_circle_grass6.tar.gz&quot;&gt;&lt;img alt=&quot;download&quot; src=&quot;/sites/default/files/pictures/download_0.png&quot; style=&quot;width: 25px; height: 28px; border-width: 0px; border-style: solid;&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;/sites/default/files/downloads/mk_circle_grass6.tar.gz&quot;&gt;GRASS 6&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
		&lt;a href=&quot;/sites/default/files/downloads/mk_circle_grass7.tar.gz&quot;&gt;&lt;img alt=&quot;download&quot; src=&quot;/sites/default/files/pictures/download_0.png&quot; style=&quot;width: 25px; height: 28px; border-width: 0px; border-style: solid;&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;/sites/default/files/downloads/mk_circle_grass7.tar.gz&quot;&gt;GRASS 7&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;
&lt;li&gt;
		Extract the downloaded tarball in the&lt;em&gt; vector&lt;/em&gt; folder of the GRASS source tree. &lt;/li&gt;
&lt;li&gt;
		Run make in the &lt;em&gt;v.mk_circle&lt;/em&gt; folder to build the program and install in your GRASS distribution.&lt;/li&gt;
&lt;li&gt;
		Run the program from the GRASS command line prompt.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;
	ToDo&lt;/h2&gt;
&lt;p&gt;There are probably lots of other potential uses for this program. Future versions could include the following:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
		support for creating more shapes&lt;/li&gt;
&lt;li&gt;
		support for importing other columns with vector attributes&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field--name-field-categories field--type-taxonomy-term-reference field--label-inline clearfix&quot;&gt;&lt;div class=&quot;field__label&quot;&gt;Categories:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field__items&quot;&gt;&lt;div class=&quot;field__item even&quot;&gt;&lt;a href=&quot;/blog/grass-extras&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;GRASS Extras&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field--name-field-tags field--type-taxonomy-term-reference field--label-inline clearfix&quot;&gt;&lt;div class=&quot;field__label&quot;&gt;Tags:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field__items&quot;&gt;&lt;div class=&quot;field__item even&quot;&gt;&lt;a href=&quot;/tags/grass&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;GRASS&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;field__item odd&quot;&gt;&lt;a href=&quot;/tags/vector&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;vector&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;field__item even&quot;&gt;&lt;a href=&quot;/tags/custom-software&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;custom software&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description>
 <pubDate>Wed, 01 Aug 2012 18:21:36 +0000</pubDate>
 <dc:creator>R_Covill</dc:creator>
 <guid isPermaLink="false">74 at https://tekmap.ns.ca</guid>
 <comments>https://tekmap.ns.ca/blog/grass-mk-circle#comments</comments>
</item>
<item>
 <title>SonarWave Lite Survey</title>
 <link>https://tekmap.ns.ca/blog/sonarwave8</link>
 <description>&lt;div class=&quot;field field--name-body field--type-text-with-summary field--label-hidden&quot;&gt;&lt;div class=&quot;field__items&quot;&gt;&lt;div class=&quot;field__item even&quot; property=&quot;content:encoded&quot;&gt;&lt;p&gt;&lt;img alt=&quot;Sonarwave Icon&quot; class=&quot;left&quot; src=&quot;/sites/default/files/pictures/SonarWave_sm_icon.png&quot; style=&quot;width: 25px; height: 25px; &quot; /&gt;&lt;/p&gt;
&lt;p&gt;Tekmap Consulting is planning a new release for&lt;strong&gt; Sonarwave Lite&lt;/strong&gt;, and would like your input. Please take a moment to provide your suggestions for the upcoming release by completing the &lt;a href=&quot;/blog/sonarwave/survey2&quot;&gt;Feature Request Form&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If you are a regular user of &lt;strong&gt;Sonarwave Lite&lt;/strong&gt;, join the &lt;a href=&quot;/blog/sonarwave/mailinglist&quot;&gt;announcement list&lt;/a&gt; to stay up to date with new releases and bug fixes.&lt;/p&gt;
&lt;p&gt;The &lt;strong&gt;SonarWave Lite&lt;/strong&gt; software, a free program developed by Tekmap Consulting, is an innovative tool designed for viewing an Extended Triton Format (XTF) file.&lt;/p&gt;
&lt;p&gt;The free software was originally released in 2009. Since that time, the software has undergone minor changes and bug-fixes.&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field--name-field-categories field--type-taxonomy-term-reference field--label-inline clearfix&quot;&gt;&lt;div class=&quot;field__label&quot;&gt;Categories:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field__items&quot;&gt;&lt;div class=&quot;field__item even&quot;&gt;&lt;a href=&quot;/blog/sonarwave-lite&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;SonarWave Lite&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field--name-field-tags field--type-taxonomy-term-reference field--label-inline clearfix&quot;&gt;&lt;div class=&quot;field__label&quot;&gt;Tags:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field__items&quot;&gt;&lt;div class=&quot;field__item even&quot;&gt;&lt;a href=&quot;/tags/xtf&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;XTF&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;field__item odd&quot;&gt;&lt;a href=&quot;/tags/sidescan&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;sidescan&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;field__item even&quot;&gt;&lt;a href=&quot;/tags/sonar&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;sonar&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description>
 <pubDate>Thu, 05 Jul 2012 14:29:52 +0000</pubDate>
 <dc:creator>R_Covill</dc:creator>
 <guid isPermaLink="false">73 at https://tekmap.ns.ca</guid>
 <comments>https://tekmap.ns.ca/blog/sonarwave8#comments</comments>
</item>
<item>
 <title>SonarWave Lite: Incremental File Load</title>
 <link>https://tekmap.ns.ca/blog/sonarwave7</link>
 <description>&lt;div class=&quot;field field--name-body field--type-text-with-summary field--label-hidden&quot;&gt;&lt;div class=&quot;field__items&quot;&gt;&lt;div class=&quot;field__item even&quot; property=&quot;content:encoded&quot;&gt;&lt;h2&gt;
	Bug Fixes&lt;/h2&gt;
&lt;p&gt;The latest release of SonarWave Lite includes a couple of bug fixes.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
		If the XTF file only contained sub-bottom data it would load but not display the image data. This has been fixed in the new release.&lt;/li&gt;
&lt;li&gt;
		If the XTF file contained different range or sample values between pings the viewer would report an error and exit. This bug has been fixed in the new release.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;
	Incremental File Loading&lt;/h2&gt;
&lt;p&gt;A new feature with SonarWave Lite includes the option to incrementally load an XTF file. This option has been added for computers that may have hardware limitations loading large files, and users who simply want to load XTF data in smaller sections.&lt;/p&gt;
&lt;p&gt;The updated viewer includes an option to set the maximum number of pings that can be loaded at one time. The default setting is 10000 pings. This can be increased or decreased according to the users preferences. If a file has more pings than the above preference, a dialog box allows the user to drag and select the ping range to load in the viewer.&lt;/p&gt;
&lt;p&gt;&lt;a class=&quot;colorbox&quot; href=&quot;/sites/default/files/pictures/sonarwave_lite_ping_load.png&quot; rel=&quot;gallery-all51&quot; title=&quot;SonarWave Lite: Choose Pings Dialog&quot;&gt;&lt;img alt=&quot;Choose Pings&quot; class=&quot;left&quot; src=&quot;/sites/default/files/pictures/sonarwave_lite_ping_load_0.png&quot; style=&quot;width: 200px; height: 102px;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;To select a range of pings to view, simply click and drag. the start and stop pings are displayed below the selection bar. After the file is loaded a new button &lt;img alt=&quot;Incremental Load&quot; src=&quot;/sites/default/files/pictures/xtf_incremental_icon_0.png&quot; style=&quot;width: 25px; height: 25px; margin-left: 3px; margin-right: 3px;&quot; /&gt; for loading additional pings is active in the toolbar.&lt;/p&gt;
&lt;p&gt;Additional pings can also be loaded from the &lt;em&gt;View&lt;/em&gt; menu. Selecting either the button or the &lt;em&gt;View&lt;/em&gt; menu option will bring up the &lt;strong&gt;Choose Pings&lt;/strong&gt; dialog where the user can select a new range of pings to view.&lt;/p&gt;
&lt;p&gt;Goto the &lt;a href=&quot;/blog/sonarwave1&quot;&gt;download&lt;/a&gt; page to obtain the latest version of SonarWave Lite&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field--name-field-categories field--type-taxonomy-term-reference field--label-inline clearfix&quot;&gt;&lt;div class=&quot;field__label&quot;&gt;Categories:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field__items&quot;&gt;&lt;div class=&quot;field__item even&quot;&gt;&lt;a href=&quot;/blog/sonarwave-lite&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;SonarWave Lite&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field--name-field-tags field--type-taxonomy-term-reference field--label-inline clearfix&quot;&gt;&lt;div class=&quot;field__label&quot;&gt;Tags:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field__items&quot;&gt;&lt;div class=&quot;field__item even&quot;&gt;&lt;a href=&quot;/tags/xtf&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;XTF&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;field__item odd&quot;&gt;&lt;a href=&quot;/tags/sidescan&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;sidescan&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;field__item even&quot;&gt;&lt;a href=&quot;/tags/sonar&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;sonar&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;field__item odd&quot;&gt;&lt;a href=&quot;/tags/custom-software&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;custom software&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description>
 <pubDate>Mon, 30 Aug 2010 12:00:00 +0000</pubDate>
 <dc:creator>R_Covill</dc:creator>
 <guid isPermaLink="false">51 at https://tekmap.ns.ca</guid>
 <comments>https://tekmap.ns.ca/blog/sonarwave7#comments</comments>
</item>
<item>
 <title>GRASS Label Import</title>
 <link>https://tekmap.ns.ca/blog/import-label</link>
 <description>&lt;div class=&quot;field field--name-body field--type-text-with-summary field--label-hidden&quot;&gt;&lt;div class=&quot;field__items&quot;&gt;&lt;div class=&quot;field__item even&quot; property=&quot;content:encoded&quot;&gt;&lt;h2&gt;
	Introduction&lt;/h2&gt;
&lt;p&gt;The &lt;strong&gt;p.in.labels&lt;/strong&gt; program is a simple import tool for converting XYZ files to GRASS label files. The Z column of the XYZ file is read as the GRASS label. The program reads the XYZ file from either standard input (stdin) or an existing ASCII file.&lt;/p&gt;
&lt;p&gt;The standard GRASS label options are available including size, fontsize, offset, color, justification, and rotation.&lt;/p&gt;
&lt;h2&gt;
	Example&lt;/h2&gt;
&lt;p&gt;To import the following XYZ labels from labels.txt  into GRASS&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;572353.90 5406935.12 Label 1&lt;br /&gt;
		579691.25 5423610.90 Label 2&lt;br /&gt;
		601036.25 5421076.18 Station 5 — data description&lt;br /&gt;
		601303.06 5435750.87 23&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;use the following command:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;p.in.labels input=labels.txt output=label_file fontsize=8&lt;/p&gt;
&lt;p&gt;d.labels labels=label_file&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2&gt;
	Building Source&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
		Download the source tarball &lt;span class=&quot;downloadlink&quot;&gt;p.in.labels &lt;/span&gt;here &lt;span class=&quot;downloadlink&quot;&gt;&lt;a href=&quot;/sites/default/files/downloads/grass_label_import.tar.gz&quot;&gt;&lt;img alt=&quot;Download&quot; class=&quot;download_img&quot; src=&quot;/sites/default/files/pictures/download_0.png&quot; style=&quot;width: 25px; height: 28px;&quot; /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;
		Extract the tar file in the GRASS(v.6) source tree in the &lt;em&gt;misc&lt;/em&gt; directory&lt;/li&gt;
&lt;li&gt;
		Change to the p.in.labels directory&lt;/li&gt;
&lt;li&gt;
		Run make to build the program&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;
	ToDo&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
		Add column field separator option&lt;/li&gt;
&lt;li&gt;
		Read size and rotation options from input file or stream&lt;/li&gt;
&lt;li&gt;
		Probably more …&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field--name-field-categories field--type-taxonomy-term-reference field--label-inline clearfix&quot;&gt;&lt;div class=&quot;field__label&quot;&gt;Categories:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field__items&quot;&gt;&lt;div class=&quot;field__item even&quot;&gt;&lt;a href=&quot;/blog/grass-extras&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;GRASS Extras&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field--name-field-tags field--type-taxonomy-term-reference field--label-inline clearfix&quot;&gt;&lt;div class=&quot;field__label&quot;&gt;Tags:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field__items&quot;&gt;&lt;div class=&quot;field__item even&quot;&gt;&lt;a href=&quot;/tags/grass&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;GRASS&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;field__item odd&quot;&gt;&lt;a href=&quot;/tags/xyz&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;XYZ&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;field__item even&quot;&gt;&lt;a href=&quot;/tags/import&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;import&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;field__item odd&quot;&gt;&lt;a href=&quot;/tags/custom-software&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;custom software&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description>
 <pubDate>Thu, 10 Jun 2010 19:55:18 +0000</pubDate>
 <dc:creator>R_Covill</dc:creator>
 <guid isPermaLink="false">6 at https://tekmap.ns.ca</guid>
 <comments>https://tekmap.ns.ca/blog/import-label#comments</comments>
</item>
<item>
 <title>GRASS Raster Colorbar Export</title>
 <link>https://tekmap.ns.ca/blog/colorbar-out</link>
 <description>&lt;div class=&quot;field field--name-body field--type-text-with-summary field--label-hidden&quot;&gt;&lt;div class=&quot;field__items&quot;&gt;&lt;div class=&quot;field__item even&quot; property=&quot;content:encoded&quot;&gt;&lt;h2&gt;
	Introduction&lt;/h2&gt;
&lt;p&gt;The &lt;strong&gt;r.out.colorbar&lt;/strong&gt; program is a simple export tool for saving GRASS raster colorbars. The program uses &lt;a href=&quot;http://www.gtk.org/&quot; target=&quot;_blank&quot; title=&quot;GTK+&quot;&gt;GTK+&lt;/a&gt; and &lt;a href=&quot;http://www.cairographics.org/&quot; target=&quot;_blank&quot; title=&quot;Cairo Graphics&quot;&gt;CairoGraphics&lt;/a&gt; to handle the image output.&lt;/p&gt;
&lt;p&gt;The colorbar is saved at a user defined size (in pixels) and orientation. The user can choose between 3 output formats supported by &lt;a href=&quot;http://www.cairographics.org/&quot; target=&quot;_blank&quot; title=&quot;Cairo Graphics&quot;&gt;Cairo&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a class=&quot;colorbox&quot; href=&quot;/sites/default/files/pictures/color_h1.jpg&quot; rel=&quot;gallery-all16&quot; title=&quot;Horizontal Colorbar&quot;&gt;&lt;img alt=&quot;Horizontal Colorbar&quot; class=&quot;left&quot; src=&quot;/sites/default/files/pictures/color_h1_1.jpg&quot; style=&quot;width: 200px; height: 20px;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The output formats are:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
		PNG Image with transparent background&lt;/li&gt;
&lt;li&gt;
		PDF document&lt;/li&gt;
&lt;li&gt;
		Encapsulated Postscript (EPS)&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;
	Requirements&lt;/h2&gt;
&lt;p&gt;The GTK+ development package must be installed in order to build &lt;strong&gt;r.out.colorbar&lt;/strong&gt;. The Makefile uses:&lt;/p&gt;
&lt;pre&gt;
pkg-config --cflags gtk+-2.0&lt;/pre&gt;&lt;p&gt;and&lt;/p&gt;
&lt;pre&gt;
pkg-config --libs gtk+-2.0&lt;/pre&gt;&lt;h2&gt;
	Building Source&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
		Download the source tarball here &lt;a href=&quot;/sites/default/files/downloads/raster_colorbar.tar.gz&quot;&gt;&lt;img alt=&quot;Download&quot; class=&quot;download_img&quot; src=&quot;/sites/default/files/pictures/download_0.png&quot; style=&quot;width: 25px; height: 28px;&quot; /&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
		Extract the tar file in the GRASS(v.6) source tree in the raster directory&lt;/li&gt;
&lt;li&gt;
		Change to the r.out.colorbar directory&lt;/li&gt;
&lt;li&gt;
		Run make to build the program&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;
	ToDo&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
		Include category label support&lt;/li&gt;
&lt;li&gt;
		Include custom labeling&lt;/li&gt;
&lt;li&gt;
		Include units labeling&lt;/li&gt;
&lt;li&gt;
		Add font options&lt;/li&gt;
&lt;li&gt;
		Update for GRASS 7&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field--name-field-categories field--type-taxonomy-term-reference field--label-inline clearfix&quot;&gt;&lt;div class=&quot;field__label&quot;&gt;Categories:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field__items&quot;&gt;&lt;div class=&quot;field__item even&quot;&gt;&lt;a href=&quot;/blog/grass-extras&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;GRASS Extras&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field--name-field-tags field--type-taxonomy-term-reference field--label-inline clearfix&quot;&gt;&lt;div class=&quot;field__label&quot;&gt;Tags:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field__items&quot;&gt;&lt;div class=&quot;field__item even&quot;&gt;&lt;a href=&quot;/tags/grass&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;GRASS&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;field__item odd&quot;&gt;&lt;a href=&quot;/tags/raster&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;raster&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;field__item even&quot;&gt;&lt;a href=&quot;/tags/colorbar&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;colorbar&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description>
 <pubDate>Thu, 13 May 2010 23:03:13 +0000</pubDate>
 <dc:creator>R_Covill</dc:creator>
 <guid isPermaLink="false">16 at https://tekmap.ns.ca</guid>
 <comments>https://tekmap.ns.ca/blog/colorbar-out#comments</comments>
</item>
<item>
 <title>GTK+ MB-System Multi-Threaded</title>
 <link>https://tekmap.ns.ca/blog/gtk-mb6</link>
 <description>&lt;div class=&quot;field field--name-body field--type-text-with-summary field--label-hidden&quot;&gt;&lt;div class=&quot;field__items&quot;&gt;&lt;div class=&quot;field__item even&quot; property=&quot;content:encoded&quot;&gt;&lt;p&gt;Tekmap Consulting has added multi-thread support to the GTK+ MB-System interface.  Processing time is greatly reduced by running select mb-system commands in separate threads. The mb-system commands include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
		mbbackangle&lt;/li&gt;
&lt;li&gt;
		mbprocess&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These programs require very little system memory, and do not take too much CPU time. By placing them in multiple managed threads, the processing time for a block of multibeam files is significantly reduced.&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field--name-field-categories field--type-taxonomy-term-reference field--label-inline clearfix&quot;&gt;&lt;div class=&quot;field__label&quot;&gt;Categories:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field__items&quot;&gt;&lt;div class=&quot;field__item even&quot;&gt;&lt;a href=&quot;/blog/mb-system-blog&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;MB-System&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field--name-field-tags field--type-taxonomy-term-reference field--label-inline clearfix&quot;&gt;&lt;div class=&quot;field__label&quot;&gt;Tags:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field__items&quot;&gt;&lt;div class=&quot;field__item even&quot;&gt;&lt;a href=&quot;/tags/mb-system&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;MB-System&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;field__item odd&quot;&gt;&lt;a href=&quot;/tags/multibeam&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;multibeam&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;field__item even&quot;&gt;&lt;a href=&quot;/tags/gtk&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;GTK+&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description>
 <pubDate>Wed, 25 Nov 2009 13:25:12 +0000</pubDate>
 <dc:creator>R_Covill</dc:creator>
 <guid isPermaLink="false">37 at https://tekmap.ns.ca</guid>
 <comments>https://tekmap.ns.ca/blog/gtk-mb6#comments</comments>
</item>
</channel>
</rss>
