{"id":18580418,"url":"https://github.com/gumblex/naivegis","last_synced_at":"2026-05-16T00:35:23.802Z","repository":{"id":77872446,"uuid":"107849776","full_name":"gumblex/naivegis","owner":"gumblex","description":"Such a simple and naive GIS platform.","archived":false,"fork":false,"pushed_at":"2018-03-17T15:01:50.000Z","size":66,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-12-26T16:42:10.587Z","etag":null,"topics":["gis","leaflet","postgresql","sql","sqlite3"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gumblex.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2017-10-22T08:35:41.000Z","updated_at":"2019-01-07T06:11:08.000Z","dependencies_parsed_at":"2023-03-05T13:45:20.191Z","dependency_job_id":null,"html_url":"https://github.com/gumblex/naivegis","commit_stats":{"total_commits":17,"total_committers":2,"mean_commits":8.5,"dds":0.05882352941176472,"last_synced_commit":"df94dcbf4648217a5a53c7fe265571b40459486f"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gumblex%2Fnaivegis","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gumblex%2Fnaivegis/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gumblex%2Fnaivegis/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gumblex%2Fnaivegis/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gumblex","download_url":"https://codeload.github.com/gumblex/naivegis/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239321400,"owners_count":19619697,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["gis","leaflet","postgresql","sql","sqlite3"],"created_at":"2024-11-06T23:46:01.869Z","updated_at":"2025-11-01T20:30:20.636Z","avatar_url":"https://github.com/gumblex.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Naïve GIS\nSuch a simple and naive GIS platform.\n\nFuck those slow, complicated and \"user-friendly\" GIS software. I just want to show some points on the map.\n\nThis program doesn't support WKT/WKB and other formats (now).\n\n## Usage\n\n```\nusage: main.py [-h] [-l LISTEN] [-p PORT] [-s SERVER] [-w]\n               [-t {sqlite3,pg,mssql,csv}] [-m MAXROW] [-c CONFIG]\n               connection [connection ...]\n\nSuch a simple and naive GIS platform.\n\npositional arguments:\n  connection            database connection parameter(s)\n\noptional arguments:\n  -h, --help            show this help message and exit\n  -l LISTEN, --listen LISTEN\n                        http server listen IP\n  -p PORT, --port PORT  http server port\n  -s SERVER, --server SERVER\n                        bottle http server backend\n  -w, --writeable       disable read-only database connection (mssql doesn't\n                        support read-only)\n  -t {sqlite3,pg,mssql,csv}, --type {sqlite3,pg,mssql,csv}\n                        database type\n  -m MAXROW, --maxrow MAXROW\n                        max row number\n  -c CONFIG, --config CONFIG\n                        other database parameters, format: 'a=b:c=d'.\n                        Integers, 'true', 'false' are recognized.\n```\n\n* **sqlite3**: `connection` is the filename. Has options: `cache_size`, defaults to -100000; `spatialite` to specify the path of SpatiaLite extension library and load it. Other -c options see [here](https://docs.python.org/3/library/sqlite3.html#sqlite3.connect).\n* **pg**: Needs `psycopg2` library. `connection` is the [connection string](https://www.postgresql.org/docs/current/static/libpq-connect.html#libpq-connstring). Other -c options see the docs mentioned before.\n* **mssql**: Needs `pymssql` library. `connection` is (server, user, password, database) four arguments. Doesn't support read-only connection. Other -c options see [here](http://pymssql.org/en/stable/ref/pymssql.html#pymssql.connect).\n* **csv**: `connection` is the file name. The csv file is read into an in-memory SQLite database, where the table name is `csv`. -w means writeable to this memory database. Has options: `header`, to specify whether the csv file has a header; `spatialite` to specify the path of SpatiaLite extension library and load it. If there is no header, the column names will be c1, c2, etc. Other -c options see [here](https://docs.python.org/3/library/csv.html#dialects-and-formatting-parameters).\n\nIn the web interface, type in your SQL query. Columns named `lat`, `lon` specifies the location. For the EPSG:3857 coordinate system, they should be `x` and `y`. Or you can use a PostgreSQL `POINT` type column `coords`. An optional `z` column is used for heatmap. There are other optional columns to change display: `color` (element color), `title` (marker title), `alt` (marker alt), `text` (marker popup text), `weight` (polyline/polygon stroke width), `opacity` (point fill opacity, polyline/polygon stroke opacity), `radius` (point, heatmap), `blur` (heatmap), `minOpacity` (heatmap), `maxz` (maximum point intensity `z` in heatmap ).\n\nIf using polyline/polygon types, input a \"Group by\" condition to separate different lines/polygons.\n\nThen, set element color (except for heatmap) and element type. The \"Coords\" sets which kind of coordinates that the data uses. If \"Reset\" is checked, the canvas will be reset on next query. Every query results add up until reset.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgumblex%2Fnaivegis","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgumblex%2Fnaivegis","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgumblex%2Fnaivegis/lists"}