Skip to content

Real-time massive data processing GO server, calculate simple GIS index and visualization

Notifications You must be signed in to change notification settings

GMfatcat/GO_gis_server

Repository files navigation

GO_gis_server

Package Version Notes
GO go1.19.2 windows/amd64 🔨
go-redis v9 v9.0.3 🗡️
Python 3.8.13 🏹
redis-py 4.5.4 ⚔️
  • Generate Massive Fake Data (2023/4/4)
  • GO calculate GIS Index (2023/4/8)
  • GO connect to Redis for cache and temporary storage
  • Construct Simple Web Page for Visualizations(time-line done)
  • Integrate GO server with DB and Web Page
  • Optimize the speed of Dashboard (maybe ?)
  • Correct the XY label name of Dashboard (maybe ?)
  • Add logging system (maybe ?)
  1. FINISH MULTI-PROCESSING GENERATE FAKE DATA in 9.81 min : 526 MB / 3,769,343 files in 120 folders
  2. Finish GIS GRID INDEX CALCULATION: Solve import modules in Test directory
  3. Calculate and Save binary data of batch_1 in 0.5 ~ 0.6 seconds
  4. Add simple redis connection: save simple Grid data for 10 seconds(local test)
  5. Finish All GIS GRID SUM save to redis(expire time is controlable now, now set to 15 sec)
  6. Construct simple dashboard by python dash plotly, not integrated with GO server yet.
  7. SVG on the dashboard download from svgrepo
  8. Finsh Intergrating with GO server and Redis cache (However, there's still some time knid of buggy:dizzy_face:)(2023/04/21)

More Details see word documentation in ./report/ 📄

Redis-Server Commands 🤗

// RUN with cmd , not powershell
redis-server --service-start
redis-server --service-stop
// check connection
redis-cli ping
// version
redis-cli --version

👉 I use Redis for Windows version 5.0.14.1

Genrate Fake Data ‼️

⚠️Read Data_Generation_Warning.txt first before anything⚠️

// run Generate_Fake_JSON_multiprocess.py to generate Fake Data
python Generate_Fake_JSON_multiprocess.py

Save Directory 📁

// Fake JSON - under multiple batch_x directory, x = 1 ~ 120
// run Generate_Fake_JSON_multiprocess.py to generate Fake Data
D:\Fake_Data\batch_x

// Grid Binary
D:\binary_grids\

// Screenshots
D:\GO_gis_server\test\Dashboard\Screenshots

Operation 📶

// Open one powershell (PS), one normal CMD (CMD),one anaconda python prompt (AP)

// 1. Start Redis Server
CMD : cd C:\Program Files\Redis
CMD : redis-server --service-start
CMD : redis-cli ping

// 2. Go to the dashboard directory and start 
// use debug mode or not is up to you, debug mode has a much more clean prompt screen
AP : cd D:\GO_gis_server\test\Dashboard
AP : python dashboard.py

// 3. Go to the test directory and Start GO server
PS : go run .\Read_JSON.go

Take a while, the dashboard will automatic update:repeat:

Dashboard Example

This is my first try of GO language project, so I keep less third party modules
So I don't want to use module such as GIN

Creator

GMfatcat @ 2023/4/21

Copyright and license

Code released under the MIT License.

Enjoy 🤘

About

Real-time massive data processing GO server, calculate simple GIS index and visualization

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published