{"id":6148,"date":"2026-10-28T23:30:47","date_gmt":"2026-10-28T21:30:47","guid":{"rendered":"https:\/\/unitycoder.com\/blog\/?p=6148"},"modified":"2026-10-28T23:30:47","modified_gmt":"2026-10-28T21:30:47","slug":"adding-real-world-location-to-ice-fishing-prototype","status":"publish","type":"post","link":"https:\/\/unitycoder.com\/blog\/2026\/10\/28\/adding-real-world-location-to-ice-fishing-prototype\/","title":{"rendered":"Adding Real World Location to Ice Fishing Prototype"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><strong>Workflow<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8211; Elevation model, Orthophoto and laser scan data from Maanmittauslaitos (CC4)<br>&#8211; Import geotiff to Unity <a href=\"https:\/\/github.com\/unitycoder\/UnityGeoTiffImporter\">https:\/\/github.com\/unitycoder\/UnityGeoTiffImporter<\/a><br>&#8211; Import .jp2 to Unity <a href=\"https:\/\/github.com\/unitycoder\/JP2Converter\">https:\/\/github.com\/unitycoder\/JP2Converter<\/a><br>&#8211; Create terrain from geotiff elevation map (unity editor tool)<br>&#8211; Compare with laser scan data for real world size <a href=\"https:\/\/las2gltf.kelobyte.fi\/\">https:\/\/las2gltf.kelobyte.fi\/<\/a><br>&#8211; Crop terrain and orthophoto for the game area (unity editor tool)<br>&#8211; Create lake depth map for the lake, if not available online (photoshop)<br>&#8211; Use lake depth map to lower terrain in lake area (unity editor tool)<br>&#8211; Get tree positions from orthophoto into CSV (python script)<br>&#8211; Plant trees to terrain (unity editor tool)<br><br><strong>Images<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Python Tree Detection Image Processing<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2026\/10\/tree-detection.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"744\" data-attachment-id=\"6149\" data-permalink=\"https:\/\/unitycoder.com\/blog\/2026\/10\/28\/adding-real-world-location-to-ice-fishing-prototype\/tree-detection\/\" data-orig-file=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2026\/10\/tree-detection.png?fit=1675%2C1217&amp;ssl=1\" data-orig-size=\"1675,1217\" data-comments-opened=\"1\" data-image-title=\"tree-detection\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2026\/10\/tree-detection.png?fit=1024%2C744&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2026\/10\/tree-detection.png?resize=1024%2C744&#038;ssl=1\" alt=\"\" class=\"wp-image-6149\" srcset=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2026\/10\/tree-detection.png?resize=1024%2C744&amp;ssl=1 1024w, https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2026\/10\/tree-detection.png?resize=300%2C218&amp;ssl=1 300w, https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2026\/10\/tree-detection.png?resize=768%2C558&amp;ssl=1 768w, https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2026\/10\/tree-detection.png?resize=1536%2C1116&amp;ssl=1 1536w, https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2026\/10\/tree-detection.png?w=1675&amp;ssl=1 1675w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><br>Editor tool to preview and apply heightmap for lake<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2026\/10\/lake-depth-maker.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"664\" data-attachment-id=\"6150\" data-permalink=\"https:\/\/unitycoder.com\/blog\/2026\/10\/28\/adding-real-world-location-to-ice-fishing-prototype\/lake-depth-maker\/\" data-orig-file=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2026\/10\/lake-depth-maker.png?fit=1381%2C896&amp;ssl=1\" data-orig-size=\"1381,896\" data-comments-opened=\"1\" data-image-title=\"lake-depth-maker\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2026\/10\/lake-depth-maker.png?fit=1024%2C664&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2026\/10\/lake-depth-maker.png?resize=1024%2C664&#038;ssl=1\" alt=\"\" class=\"wp-image-6150\" srcset=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2026\/10\/lake-depth-maker.png?resize=1024%2C664&amp;ssl=1 1024w, https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2026\/10\/lake-depth-maker.png?resize=300%2C195&amp;ssl=1 300w, https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2026\/10\/lake-depth-maker.png?resize=768%2C498&amp;ssl=1 768w, https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2026\/10\/lake-depth-maker.png?w=1381&amp;ssl=1 1381w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Laser scan overlayed to terrain, validate real world sizes<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2026\/10\/laser-scan-validate-terrain.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"669\" data-attachment-id=\"6151\" data-permalink=\"https:\/\/unitycoder.com\/blog\/2026\/10\/28\/adding-real-world-location-to-ice-fishing-prototype\/laser-scan-validate-terrain\/\" data-orig-file=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2026\/10\/laser-scan-validate-terrain.png?fit=1384%2C904&amp;ssl=1\" data-orig-size=\"1384,904\" data-comments-opened=\"1\" data-image-title=\"laser-scan-validate-terrain\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2026\/10\/laser-scan-validate-terrain.png?fit=1024%2C669&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2026\/10\/laser-scan-validate-terrain.png?resize=1024%2C669&#038;ssl=1\" alt=\"\" class=\"wp-image-6151\" srcset=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2026\/10\/laser-scan-validate-terrain.png?resize=1024%2C669&amp;ssl=1 1024w, https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2026\/10\/laser-scan-validate-terrain.png?resize=300%2C196&amp;ssl=1 300w, https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2026\/10\/laser-scan-validate-terrain.png?resize=768%2C502&amp;ssl=1 768w, https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2026\/10\/laser-scan-validate-terrain.png?w=1384&amp;ssl=1 1384w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Compare tree heights also<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2026\/10\/compare-tree-heights-laserscan.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"560\" data-attachment-id=\"6152\" data-permalink=\"https:\/\/unitycoder.com\/blog\/2026\/10\/28\/adding-real-world-location-to-ice-fishing-prototype\/compare-tree-heights-laserscan\/\" data-orig-file=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2026\/10\/compare-tree-heights-laserscan.png?fit=2560%2C1400&amp;ssl=1\" data-orig-size=\"2560,1400\" data-comments-opened=\"1\" data-image-title=\"compare-tree-heights-laserscan\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2026\/10\/compare-tree-heights-laserscan.png?fit=1024%2C560&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2026\/10\/compare-tree-heights-laserscan.png?resize=1024%2C560&#038;ssl=1\" alt=\"\" class=\"wp-image-6152\" srcset=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2026\/10\/compare-tree-heights-laserscan.png?resize=1024%2C560&amp;ssl=1 1024w, https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2026\/10\/compare-tree-heights-laserscan.png?resize=300%2C164&amp;ssl=1 300w, https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2026\/10\/compare-tree-heights-laserscan.png?resize=768%2C420&amp;ssl=1 768w, https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2026\/10\/compare-tree-heights-laserscan.png?resize=1536%2C840&amp;ssl=1 1536w, https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2026\/10\/compare-tree-heights-laserscan.png?resize=2048%2C1120&amp;ssl=1 2048w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Game view<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2026\/10\/gameshot.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"560\" data-attachment-id=\"6153\" data-permalink=\"https:\/\/unitycoder.com\/blog\/2026\/10\/28\/adding-real-world-location-to-ice-fishing-prototype\/gameshot\/\" data-orig-file=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2026\/10\/gameshot.png?fit=2560%2C1400&amp;ssl=1\" data-orig-size=\"2560,1400\" data-comments-opened=\"1\" data-image-title=\"gameshot\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2026\/10\/gameshot.png?fit=1024%2C560&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2026\/10\/gameshot.png?resize=1024%2C560&#038;ssl=1\" alt=\"\" class=\"wp-image-6153\" srcset=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2026\/10\/gameshot.png?resize=1024%2C560&amp;ssl=1 1024w, https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2026\/10\/gameshot.png?resize=300%2C164&amp;ssl=1 300w, https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2026\/10\/gameshot.png?resize=768%2C420&amp;ssl=1 768w, https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2026\/10\/gameshot.png?resize=1536%2C840&amp;ssl=1 1536w, https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2026\/10\/gameshot.png?resize=2048%2C1120&amp;ssl=1 2048w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Planting trees with Editor tool (at detected tree positions)<\/p>\n\n\n\n<figure class=\"wp-block-video\"><video height=\"720\" style=\"aspect-ratio: 1280 \/ 720;\" width=\"1280\" controls src=\"https:\/\/unitycoder.com\/blog\/wp-content\/uploads\/2026\/10\/addtrees1.mp4\"><\/video><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">test play<\/p>\n\n\n\n<figure class=\"wp-block-video\"><video height=\"720\" style=\"aspect-ratio: 1280 \/ 720;\" width=\"1280\" controls src=\"https:\/\/unitycoder.com\/blog\/wp-content\/uploads\/2026\/10\/reallocation.mp4\"><\/video><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Workflow &#8211; Elevation model, Orthophoto and laser scan data from Maanmittauslaitos (CC4)&#8211; Import geotiff to Unity https:\/\/github.com\/unitycoder\/UnityGeoTiffImporter&#8211; Import .jp2 to Unity https:\/\/github.com\/unitycoder\/JP2Converter&#8211; Create terrain from geotiff elevation map (unity editor tool)&#8211; Compare with laser scan data for real world size https:\/\/las2gltf.kelobyte.fi\/&#8211; Crop terrain and orthophoto [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":6152,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[613],"tags":[585,358,1364,106,1310,1363,1307,1365,400,140,1210,189,168,997,1208],"class_list":["post-6148","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-games","tag-converter","tag-editor","tag-finland","tag-game","tag-geotiff","tag-ice-fishing","tag-jp2","tag-laser-scan","tag-map","tag-prototype","tag-real","tag-script","tag-terrain","tag-tool","tag-world"],"jetpack_publicize_connections":[],"jetpack_shortlink":"https:\/\/wp.me\/p1KTaT-1Ba","jetpack_sharing_enabled":true,"jetpack_featured_media_url":"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2026\/10\/compare-tree-heights-laserscan.png?fit=2560%2C1400&ssl=1","_links":{"self":[{"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/posts\/6148","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/comments?post=6148"}],"version-history":[{"count":1,"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/posts\/6148\/revisions"}],"predecessor-version":[{"id":6157,"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/posts\/6148\/revisions\/6157"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/media\/6152"}],"wp:attachment":[{"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/media?parent=6148"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/categories?post=6148"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/tags?post=6148"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}