<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://grasswiki.osgeo.org/w/index.php?action=history&amp;feed=atom&amp;title=HTMLMAP_driver</id>
	<title>HTMLMAP driver - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://grasswiki.osgeo.org/w/index.php?action=history&amp;feed=atom&amp;title=HTMLMAP_driver"/>
	<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=HTMLMAP_driver&amp;action=history"/>
	<updated>2026-04-12T15:24:27Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=HTMLMAP_driver&amp;diff=11584&amp;oldid=prev</id>
		<title>⚠️HamishBowman: /* Creating a Voronoi diagram */</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=HTMLMAP_driver&amp;diff=11584&amp;oldid=prev"/>
		<updated>2010-10-08T08:05:55Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Creating a Voronoi diagram&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 08:05, 8 October 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l62&quot;&gt;Line 62:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 62:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Overlay the Voronoi diagram with the buffer:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Overlay the Voronoi diagram with the buffer:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  v.overlay ain=local_circuits_nzgd2k_voronoi bin=local_circuits_nzgd2k_buf150km out=local_circuits_nzgd2k_voronoi_buf150km op=and&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  v.overlay ain=local_circuits_nzgd2k_voronoi bin=local_circuits_nzgd2k_buf150km &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;\&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;    &lt;/ins&gt;out=local_circuits_nzgd2k_voronoi_buf150km op=and&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Rendering ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Rendering ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key grass_wiki:diff:1.41:old-11583:rev-11584:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>⚠️HamishBowman</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=HTMLMAP_driver&amp;diff=11583&amp;oldid=prev</id>
		<title>⚠️HamishBowman: /* Prep work */</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=HTMLMAP_driver&amp;diff=11583&amp;oldid=prev"/>
		<updated>2010-10-08T08:05:05Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Prep work&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 08:05, 8 October 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l43&quot;&gt;Line 43:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 43:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  v.in.ascii in=nzgd2k_epsg_xy.dat \&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  v.in.ascii in=nzgd2k_epsg_xy.dat \&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    out=local_circuits_nzgd2k x=6 y=5 \&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    out=local_circuits_nzgd2k x=6 y=5 \&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    columns='datum varchar(8), projection varchar(40), epsg_code integer, proj4_str varchar(255), lat_0 double, lon_0 double' &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;--o&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    columns='datum varchar(8), projection varchar(40), epsg_code integer, proj4_str varchar(255), lat_0 double, lon_0 double'&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Creating a Voronoi diagram ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Creating a Voronoi diagram ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key grass_wiki:diff:1.41:old-11582:rev-11583:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>⚠️HamishBowman</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=HTMLMAP_driver&amp;diff=11582&amp;oldid=prev</id>
		<title>⚠️HamishBowman: /* Rendering */</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=HTMLMAP_driver&amp;diff=11582&amp;oldid=prev"/>
		<updated>2010-10-08T08:04:07Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Rendering&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 08:04, 8 October 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l71&quot;&gt;Line 71:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 71:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* ...&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* ...&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  g.manual htmlmapdriver&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  g.manual &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{cmd|&lt;/ins&gt;htmlmapdriver&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key grass_wiki:diff:1.41:old-11580:rev-11582:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>⚠️HamishBowman</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=HTMLMAP_driver&amp;diff=11580&amp;oldid=prev</id>
		<title>⚠️HamishBowman: init</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=HTMLMAP_driver&amp;diff=11580&amp;oldid=prev"/>
		<updated>2010-10-08T08:02:36Z</updated>

		<summary type="html">&lt;p&gt;init&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;This page will describe an example of using GRASS 6's HTMLMAP driver to create a clickable web page based on vector data.&lt;br /&gt;
&lt;br /&gt;
Specifically, we'll create a page with a map showing all of the local Transverse Mercator EPSG codes, and clicking on the map will show you the code and its parameters.&lt;br /&gt;
&lt;br /&gt;
There's a little prep work needed to extract the EPSG codes into a GRASS vector map. The details of doing this are not important to the overall example.&lt;br /&gt;
&lt;br /&gt;
== Prep work ==&lt;br /&gt;
&lt;br /&gt;
* Parse the epsg file for NZGD2000 projections and make into a flat file, with lat_0 and lon_0 extracted:&lt;br /&gt;
&lt;br /&gt;
 grep -A1 NZGD2000 /usr/share/proj/epsg | grep -v '^--$' | \&lt;br /&gt;
   grep -B1 '+lat_0' | grep -v '^--$' | \&lt;br /&gt;
   sed -e 's| / \([^ ]*\) \([^ ]*\)| / \1^\2|' \&lt;br /&gt;
       -e 's| / \([^ ]*\) \([^ ]*\)| / \1^\2|' \&lt;br /&gt;
       -e 's| / \([^ ]*\) \([^ ]*\)| / \1^\2|' \&lt;br /&gt;
       -e 's| / \([^ ]*\) \([^ ]*\)| / \1^\2|' | \&lt;br /&gt;
   tr '\n' ' ' | tr '#' '\n' | \&lt;br /&gt;
   sed -e 's/^ //' -e 's/  &amp;lt;&amp;gt; $//' -e 's/ \/ / /' \&lt;br /&gt;
       -e 's/ /|/' -e 's/ /|/' -e 's/ /|/' \&lt;br /&gt;
       -e 's/|&amp;lt;/|/' -e 's/&amp;gt;|/|/' -e 's/\^/ /g' \&lt;br /&gt;
   &amp;gt; nzgd2k_epsg.dat&lt;br /&gt;
 &lt;br /&gt;
 cat nzgd2k_epsg.dat | sed -e 's/.*+lat_0=//' -e 's/ .*//' \&lt;br /&gt;
   &amp;gt; lat0s.dat&lt;br /&gt;
 &lt;br /&gt;
 cat nzgd2k_epsg.dat | sed -e 's/.*+lon_0=//' -e 's/ .*//' \&lt;br /&gt;
   &amp;gt; lon0s.dat&lt;br /&gt;
 &lt;br /&gt;
 paste -d'|' nzgd2k_epsg.dat lat0s.dat lon0s.dat &amp;gt; nzgd2k_epsg_xy.dat&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Some of these projections have an undefined (or 0 value) for +lat_0. To make things easy we can specify a nearby value by hand:&lt;br /&gt;
 cut -d'|' -f2,5 nzgd2k_epsg_xy.dat | grep '|0$' | cut -f1 -d'|'&lt;br /&gt;
 &lt;br /&gt;
 Auckland Islands TM 2000 (50.75 degrees S)&lt;br /&gt;
 Campbell Island TM 2000 (52.5 degrees S)&lt;br /&gt;
 Antipodes Islands TM 2000 (49.75 degrees S)&lt;br /&gt;
 Raoul Island TM 2000 (29.25 degrees S)&lt;br /&gt;
 Chatham Island Circuit 2000 (44 degrees S)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Then we can import it into a GRASS lat/lon WGS84 location:&lt;br /&gt;
 v.in.ascii in=nzgd2k_epsg_xy.dat \&lt;br /&gt;
   out=local_circuits_nzgd2k x=6 y=5 \&lt;br /&gt;
   columns='datum varchar(8), projection varchar(40), epsg_code integer, proj4_str varchar(255), lat_0 double, lon_0 double' --o&lt;br /&gt;
&lt;br /&gt;
== Creating a Voronoi diagram ==&lt;br /&gt;
&lt;br /&gt;
* Create a LCC location to work in (NZCS2000, epsg code &amp;lt;3851&amp;gt;)&lt;br /&gt;
* Use the {{cmd|v.proj}} module to bring in the projection center points:&lt;br /&gt;
 v.proj in=local_circuits_nzgd2k loc=ll_wgs84 mapset=nz&lt;br /&gt;
&lt;br /&gt;
* Set the bounding region for the diagram with the {{cmd|g.region}} module:&lt;br /&gt;
 g.region north=9380000 south=4600000 east=5960000 west=470000 res=10000&lt;br /&gt;
&lt;br /&gt;
* Run {{cmd|v.voronoi}}:&lt;br /&gt;
 v.voronoi in=local_circuits_nzgd2k out=local_circuits_nzgd2k_voronoi&lt;br /&gt;
&lt;br /&gt;
* Create a 150km buffer around the points:&lt;br /&gt;
 v.buffer in=local_circuits_nzgd2k out=local_circuits_nzgd2k_buf150km dist=150000&lt;br /&gt;
: ''As these are all tmerc, maybe we should use the v.buffer angle= option to allow further use north/south?''&lt;br /&gt;
&lt;br /&gt;
* Overlay the Voronoi diagram with the buffer:&lt;br /&gt;
 v.overlay ain=local_circuits_nzgd2k_voronoi bin=local_circuits_nzgd2k_buf150km out=local_circuits_nzgd2k_voronoi_buf150km op=and&lt;br /&gt;
&lt;br /&gt;
== Rendering ==&lt;br /&gt;
&lt;br /&gt;
* Grab a 1:10 million scale vector coastline of the world from http://www.naturalearthdata.com&lt;br /&gt;
** Import the shapefile into a suitable location with {{cmd|v.in.ogr}}.&lt;br /&gt;
** Then bring it over into the LCC location with {{cmd|v.proj}}.&lt;br /&gt;
&lt;br /&gt;
* ...&lt;br /&gt;
 g.manual htmlmapdriver&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 d.save -o &amp;gt; render_commands.sh&lt;br /&gt;
 d.mon start=HTMLMAP&lt;br /&gt;
 . render_commands.sh&lt;br /&gt;
 d.mon stop=HTMLMAP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* TBC ...&lt;/div&gt;</summary>
		<author><name>⚠️HamishBowman</name></author>
	</entry>
</feed>