# GIS in Go

DevFeed: [GIS in Go](<https://devfeed.tech/articles/gis-in-go-22178.md>)

Original publisher: [Read original article](<https://www.ardanlabs.com/blog/2021/11/gis-in-go.html>)

Published: 2021-11-01T00:00:00Z

Content type: tutorial

Language: en

Sources: [William Kennedy](<https://devfeed.tech/sources/william-kennedy.md>)

Topics: [Geographic Information System](<https://devfeed.tech/topics/gis.md>), [Go Language](<https://devfeed.tech/topics/go-language.md>), [CSV](<https://devfeed.tech/topics/csv.md>)

Tags: [ardan-labs](<https://devfeed.tech/tags/ardan-labs.md>), [blog](<https://devfeed.tech/tags/blog.md>), [csv](<https://devfeed.tech/tags/csv.md>), [gis](<https://devfeed.tech/tags/gis.md>), [go](<https://devfeed.tech/tags/go.md>), [go-programming](<https://devfeed.tech/tags/go-programming.md>), [golang](<https://devfeed.tech/tags/golang.md>), [programming](<https://devfeed.tech/tags/programming.md>)

## AI overview

A Go tutorial that loads GPS route data from a CSV file, resamples it into fewer time-based points, and generates an HTML map using Leaflet.

## Source excerpt

Introduction You are jogging and want to show off your route to your friends. Let's imagine the data you have for your route is a CSV file in the following format: Listing 1: track.csv time,lat,lng,height 2015-08-20 03:48:07.235,32.519585,35.015021,136.1999969482422 2015-08-20 03:48:24.734,32.519606,35.014954,126.5999984741211 2015-08-20 03:48:25.660,32.519612,35.014871,123.0 2015-08-20 03:48:26.819,32.519654,35.014824,120.5 2015-08-20 03:48:27.828,32.519689,35.014776,118.9000015258789 2015-08-20 03:48:29.720,32.519691,35.014704,119.9000015258789 2015-08-20 03:48:30.669,32.519734,35.014657,120.9000015258789 Listing 1 shows the first few lines of track.csv. Each line contains a time stamp in UTC, latitude, longitude and height above sea level in meters.