--- tags: Lidemy --- # Miscellaneous 雜項。不知道要放哪的東西們👇 ## Implementation 各種教學文章。 * [30天打造我的WebGIS](https://ithelp.ithome.com.tw/users/20107816/ironman/1541):比較詳細的內容。 * [《你的地圖會說話? WebGIS與JavaScript的情感交織》](https://ithelp.ithome.com.tw/users/20130604/ironman/3749):比較詳細的內容2。 * [[筆記]Web地圖開發工作坊](https://yuhantaiwan.coderbridge.io/2020/02/16/Web%E5%9C%B0%E5%9C%96%E9%96%8B%E7%99%BC%E5%B7%A5%E4%BD%9C%E5%9D%8A/):有用 Vue 實作口罩地圖的影片。 * [Google 地圖 ( 原理 ) - Webduino 實戰智慧插座教學](https://tutorials.webduino.io/zh-tw/docs/socket/useful/google-map-1.html)、[Google Maps JavaScript API](https://developers.google.com/maps/documentation/javascript/overview):串 google 的 API。 * [Web 視覺化(四):建立 OpenStreetMap 地圖](https://noob.tw/openstreetmap/):Leaflet.js + OpenStreetMap(OSM) 實作。 * [建立一個即時天氣 App](https://ithelp.ithome.com.tw/articles/10222662):PJ 大《從 Hooks 開始,讓你的網頁 React 起來系列》連好幾篇文章手把手教React串中央氣象局API * [[JS] 透過 JavaScript 處理檔案上傳(AJAX Upload byte / JSON / formData File](https://pjchender.blogspot.com/2019/01/js-javascript-input-file-upload-file.html): 圖片上傳實作的各種方法。 * Firebase fb login: * [firebase-facebook login document]( https://firebase.google.com/docs/auth/web/facebook-login?fbclid=IwAR2ySPjSfkPkzF89rbGRQFdkTCpGYYb8GNwuyNpM3uMhhAdLjOFtBi9VfD8) * [教學影片](https://www.youtube.com/watch?v=D9kD9ynsBtY) * Firebase google login: * [firebase-google login document](https://firebase.google.com/docs/auth/web/google-signin) * Firebase fb/google register: * [it邦邦忙文章](https://ithelp.ithome.com.tw/articles/10199971) ## Source 各種資料來源。 * [地圖產生器](https://map.happyman.idv.tw/~mountain/twmap3/#):我覺得這種呈現資料的方式不錯。以地圖瀏覽,選取想要的地點(山?)後右邊跳出詳細資料,列出不同路線的資料與 GPX。 * [[tile-URL] 紀錄一些圖磚的url](https://gist.github.com/typebrook/a61ccca5b3d46f36784c120bf30c4236) * [happyman、魯地圖 tile server](https://gis.rchss.sinica.edu.tw/qgis/?p=4195):有等高線,可能對登山來說比較適合。 * [中央研究院 WMTS 服務](https://gis.sinica.edu.tw/tileserver/):政府的各種資料,爬山地圖方面經建三也蠻常看到的。 * [OpenStreetMap 台灣](https://osm.tw/):開源免費,魯地圖也是取這邊的資料作為基底再加上等高線。 * [Windy](https://api.windy.com/map-forecast/docs):天氣的API * [查詢或修正高程資料之API服務](http://gis.rchss.sinica.edu.tw/qgis/?p=4539):高度的 API。 * [民生示警公開資料平台](https://alerts.ncdr.nat.gov.tw/RSS.aspx#):政府的 API,提供災害方面的資訊。 ## Tools 各種工具。 * [Publib api](https://github.com/public-apis/public-apis): A collective list of free APIs for use in software and web development。內含各種類別可能會用得上的 api * [Leaflet](https://leafletjs.com/index.html):an open-source JavaScript library for mobile-friendly interactive maps. * [台灣山林悠遊網開放資料](https://recreation.forest.gov.tw/Service/OpenData):台灣步道相關資訊 api,包括經緯度、路況等等資訊 (除了步道以外的也是有)。 * [D3.js](https://d3js.org/):資料視覺化的套件。 * [jsdoc](https://jsdoc.app/about-getting-started.html):由註解自動產生 API 文件。 ## UI design [打造後台管理系統的好幫手:Ant Design](https://blog.techbridge.cc/2018/04/28/antd-and-admin-website/) [Ant Design - admin](https://github.com/zuiidea/antd-admin) ## Others ### Tools * [Hackmd 使用說明](https://hackmd.io/s/tutorials-tw) * [🌳🚀 CS Visualized: Useful Git Commands](https://dev.to/lydiahallie/cs-visualized-useful-git-commands-37p1): 常用 git command 的使用方式及動畫的圖像化流程,很讚 ### Related websites * [健行筆記](https://hiking.biji.co/) * [選山步道](https://meet-trail-right.firebaseapp.com/) * [玩全台灣](http://camp.okgo.tw/) * [登山補給站](https://www.keepon.com.tw/forum-1-1.html) * [登山客你步知道的事](http://gportal.ncdr.nat.gov.tw/arcgis/apps/MapSeries/index.html?appid=4ba5731688d94279b428e3959de8b38c) * [Give++](https://www.youtube.com/watch?v=o4nH5tC_XKk):可參考學長姊的專案如何規劃 ([GitHub](https://github.com/krebikshaw/Give-plus-plus)) --- ## Notes 隨手記。 ![地圖圖層示意圖](https://fscl01.fonpit.de/userfiles/4774964/image/google-maps-layers-w810h462.jpg) [source](https://www.nextpit.com/google-maps-gesture-controls) 我們從 OpenStreetMap 取得 Base Maps、Street View 等基礎資料後,只要把 Local Data 疊加上去就有個人化的地圖。 有地圖資料之外,還需要 Leaflet.js 之類的 library 才能讓我們用 JavaScript 操作。 [Top Mapping And Maps APIs](https://flatlogic.com/blog/top-mapping-and-maps-api/) 有各 library 的比較。 ## Glossery * [OGC](https://zh.wikipedia.org/wiki/%E5%BC%80%E6%94%BE%E5%9C%B0%E7%90%86%E7%A9%BA%E9%97%B4%E5%8D%8F%E4%BC%9A):制定關於地理資料標準的組織。 * WMTS:Web Map Tile Service,提供圖磚的服務。通常會有一個 URL 模板如 `http://rudy.tile.basecamp.tw/{z}/{x}/{y}.png`。Leaflet.js 等等 Library 就能以此模板抓取圖磚放入地圖。 * GPX:用來記錄連續軌跡(track)、路徑(route)、興趣點(waypoint)的資料格式。因為相容問題無法在 GIS 軟體中直接使用。 * GeoJSON:OGC 所制定的標準資料格式。可以直接呈現點、線、面的空間資料。 ## Difficulty 目前看下來,不論是用 google API 還是 Leaflet + 任一 WMTS 服務(Web Map Tile Service,例如 OpenStreetMap 或魯地圖都有提供,就是提供一塊一塊的圖磚的服務)都能達成在網站上呈現地圖,能標點、彈出資訊框框的功能。不過路線資訊與 GPX 的資料要從何而來?對健行筆記爬蟲怕是太花時間。後端儲存用戶的路線、興趣點的資料格式呢?