{"id":1,"date":"2023-12-30T12:00:53","date_gmt":"2023-12-30T12:00:53","guid":{"rendered":"https:\/\/bendauphinee.com\/writing\/?p=1"},"modified":"2024-12-20T15:06:44","modified_gmt":"2024-12-20T15:06:44","slug":"to-know-where-you-are","status":"publish","type":"post","link":"https:\/\/bendauphinee.com\/writing\/2023\/12\/30\/to-know-where-you-are\/","title":{"rendered":"To Know Where You Are; High Precision Mapping From Scratch"},"content":{"rendered":"\n<p class=\"has-small-font-size\">20 min reading time; ~4300 words<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\"\/>\n\n\n\n<p>The fun of owning rural property is that knowing where your land actually starts and ends is a guess usually. Sure, you have a parcel description, and maybe even an online service with &#8220;official&#8221; GIS boundaries (for us here in New Brunswick, this is <a href=\"http:\/\/www.snb.ca\/geonb1\/e\/index-e.asp\" target=\"_blank\" rel=\"noreferrer noopener\">GeoNB<\/a>). However, since it&#8217;s in the middle of the forest, the odds of you having an actual surveyed and monumented boundary line are very low. Which also means the odds of the online boundaries being correct isn&#8217;t great either. This post is a dump of all the experiences I&#8217;ve had over the past 3 months, on my quest for accurate mapping.<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69dc721db4db5&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"69dc721db4db5\" class=\"wp-block-image size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"406\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/IMG_3787-1024x406.jpg\" alt=\"\" class=\"wp-image-31\" srcset=\"https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/IMG_3787-1024x406.jpg 1024w, https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/IMG_3787-300x119.jpg 300w, https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/IMG_3787-768x304.jpg 768w, https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/IMG_3787-1536x608.jpg 1536w, https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/IMG_3787.jpg 1800w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p>I purchased a lot like this recently, and since I want to build an event space on it, knowing where it actually is became very important. My first pass at figuring this out was to install <a href=\"https:\/\/apps.apple.com\/ca\/app\/map-plus\/id438868200\" target=\"_blank\" rel=\"noreferrer noopener\">Map Plus<\/a> on my iPhone 14 Pro, and then create shapes for my and my neighbors lots from corner coordinates copied from GeoNB. This iPhone has a dual frequency GPS (<a href=\"https:\/\/gisresources.com\/everything-you-need-to-know-about-gps-l1-l2-and-l5-frequencies\/\" target=\"_blank\" rel=\"noreferrer noopener\">L1 + L5<\/a>), which should get me to roughly 30 cm (11.8&#8243;) accuracy. In real-world testing, I&#8217;ve gotten at best 3.5 m (11.5&#8242;) accuracy, but mostly 4.5 m (14.75&#8242;), which is good enough to eyeball things, but not enough certainty to be confident that something is where you think it is.<\/p>\n\n\n\n<p>Using this combination, I was able to start feeling out my boundaries, and open a dialog with my neighbor about the fact that he wasn&#8217;t in fact in the middle of his property with his camper, but more likely at or over the edge (which he was not happy about, since he wanted to be in the middle). I had been planning to get a survey of that side of my property anyway, because I wanted to know for sure where it was, but this starter tool was great for at least opening the conversation while I waited for my surveyor to get back to me.<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-superbfont-medium-font-size\" id=\"mapplus\">Map Plus<\/h2>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:60%\">\n<p>Once I had installed this app on my phone, and got some basic boundary shapes plugged into it, I spent a few weekends wandering over my land, to get a feel for what I had purchased. Map Plus proved to be very useful for my initial survey, and I&#8217;ve purchased about half of the functionality they sell with it. <\/p>\n\n\n\n<p>The screenshot to the right shows the results of the data I collected (close to 400 data points). Of all the tools I&#8217;ve worked with so far, this one is the easiest in terms of usability. While obviously aimed more at the casual market (with no ability to use external GPS sources), it still has a lot of useful functionality, such as the ability to handle shapefiles and other GIS formats. In that image, you can see the results of some of the work I did, where I collected data in the app, exported it, generated a shapefile (via <a href=\"https:\/\/qgis.org\/en\/site\/\" target=\"_blank\" rel=\"noreferrer noopener\">QGIS<\/a>), and imported it back in as a cleaner map element.<\/p>\n\n\n\n<p>If you aren&#8217;t looking for that higher accuracy GPS, Map Plus is a great app. The ability to even do things like upload \/ download data via a built in web server is by far the smoothest workflow I&#8217;ve found to get data in and out. Honestly, if this app supported Bluetooth GPS and NTRIP, I&#8217;d still be using it as my only app.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:40%\">\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69dc721db53f5&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"69dc721db53f5\" class=\"wp-block-image size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"520\" height=\"1024\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/mapplusscreen-520x1024.jpg\" alt=\"\" class=\"wp-image-43\" srcset=\"https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/mapplusscreen-520x1024.jpg 520w, https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/mapplusscreen-152x300.jpg 152w, https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/mapplusscreen.jpg 609w\" sizes=\"auto, (max-width: 520px) 100vw, 520px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/div>\n<\/div>\n\n\n\n<p>While I waited for my survey, I continued to research and learn things. And, of course, get out to my land every chance I could to walk it. Fall, with the leaves out, then not, has been a very interesting time. I&#8217;ve spotted some small frogs, a rabbit, and a few birds (including one that burst from it&#8217;s hiding spot very close to me and almost gave me a heart attack \ud83d\ude02). As you can see in one of these photos, I&#8217;m wearing the delightful &#8220;don&#8217;t hunt me, I&#8217;m a person&#8221; blaze orange hat and vest that you need when you&#8217;re wandering though the woods during hunting season.<\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-3 is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"1024\" data-id=\"30\" src=\"https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/IMG_3799-768x1024.jpg\" alt=\"\" class=\"wp-image-30\" srcset=\"https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/IMG_3799-768x1024.jpg 768w, https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/IMG_3799-225x300.jpg 225w, https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/IMG_3799.jpg 900w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"1024\" data-id=\"29\" src=\"https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/IMG_3798-768x1024.jpg\" alt=\"\" class=\"wp-image-29\" srcset=\"https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/IMG_3798-768x1024.jpg 768w, https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/IMG_3798-225x300.jpg 225w, https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/IMG_3798.jpg 900w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"1024\" data-id=\"28\" src=\"https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/IMG_3793-768x1024.jpg\" alt=\"\" class=\"wp-image-28\" srcset=\"https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/IMG_3793-768x1024.jpg 768w, https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/IMG_3793-225x300.jpg 225w, https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/IMG_3793.jpg 900w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/><\/figure>\n<\/figure>\n\n\n\n<h2 class=\"wp-block-heading has-superbfont-medium-font-size\" id=\"officialsurvey\">An Official Survey<\/h2>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:88%\">\n<p>Finally, my survey arrived. On a snowy Tuesday, I drove to the bottom of the mountain, hiked in 3 km (1.9 mi) to my land, and met the surveyor crew. (Normally, I would have driven straight up, but a sedan on a mostly unplowed road, with 10 cm (3.9&#8243;) of snow, and no snow tires on yet is a recipe for needing to call a tow truck.) Over the course of the next three hours, myself and the surveyor hacked through the snowy trees, blazing and marking the official survey boundary. At the end of that process, sweaty and somehow also cold, I finally had two official pins and a single line in the woods, that definitively said &#8220;this is in fact my land&#8221;.<\/p>\n\n\n\n<p>Given the cost of that line (roughly $4600), I opted to only have the boundary between me and my neighbor defined. The land to my east and behind is all owned by an excavation company, but they&#8217;re only operating in the far south west corner of it, so there&#8217;s no need yet to have the rest of my boundaries marked, now that I have one official line to pin everything to.<\/p>\n\n\n\n<p>Once I got the official boundary coordinates from my surveyor, I created a new line in QGIS, and rotated and aligned my and my neighbor&#8217;s lot shapes to the new boundary. Turns out, the survey was off a lot more than any of us expected, and moved everyone a hefty 39 m (127&#8242;) east, and 8.5 m (28&#8242;) back from the road, approximately.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:12%\">\n<figure class=\"wp-block-gallery has-nested-images columns-1 is-cropped wp-block-gallery-2 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69dc721db59ec&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"69dc721db59ec\" class=\"wp-block-image size-large is-style-default wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"1024\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" data-id=\"50\" src=\"https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/IMG_4023-768x1024.jpg\" alt=\"\" class=\"wp-image-50\" srcset=\"https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/IMG_4023-768x1024.jpg 768w, https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/IMG_4023-225x300.jpg 225w, https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/IMG_4023.jpg 900w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69dc721db5c78&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"69dc721db5c78\" class=\"wp-block-image size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"1024\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" data-id=\"51\" src=\"https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/IMG_4024-768x1024.jpg\" alt=\"\" class=\"wp-image-51\" srcset=\"https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/IMG_4024-768x1024.jpg 768w, https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/IMG_4024-225x300.jpg 225w, https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/IMG_4024.jpg 900w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69dc721db5f09&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"69dc721db5f09\" class=\"wp-block-image size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"1024\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" data-id=\"52\" src=\"https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/IMG_4025-768x1024.jpg\" alt=\"\" class=\"wp-image-52\" srcset=\"https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/IMG_4025-768x1024.jpg 768w, https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/IMG_4025-225x300.jpg 225w, https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/IMG_4025.jpg 900w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69dc721db61c0&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"69dc721db61c0\" class=\"wp-block-image size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1014\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" data-id=\"53\" src=\"https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/boundary-shift-1024x1014.jpg\" alt=\"\" class=\"wp-image-53\" srcset=\"https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/boundary-shift-1024x1014.jpg 1024w, https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/boundary-shift-300x297.jpg 300w, https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/boundary-shift-150x150.jpg 150w, https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/boundary-shift-768x761.jpg 768w, https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/boundary-shift-1536x1521.jpg 1536w, https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/boundary-shift.jpg 1549w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/figure>\n<\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading has-superbfont-medium-font-size\">But More Accuracy Though<\/h2>\n\n\n\n<p>So, coming back to my own survey work now that I had my official border, I finally have something to anchor everything else to. While the initial work I did was great for getting the lay of the land generally, it wasn&#8217;t up to the standards I wanted. Going back to some of the same survey points, relying on the phone, I could see very obvious drifting (which makes sense with 4.5 m (14.75&#8242;) accuracy). This, of course, is not good enough.<\/p>\n\n\n\n<p>So, what is one to do when you want an accurate survey, but don&#8217;t need it to be certified? Why, get your own survey equipment of course! For about a decade and a half, I&#8217;ve been interested in GIS technology. From contributing to OpenStreetMap occasionally to wondering if I could afford to buy a survey grade GPS through to trying to boot up my own OpenStreetMap based server, it&#8217;s always been a technology I&#8217;ve come back to. After some research, I discovered I needed two GPS receivers to be able to do <a href=\"https:\/\/en.wikipedia.org\/wiki\/Real-time_kinematic_positioning\" target=\"_blank\" rel=\"noreferrer noopener\">RTK<\/a>, and get the precision I was chasing. So, let&#8217;s go shopping for gear! <\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-4 is-cropped wp-block-gallery-3 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69dc721db65fe&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"69dc721db65fe\" class=\"wp-block-image size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"546\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" data-id=\"54\" src=\"https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/gnss-1-1024x546.jpg\" alt=\"\" class=\"wp-image-54\" srcset=\"https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/gnss-1-1024x546.jpg 1024w, https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/gnss-1-300x160.jpg 300w, https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/gnss-1-768x410.jpg 768w, https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/gnss-1.jpg 1363w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69dc721db6884&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"69dc721db6884\" class=\"wp-block-image size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"317\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" data-id=\"55\" src=\"https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/gnss-2-1024x317.jpg\" alt=\"\" class=\"wp-image-55\" srcset=\"https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/gnss-2-1024x317.jpg 1024w, https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/gnss-2-300x93.jpg 300w, https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/gnss-2-768x238.jpg 768w, https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/gnss-2-1536x475.jpg 1536w, https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/gnss-2.jpg 1814w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69dc721db6b0e&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"69dc721db6b0e\" class=\"wp-block-image size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"690\" height=\"806\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" data-id=\"56\" src=\"https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/gnss-3.jpg\" alt=\"\" class=\"wp-image-56\" srcset=\"https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/gnss-3.jpg 690w, https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/gnss-3-257x300.jpg 257w\" sizes=\"auto, (max-width: 690px) 100vw, 690px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69dc721db6d95&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"69dc721db6d95\" class=\"wp-block-image size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"683\" height=\"834\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" data-id=\"57\" src=\"https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/gnss-4.jpg\" alt=\"\" class=\"wp-image-57\" srcset=\"https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/gnss-4.jpg 683w, https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/gnss-4-246x300.jpg 246w\" sizes=\"auto, (max-width: 683px) 100vw, 683px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/figure>\n\n\n\n<p>&#8230; On second thought, maybe I won&#8217;t.<\/p>\n\n\n\n<p>After digging around for a while, and looking outside the professional market, I was lucky enough to find the help that <a href=\"https:\/\/www.sparkfun.com\/rtk\" target=\"_blank\" rel=\"noreferrer noopener\">SparkFun put together<\/a> for exactly this purpose. Thanks to them, I was able to purchase everything I needed to get centimeter accuracy survey results, with a total spend of less than $2000, and build my base station in a box!<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-superbfont-medium-font-size\" id=\"centimeter-accuracy\">Achieving Centimeter Accuracy<\/h2>\n\n\n\n<p>Ok, so, to get to centimeter accuracy, you need two things:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A GNSS mobile receiver (rover) that can receive both L1 and L2 signals, as well as receive and apply RTCM correction data.<\/li>\n\n\n\n<li>A source of RTCM correction data. There are many ways to do this, but the two most common are using a second receiver on a tripod over a known survey marker, or <a href=\"https:\/\/support.pix4d.com\/hc\/en-us\/articles\/4633640503709-What-is-NTRIP\" target=\"_blank\" rel=\"noreferrer noopener\">via NTRIP<\/a> from a receiver at a permanent location (within 20 km \/ 12.4 mi is best).<\/li>\n<\/ul>\n\n\n\n<p>Looking around, I found a <a href=\"https:\/\/webapp.csrs-scrs.nrcan-rncan.gc.ca\/geod\/data-donnees\/rtk.php?locale=en\" target=\"_blank\" rel=\"noreferrer noopener\">Natural Resources Canada page<\/a> that showed all available RTK servers that they know about, and searching that for my area, there was exactly one available that was roughly within the correct distance for correction data to be useful. Searching for the company that hosts this service led me to a page with a &#8220;Contact us&#8221; phone number, which usually means it&#8217;s going to be expensive, so I crossed that off my list, and decided to set up my own RTK NTRIP station.<\/p>\n\n\n\n<p>As for the rover, I took the easiest exit on that one, and purchased the SparkFun RTK Facet. Combined with a photography monopod and a few other bits, I have a working setup to walk around with. For data collection, I&#8217;m running <a href=\"https:\/\/aviyaantech.com\/swmaps\/\" target=\"_blank\" rel=\"noreferrer noopener\">SW Maps<\/a> on my phone, which allows me to connect to the NTRIP data feed, and pass it through to the Facet. Since I&#8217;m on an iPhone, this seems to be the only low friction way to get all the data together in one place. (I&#8217;ve also loaded <a href=\"https:\/\/qfield.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">QField<\/a> on my phone, since it&#8217;s the easiest way to work with the whole QGIS project I&#8217;ve put together if I want to reference something on the go, but it doesn&#8217;t support Bluetooth GNSS, and I didn&#8217;t want to tinker with getting a TCP stream working.)<\/p>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">Item<\/th><th class=\"has-text-align-right\" data-align=\"right\">Cost<\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\"><a href=\"https:\/\/www.sparkfun.com\/products\/19984\" target=\"_blank\" rel=\"noreferrer noopener\">SparkFun RTK Facet<\/a><\/td><td class=\"has-text-align-right\" data-align=\"right\">$1,024.09<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">|&#8211; FedEx Duties and Fees<\/td><td class=\"has-text-align-right\" data-align=\"right\">$151.96<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><a href=\"https:\/\/www.amazon.ca\/dp\/B00MWG3O6W\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">64-inch Camera Aluminum Monopod<\/a><\/td><td class=\"has-text-align-right\" data-align=\"right\">$34.49<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><a href=\"https:\/\/www.amazon.ca\/gp\/product\/B0C6QKT95C\/\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">3\/8 Inch Thread Tripod Spike, 6 Pack<\/a><\/td><td class=\"has-text-align-right\" data-align=\"right\">$20.11<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><a href=\"https:\/\/www.amazon.ca\/dp\/B09W8KG7K7\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">Super Clamp Mount with Phone Mount<\/a><\/td><td class=\"has-text-align-right\" data-align=\"right\">$20.19<\/td><\/tr><\/tbody><tfoot><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>Total Cost<\/strong><\/td><td class=\"has-text-align-right\" data-align=\"right\">$1,250.84<\/td><\/tr><\/tfoot><\/table><figcaption class=\"wp-element-caption\">Rover parts list<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading has-superbfont-medium-font-size\" id=\"base-station-box\">Base Station In A Box<\/h2>\n\n\n\n<p>Now, the really fiddly part, the base station. I&#8217;m in the middle of rural land, luckily enough with LTE due to my land being high enough elevation to see the tower well. I have no buildings to mount to, and no permanent internet connection or power. Since it&#8217;s in the woods, I also have to be cognizant of having my gear stolen, exposed to the weather, or otherwise damaged. On top of all that, I want to keep my expenses as low as possible, since this is already an expensive project (still cheaper than buying or renting the gear though, in the long term).<\/p>\n\n\n\n<p>Plunging in, I purchased the minimum parts I needed to get a station up and running, so I could figure out exactly what I needed to get a proper NTRIP server working. (<a href=\"https:\/\/docs.sparkfun.com\/SparkFun_RTK_Firmware\/permanent_base\/\">SparkFun&#8217;s writeup<\/a> was a very helpful reference in this project as well.)<\/p>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">Item<\/th><th class=\"has-text-align-right\" data-align=\"right\">Cost<\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\"><a href=\"https:\/\/www.sparkfun.com\/products\/16481\">SparkFun GPS-RTK-SMA Breakout &#8211; ZED-F9P (Qwiic)<\/a> [$274.95 USD]<br><a href=\"https:\/\/www.sparkfun.com\/products\/17751\">GNSS Multi-Band L1\/L2 Surveying Antenna &#8211; TNC (TOP106)<\/a> [$133.95 USD]<br><a href=\"https:\/\/www.sparkfun.com\/products\/21740\">Reinforced Interface Cable &#8211; SMA Male to TNC Male (10m)<\/a> [$29.95]<\/td><td class=\"has-text-align-right\" data-align=\"right\">$678.80<br><br><\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">|&#8211; FedEx Duties and Fees<\/td><td class=\"has-text-align-right\" data-align=\"right\">$100.77<\/td><\/tr><\/tbody><tfoot><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>Total Cost<\/strong><\/td><td class=\"has-text-align-right\" data-align=\"right\">$779.57<\/td><\/tr><\/tfoot><\/table><figcaption class=\"wp-element-caption\">RTK base station receiver parts list<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading has-superbfont-small-font-size\">Testing The Receiver<\/h2>\n\n\n\n<p>After eagerly waiting for a few days, I had a full fledge receiver in hand, and could get started. I quickly set up <a href=\"https:\/\/www.u-blox.com\/en\/product\/u-center\" target=\"_blank\" rel=\"noreferrer noopener\">u-center<\/a> on my laptop, followed the <a href=\"https:\/\/learn.sparkfun.com\/tutorials\/how-to-upgrade-firmware-of-a-u-blox-gnss-receiver\/introduction\">SparkFun tutorial<\/a> to update the F9P firmware, and then back to their writeup about setting up the permanent base station. Going through the steps, I set up the antenna on a mic stand I had laying around, and placed it in the sunroom in my house (not the best way to site it, since it should be outside, but good enough to test with). With windows on three sides, it had a relatively good view of the sky, and overall position deviation in u-center stayed under 5 m (16&#8242;) for the most part.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69dc721db7303&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"69dc721db7303\" class=\"wp-block-image size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1585\" height=\"800\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/ucenter.jpg\" alt=\"\" class=\"wp-image-59\" srcset=\"https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/ucenter.jpg 1585w, https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/ucenter-300x151.jpg 300w, https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/ucenter-1024x517.jpg 1024w, https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/ucenter-768x388.jpg 768w, https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/ucenter-1536x775.jpg 1536w\" sizes=\"auto, (max-width: 1585px) 100vw, 1585px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p>Letting u-center run, I recorded close to 24 hours of data, and started testing with a copy of the UBX file I copied out after a few hours. My first runs I used RTKCONV from the <a href=\"https:\/\/www.rtklib.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">RTKLIB<\/a> project for conversation to <a href=\"https:\/\/en.wikipedia.org\/wiki\/RINEX\" target=\"_blank\" rel=\"noreferrer noopener\">RINEX<\/a> format, but later I switched to <a href=\"https:\/\/emlid.com\/emlid-studio\/\" target=\"_blank\" rel=\"noreferrer noopener\">Emlid Studio<\/a>, which proved to be less fussy and a bit easier to work with. I ran into errors repeatedly when converting some files, where either RTKCONV would throw an unhelpful error, or the PPP processing service would not be happy with the file, and Emlid outputs have been consistently successful though this process.<\/p>\n\n\n\n<p>The only thing I would suggest with the output files from Emlid would be to manually edit the antenna type header to contain your antenna information, as Emlid Studio currently doesn&#8217;t have a setting to enter this. To make this change, open your output file from Emlid (currently .23O extension) in Notepad or another text editor. Find the following line and replace it, then save the file.<\/p>\n\n\n\n<pre class=\"wp-block-code has-contrast-dark-background-color has-background\"><code># Find this line\n                                                            ANT # \/ TYPE        \n\n# Replace with this line (this antenna is the one listed above, from SparkFun)\nNONE                SFETOP106                               ANT # \/ TYPE        <\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading has-superbfont-small-font-size\" id=\"test-base-position\">Calculating A Test Base Station Position<\/h2>\n\n\n\n<p>After tinkering with this, and collecting a day of data, it was time to compute an official position for my poorly sited antenna. Using the <a href=\"https:\/\/webapp.geod.nrcan.gc.ca\/geod\/tools-outils\/ppp.php\" target=\"_blank\" rel=\"noreferrer noopener\">CSRS-PPP<\/a> tool, I uploaded my RINEX file for processing (<em>Epoch<\/em>: 1997.0, <em>Vertical datum<\/em>: CGD2013). After a short wait, I received an email from the service with links to my calculated position.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">Measurement<\/th><th class=\"has-text-align-left\" data-align=\"left\">Value<\/th><th class=\"has-text-align-left\" data-align=\"left\">Deviation<\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\">Latitude<\/td><td class=\"has-text-align-left\" data-align=\"left\">N46\u00b0 XX&#8217; XX.XXXX&#8221;<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u00b1 0.032 m (1.3&#8243;)<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">Longitude<\/td><td class=\"has-text-align-left\" data-align=\"left\">W64\u00b0 XX&#8217; XX.XXXX&#8221;<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u00b1 0.030 m (1.2&#8243;)<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">Ellipsoidal Height<\/td><td class=\"has-text-align-left\" data-align=\"left\">-6.XXX m<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u00b1 0.145 m (5.7&#8243;)<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">Cartesian X<\/td><td class=\"has-text-align-left\" data-align=\"left\">1XXXXXX.XXX<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u00b1 0.051 m (2.0&#8243;)<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">Cartesian Y<\/td><td class=\"has-text-align-left\" data-align=\"left\">-4XXXXXX.XXX<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u00b1 0.102 m (4.0&#8243;)<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">Cartesian Z<\/td><td class=\"has-text-align-left\" data-align=\"left\">4XXXXXX.XXX<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u00b1 0.100 m (3.9&#8243;)<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">Indoor site antenna PPP results, NRCan Rapid<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading has-superbfont-small-font-size\">Building The Base Station<\/h2>\n\n\n\n<p>Now that I have a confirmed workflow to get from scratch to a calculated position, it&#8217;s time to build a full base station. After some more research, the best low power solution I came up with is <a href=\"https:\/\/github.com\/Stefal\/rtkbase\" target=\"_blank\" rel=\"noreferrer noopener\">RTK Base<\/a>, a lovely base station server package that will run on a Raspberry Pi, connect to the GPS unit, and can push data to an NTRIP server. As to the NTRIP service itself, I could either host it myself and mess with port forwarding and a bunch of other things, or use <a href=\"http:\/\/rtk2go.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">RTK2GO<\/a>, a service that seems to be hosted by the makers of <a href=\"https:\/\/www.use-snip.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">SNIP<\/a> (thank you \ud83d\ude4f).<\/p>\n\n\n\n<p>Scavenging through my various supplies, and evaluating costs, I decided to use RTK2GO, as the easiest thing to get up and running. This base station, plus the above receiver, fit in a mid-size plastic tote. I drilled a hole in the underside of the bin lip to route the antenna cable through, which means I can fully close the bin, and should keep any rain out of it. I&#8217;ve also put the power station in with the front panel facing up, to allow easy access to the charge ports, so I can just pop the lid open and plug it into wall power when I get home. All told, this package weighs approximately 7.7 kg (16.9 lb), and so is relatively easy to haul from my car to it&#8217;s site.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">Part<\/th><th class=\"has-text-align-left\" data-align=\"left\">Description<\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\"><a href=\"https:\/\/www.raspberrypi.com\/products\/raspberry-pi-3-model-b-plus\/\" target=\"_blank\" rel=\"noreferrer noopener\">Raspberry Pi 3 Model B+<\/a><\/td><td class=\"has-text-align-left\" data-align=\"left\">RTK Base server, to host the GPS unit and push data to the internet.<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><a href=\"https:\/\/support.apple.com\/kb\/sp726?locale=en_US\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">iPhone 6s<\/a><\/td><td class=\"has-text-align-left\" data-align=\"left\">Provides data backhaul via hotspot mode. The Pi will connect automatically via Wi-Fi, since this is less fuss than tethering via USB.<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><a href=\"https:\/\/www.luckymobile.ca\/shop\/plans\/prepaid\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">Lucky Mobile Prepaid SIM \/$30 Unlimited Can Min<\/a><\/td><td class=\"has-text-align-left\" data-align=\"left\">Cheapest data service I can find without commitment.<br>No setup fee, 1 GB of 3G data \/ month, which should give me plenty of run time for NTRIP.<br>Edit [2024-01-02] Total data usage for 15-20 hours of surveying: 122 MB<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><a href=\"https:\/\/www.bluettipower.ca\/products\/bluetti-eb3a-portable-power-station-600w-268wh\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">BLUETTI EB3A (268Wh)<br>Portable Power Station<\/a><\/td><td class=\"has-text-align-left\" data-align=\"left\">LiFePO\u2084 chemistry, functional down to -20 C \/ -4 F (needed, since it&#8217;s Dec). Ran for 24 h data collection to complete antenna placement, only discharged to 45%. Bluetooth connected, so I can change power settings without opening the box.<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><a href=\"https:\/\/eu.dlink.com\/uk\/en\/products\/dir-655-wireless-n-gigabit-router\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">D-Link DIR-655 Router<\/a><\/td><td class=\"has-text-align-left\" data-align=\"left\">Provides field connectivity to Pi, via wired or wireless, when powered on.<br>Allows me to check and configure RTK Base, as well as download data.<br>Saved my bacon when my laptop battery died, as I could still access via Wi-Fi on my phone.<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">Network cables<\/td><td class=\"has-text-align-left\" data-align=\"left\">One short one Pi &lt;-&gt; Router, one long one Laptop &lt;-&gt; Router.<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">USB cables<\/td><td class=\"has-text-align-left\" data-align=\"left\">One micro-USB to power the PI, one Lightning to power the phone, both connected to Bluetti.<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><a href=\"https:\/\/www.canadiantire.ca\/en\/pdp\/type-a-clarity-transparent-storage-box-with-lid-2-l-0423330p.0423330.html\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">2 L plastic bin<\/a><\/td><td class=\"has-text-align-left\" data-align=\"left\">Helps segment the PI and GPS receiver, and keeps the power station from shifting around.<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">Note<\/td><td class=\"has-text-align-left\" data-align=\"left\">I put a note in the box, in the hopes that maybe it&#8217;ll deter people from stealing things. Also has my phone number on it if they have questions.<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">The base station box contents<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading has-superbfont-small-font-size\">Establishing The Base Station<\/h2>\n\n\n\n<p>Now that I have all the parts tested and assembled, it&#8217;s time to properly site the station and get it dialed in. I have a fallen tree on my land, in the middle of a logged clearing. Going to the hardware store, I purchased a few nuts and some washers, and a <strong>5\/8-11 x 36-inch Fully Threaded Steel Rod<\/strong>. I also borrowed a nice 1&#8243; installer drill bit from my father, then went for a drive.<\/p>\n\n\n\n<p>Out at my land finally, after some quick work with the chainsaw to clear the deadfall around my chosen mount point, I started drilling. After a good twenty minutes with the slow speed high torque mode on my cordless drill (thank goodness for that, much easier to work with in the woods), I had a hole drilled through this rather significant tree trunk. A not so quick moment later (takes some time to move a nut down 2\/3 of a rod), I had the mount point set up and relatively level, and antenna attached.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-4 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69dc721db77c1&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"69dc721db77c1\" class=\"wp-block-image size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"804\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" data-id=\"61\" src=\"https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/IMG_4151-1024x804.jpg\" alt=\"\" class=\"wp-image-61\" srcset=\"https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/IMG_4151-1024x804.jpg 1024w, https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/IMG_4151-300x236.jpg 300w, https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/IMG_4151-768x603.jpg 768w, https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/IMG_4151-1536x1207.jpg 1536w, https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/IMG_4151.jpg 1800w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69dc721db7a48&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"69dc721db7a48\" class=\"wp-block-image size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"1024\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" data-id=\"62\" src=\"https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/IMG_4145-768x1024.jpg\" alt=\"\" class=\"wp-image-62\" srcset=\"https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/IMG_4145-768x1024.jpg 768w, https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/IMG_4145-225x300.jpg 225w, https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/IMG_4145.jpg 1050w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/figure>\n\n\n\n<p>Booting up my laptop, I opened u-center, and checked how the visibility was (what a surprise, it was much better). A few minutes later, I had everything tucked into the box and hooked up, and checked in with RTK Base to make sure it was stable and (most important) that File mode was on, so it was actually recording data. Satisfied that everything was running smoothly, I finally tucked the box in under some brush, and went home for the night.<\/p>\n\n\n\n<p>Coming back the next day, I spent some time clearing brush (one of my ongoing projects there), while I waited for the 24 hr mark. As soon as it was time, a quick login to RTK Base to pull its UBX file, shut it down and packed up the antenna. Before leaving, I loaded the UBX file into u-center, and replayed it to see how the data looked.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69dc721db7d9b&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"69dc721db7d9b\" class=\"wp-block-image aligncenter size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"511\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/ucenter-2-1024x511.jpg\" alt=\"\" class=\"wp-image-63\" srcset=\"https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/ucenter-2-1024x511.jpg 1024w, https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/ucenter-2-300x150.jpg 300w, https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/ucenter-2-768x383.jpg 768w, https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/ucenter-2-1536x767.jpg 1536w, https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/ucenter-2-2048x1022.jpg 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p>Fantastic! The data looked great, with a clear view of the sky, and a much tighter deviation map (most traces within 1m, compared to the previous run at home where it was 5m). After getting this data back home, I ran it through the CSRS-PPP service, and got my Rapid coordinates. <em>This tool has <a href=\"https:\/\/webapp.csrs-scrs.nrcan-rncan.gc.ca\/geod\/tools-outils\/ppp-info.php\" target=\"_blank\" rel=\"noreferrer noopener\">3 levels of location precision<\/a>, Ultra-Rapid (60 minutes after the hour), Rapid (12 hours after the day), and Final (12 days after the week).<\/em><\/p>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">Measurement<\/th><th class=\"has-text-align-left\" data-align=\"left\">Value<\/th><th class=\"has-text-align-left\" data-align=\"left\">Deviation<\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\">Latitude<\/td><td class=\"has-text-align-left\" data-align=\"left\">N45\u00b0 XX&#8217; XX.XXXX&#8221;<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u00b1 0.037 m (1.5&#8243;)<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">Longitude<\/td><td class=\"has-text-align-left\" data-align=\"left\">W65\u00b0 XX&#8217; XX.XXXX&#8221;<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u00b1 0.027 m (1.1&#8243;)<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">Ellipsoidal Height<\/td><td class=\"has-text-align-left\" data-align=\"left\">-6.XXX m<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u00b1 0.023 m (0.9&#8243;)<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">Cartesian X<\/td><td class=\"has-text-align-left\" data-align=\"left\">18XXXXX.XXX<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u00b1 0.037 m (1.5&#8243;)<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">Cartesian Y<\/td><td class=\"has-text-align-left\" data-align=\"left\">-40XXXXX.XXX<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u00b1 0.027 m (1.1&#8243;)<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">Cartesian Z<\/td><td class=\"has-text-align-left\" data-align=\"left\">45XXXXX.XXX<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u00b1 0.022 m (0.9&#8243;)<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">Outdoor site antenna PPP results, NRCan Rapid<\/figcaption><\/figure>\n\n\n\n<p>Compared to my previous results, the deviations on this location are much lower (and I expect they&#8217;ll be a little closer after I can get Final position). With these coordinates, I updated the RTK Base config, so it knew where it&#8217;s antenna was.<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-superbfont-medium-font-size\">Surveying<\/h2>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:40%\">\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69dc721db813e&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"69dc721db813e\" class=\"wp-block-image size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"1024\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/IMG_4158-768x1024.jpg\" alt=\"\" class=\"wp-image-65\" srcset=\"https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/IMG_4158-768x1024.jpg 768w, https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/IMG_4158-225x300.jpg 225w, https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/IMG_4158-1152x1536.jpg 1152w, https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/IMG_4158.jpg 1350w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:60%\">\n<p>Now that I have a solution on antenna location, I can start the work. Going back out the next day, I set up my base station, and started roaming. First, I spent some time surveying known markers to establish accuracy. I located both my own property markers (since I had just had a survey done telling me exactly where they were), as well as some nearby government markers (many provinces have a list of survey monuments, including <a href=\"https:\/\/www.pxw1.snb.ca\/webnbcontrol\/snbe\/home.asp\" target=\"_blank\" rel=\"noreferrer noopener\">New Brunswick<\/a>).<\/p>\n\n\n\n<p>To know where to look for these monuments, I created a CSV of all the monument coordinates I wanted to verify with, loaded it into QGIS, and then exported it to a GeoPackage format file. Taking that file, I copied it into my iPhone, in the <code>SW Maps\/Layers\/geopackage<\/code> folder (at the time of writing, there seems to be a bug with GeoJSON and shapefile rendering, which I&#8217;ve informed the app author of).<\/p>\n<\/div>\n<\/div>\n\n\n\n<p>In SW Maps, I then imported this file, which created a new layer in my project that I could reference. To get the coordinates for the points, I used the <a href=\"http:\/\/www.snb.ca\/geonb1\/e\/apps\/geoNB-CTS-E.asp\" target=\"_blank\" rel=\"noreferrer noopener\">NB Coordinate Transformation Service (CTS)<\/a>, which allows me to flip them from Cartesian \/ Stereographic Double (Northing, Easting) to Geographic (Lat, Long).<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>NAME,GEOMETRY\n2XXXX,POINT Z (-65.XXXXXXXXX 45.XXXXXXXXX)\n1XXXX,POINT Z (-65.XXXXXXXXX 45.XXXXXXXXX)\n1XXXX,POINT Z (-65.XXXXXXXXX 45.XXXXXXXXX)\n\"NORTH PROPERTY MARKER\",POINT Z (-65.XXXXXXXXX 45.XXXXXXXXX)\n\"SOUTH PROPERTY MARKER\",POINT Z (-65.XXXXXXXXX 45.XXXXXXXXX)<\/code><\/pre>\n\n\n\n<p>After driving over half the county chasing these monuments (the above is a truncated CSV sample), I was relatively confident in my setup (worst measurement was 32 mm [1.26 in] off from center, best was 3 mm [0.12 in]). I spent the rest of my afternoon walking the land, and collected over 400 data points.<\/p>\n\n\n\n<p>Taking the data back home to QGIS, I exported it to CSV from SW Maps, and imported it in, and started to look at what I had collected. And then I realized that something was wrong.<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-superbfont-medium-font-size\">Correcting The Data<\/h2>\n\n\n\n<p>After all this work, I had an error. Latitude and longitude appeared to be correct, but what I hadn&#8217;t validated on those monuments was &#8230; elevation. Starting to poke at the data, and comparing it to the elevation contours from the GeoNB maps, I realized I was off by at least 7 m (23 ft), if not more. After a round of research, I realized two things: there&#8217;s a ellipsoid elevation and an orthometric elevation (mean sea level), and thank goodness SW Maps records both. Here&#8217;s a sample of their export file:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ID,Remarks,Time,Geometry,Latitude,Longitude,Elevation,Ortho Height,Instrument Ht,Fix ID,Horizontal Accuracy,Vertical Accuracy\n3,Driveway Right Edge,24-12-2023 16:00:00.000 -0400,POINTZ(-65.XXXXXXXXX 45.XXXXXXXXX 78.XXXX),45.XXXXXXXXX,-65.XXXXXXXXX,78.XXXX,103.XXXX,1.73,4,0.01,0.01\n4,Driveway Left Edge,24-12-2023 16:00:00.000 -0400,POINTZ(-65.XXXXXXXXX 45.XXXXXXXXX 78.XXXX),45.XXXXXXXXX,-65.XXXXXXXXX,78.XXXX,103.XXXX,1.73,4,0.01,0.01<\/code><\/pre>\n\n\n\n<p>I also found a tool in the Natural Resources toolbox called <a href=\"https:\/\/webapp.csrs-scrs.nrcan-rncan.gc.ca\/geod\/tools-outils\/gpsh.php\">GPS\u00b7H<\/a>, which allows you to transform from one height system to another, based on coordinates and time. After looking at the data I had recorded from the official survey monuments, I worked out that my elevations were correct, but that the ortho heights were what was wrong (and ran my file through their batch processing to get corrected elevations). <\/p>\n\n\n\n<p>I also learned there are geoid models that can properly convert from ellipsoid to orthometric elevations (also provided by <a href=\"https:\/\/webapp.geod.nrcan.gc.ca\/geod\/data-donnees\/geoid.php\">Natural Resources<\/a>). Downloading the model file I needed (the BYN for CGG2013a), I ran it through a <a href=\"https:\/\/dominoc925-pages.appspot.com\/webapp\/byn2gtx\/index.html\">converter<\/a> to get it into GTX format. Finally, I loaded it into my phone (<code>SW Maps\/Geoid<\/code>), and set it in the app settings as the model to use.<\/p>\n\n\n\n<p>Going out the next day, armed with this new information, I once again ran a survey of my known control points, and also manufactured a few temporary monuments on my property (using some flagging tape, stumps, and Phillips head screws as a forced centering mark) to use as control points for my further data collection. <\/p>\n\n\n\n<p>With that done, I surveyed a few hundred more data points, and once again returned home to verify everything. Thankfully, this time, the exported data had what appeared to be correct orthometric heights, and now I could get on to generating my own topographical maps.<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-superbfont-medium-font-size\">Finally, The Mapping<\/h2>\n\n\n\n<p>Now that I have all the data, it&#8217;s map time! Over 1400 data points collected in three days, I now have enough data to start plotting features like roads and tree lines, and I can start to see the shape of the land. With help from <a href=\"https:\/\/www.geodose.com\/2018\/05\/how-to-create-contour-lines-in-qgis.html\">these<\/a> <a href=\"https:\/\/gis.stackexchange.com\/questions\/454332\/styling-contours-by-colour-and-by-line-thickness-in-qgis\">tutorials<\/a>, I was able to process my point data into a useful contour map. The images you see below are at 100 interval density, but I&#8217;ve generated higher densities so I can look closely at the spots where I&#8217;ve collected a lot of data points. You can see each step from raw data to smooth labeled contours. For my bold lines, I used an expression that highlights every 5th line, instead of specific altitudes.<\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-4 is-cropped wp-block-gallery-5 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69dc721db8648&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"69dc721db8648\" class=\"wp-block-image size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"420\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" data-id=\"67\" src=\"https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/expression-1024x420.png\" alt=\"\" class=\"wp-image-67\" srcset=\"https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/expression-1024x420.png 1024w, https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/expression-300x123.png 300w, https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/expression-768x315.png 768w, https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/expression.png 1320w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69dc721db88e2&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"69dc721db88e2\" class=\"wp-block-image size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"691\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" data-id=\"68\" src=\"https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/map01-1024x691.png\" alt=\"\" class=\"wp-image-68\" srcset=\"https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/map01-1024x691.png 1024w, https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/map01-300x203.png 300w, https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/map01-768x518.png 768w, https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/map01-1536x1037.png 1536w, https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/map01-2048x1383.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69dc721db8b62&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"69dc721db8b62\" class=\"wp-block-image size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"691\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" data-id=\"69\" src=\"https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/map02-1024x691.png\" alt=\"\" class=\"wp-image-69\" srcset=\"https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/map02-1024x691.png 1024w, https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/map02-300x203.png 300w, https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/map02-768x519.png 768w, https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/map02-1536x1037.png 1536w, https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/map02-2048x1383.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69dc721db8dfd&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"69dc721db8dfd\" class=\"wp-block-image size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"691\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" data-id=\"70\" src=\"https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/map03-1024x691.png\" alt=\"\" class=\"wp-image-70\" srcset=\"https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/map03-1024x691.png 1024w, https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/map03-300x203.png 300w, https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/map03-768x519.png 768w, https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/map03-1536x1037.png 1536w, https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/map03-2048x1383.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69dc721db9079&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"69dc721db9079\" class=\"wp-block-image size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"691\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" data-id=\"71\" src=\"https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/map04-1024x691.png\" alt=\"\" class=\"wp-image-71\" srcset=\"https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/map04-1024x691.png 1024w, https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/map04-300x203.png 300w, https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/map04-768x519.png 768w, https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/map04-1536x1037.png 1536w, https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/map04-2048x1383.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/figure>\n\n\n\n<h2 class=\"wp-block-heading has-superbfont-medium-font-size\">Final Words<\/h2>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:66.66%\">\n<p>Obviously, I still have a lot of data I need to fill in, and there are some water features, clearings, and other elements I need to survey. However, after a few weeks of experimenting with QGIS, and a few days of boots on the ground surveying with the SparkFun Facet, I&#8217;m quite happy being able to start to properly see how my land looks. I have requested the survey company I use to come back, and give me proper validated elevations and locations for all the monuments I&#8217;m using as control, so I can be more confident in my measurements.<\/p>\n\n\n\n<p>One of the things I was impressed by was the Facet&#8217;s ability to hold an RTK Fix, even under somewhat dense canopy. The photo to the left was taken in a thicket of evergreen trees, where the receiver still managed to hold its fix. I did notice that it wobbled a lot more between RTK Fix and RTK Float as I got into the steeper hills on my land, or into the really thick forest, but overall, its performance was better than I hoped while being in the deep woods.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:33.33%\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"1024\" src=\"https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/IMG_4159-768x1024.jpg\" alt=\"\" class=\"wp-image-72\" srcset=\"https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/IMG_4159-768x1023.jpg 768w, https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/IMG_4159-225x300.jpg 225w, https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/IMG_4159-1153x1536.jpg 1153w, https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2023\/12\/IMG_4159.jpg 1350w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/><\/figure>\n<\/div>\n<\/div>\n\n\n\n<p>I&#8217;m also very happy I&#8217;m not running this survey in the summer, because I know I&#8217;d lose my cell signal for the correction data in the middle of my land, where the leaves and trees have blocked it out before.<\/p>\n\n\n\n<p>From where I started, to now at the end of this post, I hadn&#8217;t realized I had done so much learning in so short a period of time. I know I&#8217;m only scratching the surface, and I did not expect to have so much to write about when I started this. I hope my experiences are helpful to some of you, and I can&#8217;t wait to see what else I learn as I build up this dataset.<\/p>\n\n\n\n<p>Cheers!<\/p>\n\n\n\n<p>EDIT [2024-01-01]: <a href=\"https:\/\/news.ycombinator.com\/item?id=38820616\" target=\"_blank\" rel=\"noreferrer noopener\">Hacker News Discussion<\/a>, and a Triangulated Irregular Network (TIN) mesh illustration. It doesn&#8217;t exactly match the above images, as I&#8217;ve added additional survey points, but should give you an idea of how the data starts being interpreted into contours.<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69dc721db9534&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"69dc721db9534\" class=\"wp-block-image size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"691\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2024\/01\/tinmesh-1024x691.png\" alt=\"\" class=\"wp-image-101\" srcset=\"https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2024\/01\/tinmesh-1024x691.png 1024w, https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2024\/01\/tinmesh-300x203.png 300w, https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2024\/01\/tinmesh-768x519.png 768w, https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2024\/01\/tinmesh-1536x1037.png 1536w, https:\/\/bendauphinee.com\/writing\/wp-content\/uploads\/2024\/01\/tinmesh-2048x1383.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p>EDIT [2024-01-12]: This was also featured on <a href=\"https:\/\/hackaday.com\/2024\/01\/12\/a-homebrew-gps-correction-system-for-diy-land-surveying\/\" target=\"_blank\" rel=\"noreferrer noopener\">HackADay<\/a>!<br><br>EDIT [2024-01-18]: And also featured on <a href=\"https:\/\/www.sparkfun.com\/news\/9514\" target=\"_blank\" rel=\"noreferrer noopener\">SparkFun&#8217;s blog<\/a>!<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>20 min reading time; ~4300 words The fun of owning rural property is that knowing where your land actually starts and ends is a guess usually. Sure, you have a parcel description, and maybe even an online service with &#8220;official&#8221; GIS boundaries (for us here in New Brunswick, this is GeoNB). However, since it&#8217;s in [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11],"tags":[10,8,7,9],"class_list":["post-1","post","type-post","status-publish","format-standard","hentry","category-surveying","tag-gis","tag-gnss","tag-gps","tag-survey"],"_links":{"self":[{"href":"https:\/\/bendauphinee.com\/writing\/wp-json\/wp\/v2\/posts\/1","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bendauphinee.com\/writing\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/bendauphinee.com\/writing\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/bendauphinee.com\/writing\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/bendauphinee.com\/writing\/wp-json\/wp\/v2\/comments?post=1"}],"version-history":[{"count":33,"href":"https:\/\/bendauphinee.com\/writing\/wp-json\/wp\/v2\/posts\/1\/revisions"}],"predecessor-version":[{"id":308,"href":"https:\/\/bendauphinee.com\/writing\/wp-json\/wp\/v2\/posts\/1\/revisions\/308"}],"wp:attachment":[{"href":"https:\/\/bendauphinee.com\/writing\/wp-json\/wp\/v2\/media?parent=1"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bendauphinee.com\/writing\/wp-json\/wp\/v2\/categories?post=1"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bendauphinee.com\/writing\/wp-json\/wp\/v2\/tags?post=1"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}