When we throw pay plots on tree planting blocks, we typically use a 100m grid to pick plot locations, which results in a plot density of approximately 1 plot per hectare.
Most mapping apps (such as Avenza Maps) don't have any functionality in them to automatically create a digital grid overlay to guide us. It's possible to create a grid manually, but that's a very tedious and time-consuming approach, taking several minutes for a single small block, and sometimes fifteen to twenty minutes for a very large block. It's also possible to create grids using ArcGIS or QGIS desktop software, but that's also slightly tedious, and not everybody has access to that software.
In this blog post, we'll use AI to create a grid KML quickly and efficiently. Before we go through the steps required, here's a link to a video that illustrates the tedious manual approach in Avenza. You don't need to watch this video, but if you don't fully understand what we're trying to achieve here, this eight-minute video might help illustrate the challenge:
I picked a random block map for this exercise, which you can see here:
I should clarify that the above map is just a JPG graphic of the original map, which was a georeferenced PDF. You will need to have a georeferenced PDF or georeferenced TIFF file for this exercise, not just a random map graphic. Foresters will always provide georeferenced maps.The map above is an especially good one for this exercise. The gross block area for this block is roughly 28.3 hectares. However, the plantable area (in pink) is only about 22.3 hectares. You can see this on the map as the NAR (net area to reforest). I say that this is a good demonstration map because it's tricky. There's a WTRA (wildlife tree retention area) that cuts this block into two separate plantable areas. I wondered if this might trick the AI.
For this exercise, I used OpenAI's ChatGPT Work tab, model GPT-6.1 Terra on the High intensity setting (I have a Pro subscription plan).
This is the prompt that I submitted to GPT-Work:
I'd like to try building a new skill, related to GIS/mapping/plotting of tree planting blocks.
When we do quality surveys of a block, we generally need to do a minimum of approximately 1 plot per hectare. We always round up, so if a block is 7.04 Ha in size, I'd typically want to do at least 8 plots.
The expectation is that we throw our blocks based upon a 100m standard grid. However, the foresters never provide a plot grid for us to work with, so we need to build our own. Typically, when we worked with paper maps in the past (a decade ago), we'd draw out the locations for pay plots with a ruler and pencil, and then "eyeball" that we were in the approximate correct location for each plot while in the field. Or sometimes, we'd use a "walk-box" with string to measure out 100m in the field while walking from plot to plot. These methods were rudimentary.
Now that we have the technology to use apps such as Avenza, combined with the GPS in our phones, we can plant a digital grid in advance and then follow that so we're probably within about 2-3m of the "correct" location for each plot as we walk through the block.
Creating the digital grids is the tricky part. In the past, I'd draw them out by hand using the line tool in Avenza, and create a grid KML file. The person throwing the plots could then use that KML grid (which has vertical/longitude and horizontal/latitude lines spaced at 100m) and we'd throw a plot at each location where the lines meet.
I think you can create these grid KML's for me. I'm attaching a sample georeferenced block map. For this particular block, the block is highlighted in a reddish colour. Study the entire map, including the legend, and ensure that this makes sense to you.
I need you to generate a KML file for me which contains a grid that overlays this block. Your grid will contain the appropriate number of vertical lines and the appropriate number of intersecting horizontal lines such that lines are separated by 100m spacing, therefore, there will be approximately one intersection of lines for each 1 hectare on the underlying map.
Make sure that your first vertical line starts about twenty meters to the west of the westernmost part of the block. Your last vertical line will be located past the easternmost point on the block. Similarly, your first horizontal line will start about twenty meters to the north of the northernmost point on the block. Your last horizontal line will be located below the southernmost point on the block. All grid lines can be in standard 3 pixel width, in the standard Orange default colour in Avenza.
Study the attached block map carefully before you proceed. This particular block is approximately 28.3 hectares in size, so once you're finished creating the grid, I would expect approximately 28 of the gridline intersections to be located within the block boundaries, although there may be slightly fewer or slightly more based upon the exact location of underlying block boundaries.
Ask me questions if you don't understand what we're trying to achieve.
I also attached the appropriate georeferenced map when I submitted the prompt.
Chat worked for almost three minutes on this project. It did not ask me any questions to clarify my goal.
This was the first time that I had tried this process, and it will certainly create future grid KML's more quickly now that it understands the process. Also, it will get faster in the future with newer models, which will certainly be more capable and more efficient.
When it finished processing my query, this is what it told me:
I created the 100-metre grid KML for import into Avenza.
It contains nine vertical and ten horizontal orange lines, spaced 100 metres apart in the map’s NAD83 UTM coordinate system. The grid starts approximately 20 metres west and north of the block’s outermost points and extends beyond its eastern and southern edges.
The map distinguishes the 28.3-hectare gross block from the 21.7-hectare pink planting unit; the green-hatched wildlife tree retention areas also fall within the outlined block. I estimate about 22 intersections fall in the pink area, with additional intersections in the retention areas or near boundaries. Those are visual estimates, so the eligible plot count should be checked against the survey rules and boundaries before fieldwork. Under your round-up rule, 28.3 hectares would call for at least 29 plots if the gross area is the relevant basis.
I registered the grid using the map’s printed UTM ticks, so its placement is approximate. The KML’s orange is standard orange at width 3; its exact appearance may depend on Avenza’s display settings.
I wonder why it told me that the pink planting area was 21.7 hectares. Was this a hallucination? Or did it double-check the size of the pink planting area and decide that the map's listed NAR size of 22.3 hectares was incorrect?
The KML was generated perfectly. Here's a graphic showing how it looked when I opened the KML in Google Earth desktop:
And here's a graphic showing how it looked when I opened the KML as a layer on top of the underlying georeferenced map in Avenza on my phone:
Overall, this was another successful project, and it will be a huge time-saver in the future.
If you use a similar prompt in your own workflow, you can ask Chat to turn this into a reusable "skill" on your account, which makes it easy for you to replicate the process in a separate chat, rather than as an additional query within the same chat. I could share the skill file for this, but it's probably just as fast for you to follow my workflow from scratch and ask your own AI to create its own version of the skill on your local computer.
Email me at scooter@replant.ca if you also use AI in your reforestation management workflow, and if you want to share some ideas!


