GoMap
GIS map with GoLang
Install / Use
/learn @ehrudxo/GoMapREADME
maps
dependency
- gorm
- github.com/llgcode/draw2d -- draw2d's dependency has some problem with google code
- github.com/nferruzzi/gormGIS
Setup frameworks
Go install
- You can install Go Programming Language from here - Go
- Setting up $GOPATH and $GOROOT
revel install
- revel is web framework using Go.
- The official Site is here - https://revel.github.io/
But you can install revel using go command
# get revel framework
go get github.com/revel/revel
# get 'revel' command
go get github.com/revel/cmd/revel
# get samples and run chat app
go get github.com/revel/samples
revel run github.com/revel/samples/chat
make new application
You can make new web application using revel
revel new myNewMap
map settings
This project contains shape file.
You can also download shape files from
http://data.seoul.go.kr/openinf/mapview.jsp?infId=OA-365
It's Korean Gov. open data.
License is under BY(CC)
Author is Seoul Si(서울시)
shp2 -> postgis
SHP file is not UTF-8, 2 steps needed to be done
- convert shape file to sql file shp2pgsql -I -W euc-kr -s 2097 <PATH/TO/SHAPEFILE> <DBTABLE> > SHAPEFILE.sql
- sql loading psql -d <DATABASE> -f SHAPEFILE.sql
Writing Go application
- Make a mock code from revel command
revel new myApp
once you execute this command, directoy structure will be shown below.
myapp/ App root
app/ App sources
controllers/ App controllers
app.go Sample Contoller
views/ Templates
App/ View Files
index.html Sample View File
errors/ error file
init.go Interceptor registration
tests/ Test suites
conf/ Configuration files
app.conf Main configuration file
routes Routes definition
messages/ Message files
public/ Public assets
css/ CSS files
js/ Javascript files
images/ Image files
- Setting ORM tool for application You can set ORM tool like GORM, GORP
In this application, you will learn how to setup GORM
- Make controller for maps
Test code authoring
Test URL authoring
test URL
http://localhost:9000/toilet?BBOX=177000%2C437000%2C219000%2C466000&SRS=EPSG:2097&WIDTH=1024&HEIGHT=768
Real code
Leaflet code
EPSG2097 settings
EPSG 2097 EPSG 2097 PROJCS["Korean 1985 / Korea Central Belt",GEOGCS["Korean 1985",DATUM["Korean_Datum_1985",SPHEROID["Bessel 1841",6377397.155,299.1528128,AUTHORITY["EPSG","7004"]],AUTHORITY["EPSG","6162"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4162"]],UNIT["metre",1,AUTHORITY["EPSG","9001"]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",38],PARAMETER["central_meridian",127],PARAMETER["scale_factor",1],PARAMETER["false_easting",200000],PARAMETER["false_northing",500000],AUTHORITY["EPSG","2097"],AXIS["X",NORTH],AXIS["Y",EAST]] +proj=tmerc +lat_0=38 +lon_0=127 +k=1 +x_0=200000 +y_0=500000 +ellps=bessel +units=m +no_defs
Related Skills
node-connect
351.4kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
110.7kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
351.4kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
351.4kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
