xxxxxxxxxx
Sign in to import from :
Link to :
Or start with a template:
Rentea 的第 1 次小聚來啦~延續上次小聚挖出的坑,這次依然以專案開發為主題,可以來找人討論,或是繼續填坑,無論你是設計師、工程師,或是對專案有興趣,都歡迎來參加!
想要參加的人請先在這裡打卡,方便確定人數,也記得寫一下想來作什麼,可以是開發東西、學程式、幫忙紀錄,或是任何想做的事情都可以~
關於 PostGIS 的 table schema ,如果租屋只是點位的話,建議 table 可以直接建成
CREATE TABLE house (
id SERIAL,
geom GEOMETRY(POINT, 3857),
data JSON
);
CREATE INDEX house_geom ON house USING GIST(geom);
3857 是以公尺為單位的全球平面座標系,速度會比經緯度快很多,因為經緯度要算距離範圍因為是球面會需要很多 sin, cos 的計算,但是變成以公尺為單位的球面座標就只要平面建索引可以讓查詢速度變快很多然後 PostgreSQL 的 JSON type 真的超好用,可以把 PostgreSQL 當作 NoSQL 用 XD
如果要插入資料,可以用
INSERT INTO house (geom, data) VALUES (ST_Transform(ST_SetSRID(ST_Point(經度, 緯度), 4326), 3857), ‘{…json資料…}’)
然後要找某個多邊形範圍裡面包含的租屋的話,可以用
SELECT * FROM house WHERE ST_DWithIn(geom, ST_Transform(ST_SetSRID(ST_GeomFromGeoJSON(‘這邊塞經緯度的 geojson’), 4326), 3857), 0);
就可以列出範圍內資料。ST_DWithIn() 是 PostGIS 官方推薦效率最好的查詢是否有重合的函式
4326 是經緯度,透過 ST_Transform 可以轉換座標系
討論出處 Ronny Wang
需要考量的因素(歡迎增修):
因為不想要每次都重新想一次,也方便之後活動複製,所以想要是是有沒有什麼固定流程可以套用。這次先來試試看:
本次實驗結果,覺得突兀,覺得先找好主要幫手,會比開始時公開詢問好 ddio
https://drive.google.com/drive/folders/1LrgPse8HyPVUgWcz37BLntIi794Zj6fO?usp=sharing
or
Do you really want to delete this template?
Syntax | Example | Reference | |
---|---|---|---|
# Header | Header | 基本排版 | |
- Unordered List |
|
||
1. Ordered List |
|
||
- [ ] Todo List |
|
||
> Blockquote | Blockquote |
||
**Bold font** | Bold font | ||
*Italics font* | Italics font | ||
~~Strikethrough~~ | |||
19^th^ | 19th | ||
H~2~O | H2O | ||
++Inserted text++ | Inserted text | ||
==Marked text== | Marked text | ||
[link text](https:// "title") | Link | ||
 | Image | ||
`Code` | Code |
在筆記中貼入程式碼 | |
```javascript var i = 0; ``` |
|
||
:smile: | ![]() |
Emoji list | |
{%youtube youtube_id %} | Externals | ||
$L^aT_eX$ | LaTeX | ||
:::info This is a alert area. ::: |
This is a alert area. |
On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?
Please give us some advice and help us improve HackMD.