"description": "Create column desc1 at index 2 based on column description using expression grel:value.parseHtml().select(\"table\")[1].select(\"tr\").toString()"
"description": "Create column desc2 at index 3 based on column desc1 using expression grel:replace(value,/<\\/?\\w+((\\s+\\w+(\\s*=\\s*(?:\".*?\"|'.*?'|[^'\">\\s]+))?)+\\s*|\\s*)\\/?>/,'')"
"description": "Create column lon_lat at index 3 based on column lon using expression join ([coalesce(cells['lon'].value,''),coalesce(cells['lat'].value,'')],',')"
},
{
"op": "core/column-move",
"columnName": "lon_lat",
"index": 4,
"description": "Move column lon_lat to position 4"
"description": "Create column qr at index 5 by fetching URLs based on column lon_lat using expression grel:'https://twland.ronny.tw/index/search?lands[]=' + value"
"description": "Create column qr at index 5 by fetching URLs based on column lon_lat using expression grel:'https://twland.ronny.tw/index/search?lands[]=' + value"
"description": "Create column qr2 at index 5 by fetching URLs based on column lon_lat using expression grel:'https://twland.ronny.tw/index/search?lands[]=' + value"
"description": "Create column qr at index 5 by fetching URLs based on column lon_lat using expression grel:'https://twland.ronny.tw/index/search?lands[]=' + value"
},
{
"op": "core/row-star",
"engineConfig": {
"facets": [
{
"type": "text",
"name": "qr",
"columnName": "qr",
"query": "message",
"mode": "text",
"caseSensitive": false,
"invert": false
}
],
"mode": "record-based"
},
"starred": true,
"description": "Star rows"
},
{
"op": "core/column-addition",
"engineConfig": {
"facets": [
{
"type": "text",
"name": "qr",
"columnName": "qr",
"query": "message",
"mode": "text",
"caseSensitive": false,
"invert": false
}
],
"mode": "record-based"
},
"baseColumnName": "qr",
"expression": "grel:if(row.starred, 1, 0)",
"onError": "set-to-blank",
"newColumnName": "query_status",
"columnInsertIndex": 6,
"description": "Create column query_status at index 6 based on column qr using expression grel:if(row.starred, 1, 0)"
},
{
"op": "core/column-move",
"columnName": "query_status",
"index": 5,
"description": "Move column query_status to position 5"
},
{
"op": "core/column-removal",
"columnName": "query_status",
"description": "Remove column query_status"
},
{
"op": "core/column-addition",
"engineConfig": {
"facets": [
{
"type": "text",
"name": "qr",
"columnName": "qr",
"query": "message",
"mode": "text",
"caseSensitive": false,
"invert": false
}
],
"mode": "record-based"
},
"baseColumnName": "qr",
"expression": "grel:if(row.starred, 0, 1)",
"onError": "set-to-blank",
"newColumnName": "query_status",
"columnInsertIndex": 6,
"description": "Create column query_status at index 6 based on column qr using expression grel:if(row.starred, 0, 1)"
},
{
"op": "core/column-move",
"columnName": "query_status",
"index": 5,
"description": "Move column query_status to position 5"
},
{
"op": "core/row-star",
"engineConfig": {
"facets": [
{
"type": "text",
"name": "qr",
"columnName": "qr",
"query": "message",
"mode": "text",
"caseSensitive": false,
"invert": false
}
],
"mode": "record-based"
},
"starred": false,
"description": "Unstar rows"
},
{
"op": "core/mass-edit",
"engineConfig": {
"facets": [],
"mode": "record-based"
},
"columnName": "query_status",
"expression": "value",
"edits": [
{
"from": [],
"fromBlank": true,
"fromError": false,
"to": "1"
}
],
"description": "Mass edit cells in column query_status"
},
{
"op": "core/text-transform",
"engineConfig": {
"facets": [],
"mode": "record-based"
},
"columnName": "query_status",
"expression": "value.toNumber()",
"onError": "keep-original",
"repeat": false,
"repeatCount": 10,
"description": "Text transform on cells in column query_status using expression value.toNumber()"
"description": "Create column prop at index 7 based on column qr using expression grel:substring(value.parseJson()[\"features\"][0]['properties'],1,-1)"
},
{
"op": "core/column-split",
"engineConfig": {
"facets": [
{
"type": "list",
"name": "query_status",
"expression": "value",
"columnName": "query_status",
"invert": false,
"omitBlank": false,
"omitError": false,
"selection": [
{
"v": {
"v": 1,
"l": "1"
}
}
],
"selectBlank": false,
"selectError": false
}
],
"mode": "record-based"
},
"columnName": "prop",
"guessCellType": true,
"removeOriginalColumn": true,
"mode": "separator",
"separator": ",",
"regex": false,
"maxColumns": 0,
"description": "Split column prop by separator"
},
{
"op": "core/column-rename",
"oldColumnName": "prop 1",
"newColumnName": "縣市",
"description": "Rename column prop 1 to 縣市"
},
{
"op": "core/column-rename",
"oldColumnName": "prop 2",
"newColumnName": "鄉鎮",
"description": "Rename column prop 2 to 鄉鎮"
},
{
"op": "core/column-rename",
"oldColumnName": "prop 3",
"newColumnName": "地段",
"description": "Rename column prop 3 to 地段"
},
{
"op": "core/column-rename",
"oldColumnName": "prop 4",
"newColumnName": "事務所",
"description": "Rename column prop 4 to 事務所"
},
{
"op": "core/column-rename",
"oldColumnName": "prop 5",
"newColumnName": "id",
"description": "Rename column prop 5 to id"
},
{
"op": "core/column-rename",
"oldColumnName": "prop 6",
"newColumnName": "段號",
"description": "Rename column prop 6 to 段號"
},
{
"op": "core/column-rename",
"oldColumnName": "prop 7",
"newColumnName": "input",
"description": "Rename column prop 7 to input"
},
{
"op": "core/column-rename",
"oldColumnName": "prop 8",
"newColumnName": "ymax",
"description": "Rename column prop 8 to ymax"
},
{
"op": "core/column-rename",
"oldColumnName": "prop 9",
"newColumnName": "ymin",
"description": "Rename column prop 9 to ymin"
},
{
"op": "core/column-rename",
"oldColumnName": "prop 10",
"newColumnName": "xmax",
"description": "Rename column prop 10 to xmax"
},
{
"op": "core/column-rename",
"oldColumnName": "prop 11",
"newColumnName": "xmin",
"description": "Rename column prop 11 to xmin"
},
{
"op": "core/column-rename",
"oldColumnName": "prop 12",
"newColumnName": "xcenter",
"description": "Rename column prop 12 to xcenter"
},
{
"op": "core/column-rename",
"oldColumnName": "prop 13",
"newColumnName": "ycenter",
"description": "Rename column prop 13 to ycenter"
},
{
"op": "core/column-rename",
"oldColumnName": "prop 14",
"newColumnName": "area_id",
"description": "Rename column prop 14 to area_id"
},
{
"op": "core/column-rename",
"oldColumnName": "prop 15",
"newColumnName": "section_id",
"description": "Rename column prop 15 to section_id"
},
{
"op": "core/column-rename",
"oldColumnName": "prop 16",
"newColumnName": "land_id",
"description": "Rename column prop 16 to land_id"
},
{
"op": "core/column-rename",
"oldColumnName": "prop 17",
"newColumnName": "query_log",
"description": "Rename column prop 17 to query_log"
"description": "Create column geometry_coordinates at index 7 based on column qr using expression grel:value.parseJson()['features'][0]['geometry']['coordinates']"
專案首頁
此專案行道樹列表
分享
研究
政府開放資料
台中行道樹開放資料建議後新版 解析
評價:
整體來說,此更新超棒!
1. 感謝提供更多有價值的樹木狀態資訊。非常有心的單位
2. 在跟其他系統對接的時候,如有學名,則會更有幫助
3. 補充:樹的描述資訊都放入 description 有點增加後續處理的難度,不很重要,或許是有其他的考量,僅提供參考
[
{
"op": "core/column-addition",
"engineConfig": {
"facets": [],
"mode": "row-based"
},
"baseColumnName": "description",
"expression": "grel:value.parseHtml().select(\"table\")[1].select(\"tr\").toString()",
"onError": "set-to-blank",
"newColumnName": "desc1",
"columnInsertIndex": 2,
"description": "Create column desc1 at index 2 based on column description using expression grel:value.parseHtml().select(\"table\")[1].select(\"tr\").toString()"
},
{
"op": "core/column-addition",
"engineConfig": {
"facets": [],
"mode": "row-based"
},
"baseColumnName": "desc1",
"expression": "grel:replace(value,/<\\/?\\w+((\\s+\\w+(\\s*=\\s*(?:\".*?\"|'.*?'|[^'\">\\s]+))?)+\\s*|\\s*)\\/?>/,'')",
"onError": "set-to-blank",
"newColumnName": "desc2",
"columnInsertIndex": 3,
"description": "Create column desc2 at index 3 based on column desc1 using expression grel:replace(value,/<\\/?\\w+((\\s+\\w+(\\s*=\\s*(?:\".*?\"|'.*?'|[^'\">\\s]+))?)+\\s*|\\s*)\\/?>/,'')"
},
{
"op": "core/column-addition",
"engineConfig": {
"facets": [],
"mode": "row-based"
},
"baseColumnName": "desc2",
"expression": "grel:value.find(/\\S+/).join(\",\")",
"onError": "set-to-blank",
"newColumnName": "desc3",
"columnInsertIndex": 4,
"description": "Create column desc3 at index 4 based on column desc2 using expression grel:value.find(/\\S+/).join(\",\")"
},
{
"op": "core/column-rename",
"oldColumnName": "desc3",
"newColumnName": "cols",
"description": "Rename column desc3 to cols"
},
{
"op": "core/column-split",
"engineConfig": {
"facets": [],
"mode": "row-based"
},
"columnName": "cols",
"guessCellType": true,
"removeOriginalColumn": true,
"mode": "separator",
"separator": ",",
"regex": false,
"maxColumns": 0,
"description": "Split column cols by separator"
},
{
"op": "core/column-rename",
"oldColumnName": "cols 4",
"newColumnName": "樹籍編",
"description": "Rename column cols 4 to 樹籍編"
},
{
"op": "core/column-rename",
"oldColumnName": "cols 6",
"newColumnName": "樹種名",
"description": "Rename column cols 6 to 樹種名"
},
{
"op": "core/column-rename",
"oldColumnName": "cols 8",
"newColumnName": "樹胸徑_",
"description": "Rename column cols 8 to 樹胸徑_"
},
{
"op": "core/column-rename",
"oldColumnName": "cols 10",
"newColumnName": "樹圍_公",
"description": "Rename column cols 10 to 樹圍_公"
},
{
"op": "core/column-rename",
"oldColumnName": "cols 12",
"newColumnName": "樹高_公",
"description": "Rename column cols 12 to 樹高_公"
},
{
"op": "core/column-rename",
"oldColumnName": "cols 14",
"newColumnName": "樹冠投",
"description": "Rename column cols 14 to 樹冠投"
},
{
"op": "core/column-rename",
"oldColumnName": "cols 16",
"newColumnName": "推估種",
"description": "Rename column cols 16 to 推估種"
},
{
"op": "core/column-rename",
"oldColumnName": "cols 18",
"newColumnName": "調查日",
"description": "Rename column cols 18 to 調查日"
},
{
"op": "core/column-rename",
"oldColumnName": "cols 20",
"newColumnName": "行政區",
"description": "Rename column cols 20 to 行政區"
},
{
"op": "core/column-rename",
"oldColumnName": "cols 22",
"newColumnName": "里",
"description": "Rename column cols 22 to 里"
},
{
"op": "core/column-rename",
"oldColumnName": "cols 24",
"newColumnName": "所在地",
"description": "Rename column cols 24 to 所在地"
},
{
"op": "core/column-rename",
"oldColumnName": "cols 26",
"newColumnName": "地點類",
"description": "Rename column cols 26 to 地點類"
},
{
"op": "core/column-rename",
"oldColumnName": "cols 28",
"newColumnName": "X坐標_TW",
"description": "Rename column cols 28 to X坐標_TW"
},
{
"op": "core/column-rename",
"oldColumnName": "cols 30",
"newColumnName": "Y坐標_TW",
"description": "Rename column cols 30 to Y坐標_TW"
},
{
"op": "core/column-rename",
"oldColumnName": "cols 32",
"newColumnName": "緯度",
"description": "Rename column cols 32 to 緯度"
},
{
"op": "core/column-rename",
"oldColumnName": "cols 34",
"newColumnName": "經度",
"description": "Rename column cols 34 to 經度"
},
{
"op": "core/column-rename",
"oldColumnName": "cols 2",
"newColumnName": "FID",
"description": "Rename column cols 2 to FID"
},
{
"op": "core/column-removal",
"columnName": "cols 1",
"description": "Remove column cols 1"
},
{
"op": "core/column-removal",
"columnName": "cols 3",
"description": "Remove column cols 3"
},
{
"op": "core/column-removal",
"columnName": "cols 5",
"description": "Remove column cols 5"
},
{
"op": "core/column-removal",
"columnName": "cols 7",
"description": "Remove column cols 7"
},
{
"op": "core/column-removal",
"columnName": "cols 9",
"description": "Remove column cols 9"
},
{
"op": "core/column-removal",
"columnName": "cols 11",
"description": "Remove column cols 11"
},
{
"op": "core/column-removal",
"columnName": "cols 13",
"description": "Remove column cols 13"
},
{
"op": "core/column-removal",
"columnName": "cols 15",
"description": "Remove column cols 15"
},
{
"op": "core/column-removal",
"columnName": "cols 17",
"description": "Remove column cols 17"
},
{
"op": "core/column-removal",
"columnName": "cols 19",
"description": "Remove column cols 19"
},
{
"op": "core/column-removal",
"columnName": "cols 21",
"description": "Remove column cols 21"
},
{
"op": "core/column-removal",
"columnName": "cols 23",
"description": "Remove column cols 23"
},
{
"op": "core/column-removal",
"columnName": "cols 25",
"description": "Remove column cols 25"
},
{
"op": "core/column-removal",
"columnName": "cols 27",
"description": "Remove column cols 27"
},
{
"op": "core/column-removal",
"columnName": "cols 29",
"description": "Remove column cols 29"
},
{
"op": "core/column-removal",
"columnName": "cols 31",
"description": "Remove column cols 31"
},
{
"op": "core/column-removal",
"columnName": "cols 33",
"description": "Remove column cols 33"
},
{
"op": "core/column-removal",
"columnName": "description",
"description": "Remove column description"
},
{
"op": "core/column-removal",
"columnName": "desc1",
"description": "Remove column desc1"
},
{
"op": "core/column-removal",
"columnName": "desc2",
"description": "Remove column desc2"
}
]
其他
資料/系統盤點
系統
經緯度轉段號
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {
"type": "MultiPolygon",
"coordinates": [
[
[
[
121.55366625461,
24.985793014745
],
[
121.55366237187,
24.985791723302
],
[
121.55369249155,
24.985761038096
],
[
121.55384924635,
24.985815455747
],
[
121.55381904241,
24.985846141297
],
[
121.55380444302,
24.985860790847
],
[
121.55379447147,
24.985873733201
],
[
121.55376610959,
24.985864082985
],
[
121.55368161324,
24.985834976479
],
[
121.5536609312,
24.985827602179
],
[
121.55366625461,
24.985793014745
]
]
]
]
},
"properties": {
"縣市": "臺北市",
"鄉鎮": "文山區",
"地段": "華興段三小段",
"事務所": "古亭",
"id": "AA0072",
"段號": "141-3",
"input": null,
"ymax": 24.985873733201,
"ymin": 24.985761038096,
"xmax": 121.55384924635,
"xmin": 121.5536609312,
"xcenter": 121.553755088775,
"ycenter": 24.985817385648502,
"area_id": "AA",
"section_id": "0072",
"land_id": "01410003",
"query_log": [
[
"(121.55379447147,24.985873733201) 經緯度查到 AA0072,01410003"
]
],
"query": "AA0072,01410003"
}
}
],
"notfound": []
'https://twland.ronny.tw/index/search?lands[]=' + value
value.parseJson()["features"][0]['properties']
{"縣市":"臺北市","鄉鎮":"文山區","地段":"華興段三小段","事務所":"古亭","id":"AA0072","段號":"141-3","input":null,"ymax":24.985873733201,"ymin":24.985761038096,"xmax":121.55384924635,"xmin":121.5536609312,"xcenter":121.553755088775,"ycenter":24.985817385648502,"area_id":"AA","section_id":"0072","land_id":"01410003","query_log":[["(121.55379447147,24.985873733201) 經緯度查到 AA0072,01410003"]],"query":"AA0072,01410003"}
substring(value,1,-1)
substring(value.split(':')[1],1,-1)
"縣市":"臺北市" -> 臺北市
value.split(':')[1]
value.parseJson()['features'][0]['geometry']['coordinates']
[[[[121.55366625461,24.985793014745],[121.55366237187,24.985791723302],[121.55369249155,24.985761038096],[121.55384924635,24.985815455747],[121.55381904241,24.985846141297],[121.55380444302,24.985860790847],[121.55379447147,24.985873733201],[121.55376610959,24.985864082985],[121.55368161324,24.985834976479],[121.5536609312,24.985827602179],[121.55366625461,24.985793014745]]]]
value.split(" ")[1]
[
{
"op": "core/column-addition",
"engineConfig": {
"facets": [],
"mode": "record-based"
},
"baseColumnName": "lon",
"expression": "join ([coalesce(cells['lon'].value,''),coalesce(cells['lat'].value,'')],',')",
"onError": "keep-original",
"newColumnName": "lon_lat",
"columnInsertIndex": 3,
"description": "Create column lon_lat at index 3 based on column lon using expression join ([coalesce(cells['lon'].value,''),coalesce(cells['lat'].value,'')],',')"
},
{
"op": "core/column-move",
"columnName": "lon_lat",
"index": 4,
"description": "Move column lon_lat to position 4"
},
{
"op": "core/column-addition-by-fetching-urls",
"engineConfig": {
"facets": [
{
"type": "list",
"name": "Starred Rows",
"expression": "row.starred",
"columnName": "",
"invert": false,
"omitBlank": false,
"omitError": false,
"selection": [
{
"v": {
"v": true,
"l": "true"
}
}
],
"selectBlank": false,
"selectError": false
}
],
"mode": "record-based"
},
"baseColumnName": "lon_lat",
"urlExpression": "grel:'https://twland.ronny.tw/index/search?lands[]=' + value",
"onError": "set-to-blank",
"newColumnName": "qr",
"columnInsertIndex": 5,
"delay": 5000,
"cacheResponses": true,
"httpHeadersJson": [
{
"name": "authorization",
"value": ""
},
{
"name": "user-agent",
"value": "OpenRefine 3.3 [58b839b]"
},
{
"name": "accept",
"value": "*/*"
}
],
"description": "Create column qr at index 5 by fetching URLs based on column lon_lat using expression grel:'https://twland.ronny.tw/index/search?lands[]=' + value"
},
{
"op": "core/column-removal",
"columnName": "qr",
"description": "Remove column qr"
},
{
"op": "core/column-addition-by-fetching-urls",
"engineConfig": {
"facets": [
{
"type": "list",
"name": "Starred Rows",
"expression": "row.starred",
"columnName": "",
"invert": false,
"omitBlank": false,
"omitError": false,
"selection": [
{
"v": {
"v": true,
"l": "true"
}
}
],
"selectBlank": false,
"selectError": false
}
],
"mode": "record-based"
},
"baseColumnName": "lon_lat",
"urlExpression": "grel:'https://twland.ronny.tw/index/search?lands[]=' + value",
"onError": "set-to-blank",
"newColumnName": "qr",
"columnInsertIndex": 5,
"delay": 3000,
"cacheResponses": true,
"httpHeadersJson": [
{
"name": "authorization",
"value": ""
},
{
"name": "user-agent",
"value": "OpenRefine 3.3 [58b839b]"
},
{
"name": "accept",
"value": "*/*"
}
],
"description": "Create column qr at index 5 by fetching URLs based on column lon_lat using expression grel:'https://twland.ronny.tw/index/search?lands[]=' + value"
},
{
"op": "core/row-star",
"engineConfig": {
"facets": [
{
"type": "list",
"name": "Starred Rows",
"expression": "row.starred",
"columnName": "",
"invert": false,
"omitBlank": false,
"omitError": false,
"selection": [
{
"v": {
"v": true,
"l": "true"
}
}
],
"selectBlank": false,
"selectError": false
}
],
"mode": "record-based"
},
"starred": false,
"description": "Unstar rows"
},
{
"op": "core/column-addition-by-fetching-urls",
"engineConfig": {
"facets": [
{
"type": "list",
"name": "Starred Rows",
"expression": "row.starred",
"columnName": "",
"invert": false,
"omitBlank": false,
"omitError": false,
"selection": [
{
"v": {
"v": true,
"l": "true"
}
}
],
"selectBlank": false,
"selectError": false
}
],
"mode": "record-based"
},
"baseColumnName": "lon_lat",
"urlExpression": "grel:'https://twland.ronny.tw/index/search?lands[]=' + value",
"onError": "set-to-blank",
"newColumnName": "qr2",
"columnInsertIndex": 5,
"delay": 1000,
"cacheResponses": true,
"httpHeadersJson": [
{
"name": "authorization",
"value": ""
},
{
"name": "user-agent",
"value": "OpenRefine 3.3 [58b839b]"
},
{
"name": "accept",
"value": "*/*"
}
],
"description": "Create column qr2 at index 5 by fetching URLs based on column lon_lat using expression grel:'https://twland.ronny.tw/index/search?lands[]=' + value"
},
{
"op": "core/row-star",
"engineConfig": {
"facets": [
{
"type": "list",
"name": "Starred Rows",
"expression": "row.starred",
"columnName": "",
"invert": false,
"omitBlank": false,
"omitError": false,
"selection": [
{
"v": {
"v": true,
"l": "true"
}
}
],
"selectBlank": false,
"selectError": false
}
],
"mode": "record-based"
},
"starred": false,
"description": "Unstar rows"
},
{
"op": "core/column-removal",
"columnName": "qr2",
"description": "Remove column qr2"
},
{
"op": "core/column-removal",
"columnName": "qr",
"description": "Remove column qr"
},
{
"op": "core/column-addition-by-fetching-urls",
"engineConfig": {
"facets": [],
"mode": "record-based"
},
"baseColumnName": "lon_lat",
"urlExpression": "grel:'https://twland.ronny.tw/index/search?lands[]=' + value",
"onError": "set-to-blank",
"newColumnName": "qr",
"columnInsertIndex": 5,
"delay": 1000,
"cacheResponses": true,
"httpHeadersJson": [
{
"name": "authorization",
"value": ""
},
{
"name": "user-agent",
"value": "OpenRefine 3.3 [58b839b]"
},
{
"name": "accept",
"value": "*/*"
}
],
"description": "Create column qr at index 5 by fetching URLs based on column lon_lat using expression grel:'https://twland.ronny.tw/index/search?lands[]=' + value"
},
{
"op": "core/row-star",
"engineConfig": {
"facets": [
{
"type": "text",
"name": "qr",
"columnName": "qr",
"query": "message",
"mode": "text",
"caseSensitive": false,
"invert": false
}
],
"mode": "record-based"
},
"starred": true,
"description": "Star rows"
},
{
"op": "core/column-addition",
"engineConfig": {
"facets": [
{
"type": "text",
"name": "qr",
"columnName": "qr",
"query": "message",
"mode": "text",
"caseSensitive": false,
"invert": false
}
],
"mode": "record-based"
},
"baseColumnName": "qr",
"expression": "grel:if(row.starred, 1, 0)",
"onError": "set-to-blank",
"newColumnName": "query_status",
"columnInsertIndex": 6,
"description": "Create column query_status at index 6 based on column qr using expression grel:if(row.starred, 1, 0)"
},
{
"op": "core/column-move",
"columnName": "query_status",
"index": 5,
"description": "Move column query_status to position 5"
},
{
"op": "core/column-removal",
"columnName": "query_status",
"description": "Remove column query_status"
},
{
"op": "core/column-addition",
"engineConfig": {
"facets": [
{
"type": "text",
"name": "qr",
"columnName": "qr",
"query": "message",
"mode": "text",
"caseSensitive": false,
"invert": false
}
],
"mode": "record-based"
},
"baseColumnName": "qr",
"expression": "grel:if(row.starred, 0, 1)",
"onError": "set-to-blank",
"newColumnName": "query_status",
"columnInsertIndex": 6,
"description": "Create column query_status at index 6 based on column qr using expression grel:if(row.starred, 0, 1)"
},
{
"op": "core/column-move",
"columnName": "query_status",
"index": 5,
"description": "Move column query_status to position 5"
},
{
"op": "core/row-star",
"engineConfig": {
"facets": [
{
"type": "text",
"name": "qr",
"columnName": "qr",
"query": "message",
"mode": "text",
"caseSensitive": false,
"invert": false
}
],
"mode": "record-based"
},
"starred": false,
"description": "Unstar rows"
},
{
"op": "core/mass-edit",
"engineConfig": {
"facets": [],
"mode": "record-based"
},
"columnName": "query_status",
"expression": "value",
"edits": [
{
"from": [],
"fromBlank": true,
"fromError": false,
"to": "1"
}
],
"description": "Mass edit cells in column query_status"
},
{
"op": "core/text-transform",
"engineConfig": {
"facets": [],
"mode": "record-based"
},
"columnName": "query_status",
"expression": "value.toNumber()",
"onError": "keep-original",
"repeat": false,
"repeatCount": 10,
"description": "Text transform on cells in column query_status using expression value.toNumber()"
},
{
"op": "core/column-addition",
"engineConfig": {
"facets": [
{
"type": "list",
"name": "query_status",
"expression": "value",
"columnName": "query_status",
"invert": false,
"omitBlank": false,
"omitError": false,
"selection": [
{
"v": {
"v": 1,
"l": "1"
}
}
],
"selectBlank": false,
"selectError": false
}
],
"mode": "record-based"
},
"baseColumnName": "qr",
"expression": "grel:substring(value.parseJson()[\"features\"][0]['properties'],1,-1)",
"onError": "set-to-blank",
"newColumnName": "prop",
"columnInsertIndex": 7,
"description": "Create column prop at index 7 based on column qr using expression grel:substring(value.parseJson()[\"features\"][0]['properties'],1,-1)"
},
{
"op": "core/column-split",
"engineConfig": {
"facets": [
{
"type": "list",
"name": "query_status",
"expression": "value",
"columnName": "query_status",
"invert": false,
"omitBlank": false,
"omitError": false,
"selection": [
{
"v": {
"v": 1,
"l": "1"
}
}
],
"selectBlank": false,
"selectError": false
}
],
"mode": "record-based"
},
"columnName": "prop",
"guessCellType": true,
"removeOriginalColumn": true,
"mode": "separator",
"separator": ",",
"regex": false,
"maxColumns": 0,
"description": "Split column prop by separator"
},
{
"op": "core/column-rename",
"oldColumnName": "prop 1",
"newColumnName": "縣市",
"description": "Rename column prop 1 to 縣市"
},
{
"op": "core/column-rename",
"oldColumnName": "prop 2",
"newColumnName": "鄉鎮",
"description": "Rename column prop 2 to 鄉鎮"
},
{
"op": "core/column-rename",
"oldColumnName": "prop 3",
"newColumnName": "地段",
"description": "Rename column prop 3 to 地段"
},
{
"op": "core/column-rename",
"oldColumnName": "prop 4",
"newColumnName": "事務所",
"description": "Rename column prop 4 to 事務所"
},
{
"op": "core/column-rename",
"oldColumnName": "prop 5",
"newColumnName": "id",
"description": "Rename column prop 5 to id"
},
{
"op": "core/column-rename",
"oldColumnName": "prop 6",
"newColumnName": "段號",
"description": "Rename column prop 6 to 段號"
},
{
"op": "core/column-rename",
"oldColumnName": "prop 7",
"newColumnName": "input",
"description": "Rename column prop 7 to input"
},
{
"op": "core/column-rename",
"oldColumnName": "prop 8",
"newColumnName": "ymax",
"description": "Rename column prop 8 to ymax"
},
{
"op": "core/column-rename",
"oldColumnName": "prop 9",
"newColumnName": "ymin",
"description": "Rename column prop 9 to ymin"
},
{
"op": "core/column-rename",
"oldColumnName": "prop 10",
"newColumnName": "xmax",
"description": "Rename column prop 10 to xmax"
},
{
"op": "core/column-rename",
"oldColumnName": "prop 11",
"newColumnName": "xmin",
"description": "Rename column prop 11 to xmin"
},
{
"op": "core/column-rename",
"oldColumnName": "prop 12",
"newColumnName": "xcenter",
"description": "Rename column prop 12 to xcenter"
},
{
"op": "core/column-rename",
"oldColumnName": "prop 13",
"newColumnName": "ycenter",
"description": "Rename column prop 13 to ycenter"
},
{
"op": "core/column-rename",
"oldColumnName": "prop 14",
"newColumnName": "area_id",
"description": "Rename column prop 14 to area_id"
},
{
"op": "core/column-rename",
"oldColumnName": "prop 15",
"newColumnName": "section_id",
"description": "Rename column prop 15 to section_id"
},
{
"op": "core/column-rename",
"oldColumnName": "prop 16",
"newColumnName": "land_id",
"description": "Rename column prop 16 to land_id"
},
{
"op": "core/column-rename",
"oldColumnName": "prop 17",
"newColumnName": "query_log",
"description": "Rename column prop 17 to query_log"
},
{
"op": "core/column-removal",
"columnName": "prop 21",
"description": "Remove column prop 21"
},
{
"op": "core/column-removal",
"columnName": "prop 20",
"description": "Remove column prop 20"
},
{
"op": "core/column-removal",
"columnName": "prop 19",
"description": "Remove column prop 19"
},
{
"op": "core/column-removal",
"columnName": "prop 18",
"description": "Remove column prop 18"
},
{
"op": "core/column-removal",
"columnName": "query_log",
"description": "Remove column query_log"
},
{
"op": "core/text-transform",
"engineConfig": {
"facets": [
{
"type": "list",
"name": "query_status",
"expression": "value",
"columnName": "query_status",
"invert": false,
"omitBlank": false,
"omitError": false,
"selection": [
{
"v": {
"v": 1,
"l": "1"
}
}
],
"selectBlank": false,
"selectError": false
}
],
"mode": "record-based"
},
"columnName": "縣市",
"expression": "grel:substring(value.split(':')[1],1,-1)",
"onError": "keep-original",
"repeat": false,
"repeatCount": 10,
"description": "Text transform on cells in column 縣市 using expression grel:substring(value.split(':')[1],1,-1)"
},
{
"op": "core/text-transform",
"engineConfig": {
"facets": [
{
"type": "list",
"name": "query_status",
"expression": "value",
"columnName": "query_status",
"invert": false,
"omitBlank": false,
"omitError": false,
"selection": [
{
"v": {
"v": 1,
"l": "1"
}
}
],
"selectBlank": false,
"selectError": false
}
],
"mode": "record-based"
},
"columnName": "鄉鎮",
"expression": "grel:substring(value.split(':')[1],1,-1)",
"onError": "keep-original",
"repeat": false,
"repeatCount": 10,
"description": "Text transform on cells in column 鄉鎮 using expression grel:substring(value.split(':')[1],1,-1)"
},
{
"op": "core/text-transform",
"engineConfig": {
"facets": [
{
"type": "list",
"name": "query_status",
"expression": "value",
"columnName": "query_status",
"invert": false,
"omitBlank": false,
"omitError": false,
"selection": [
{
"v": {
"v": 1,
"l": "1"
}
}
],
"selectBlank": false,
"selectError": false
}
],
"mode": "record-based"
},
"columnName": "地段",
"expression": "grel:substring(value.split(':')[1],1,-1)",
"onError": "keep-original",
"repeat": false,
"repeatCount": 10,
"description": "Text transform on cells in column 地段 using expression grel:substring(value.split(':')[1],1,-1)"
},
{
"op": "core/text-transform",
"engineConfig": {
"facets": [
{
"type": "list",
"name": "query_status",
"expression": "value",
"columnName": "query_status",
"invert": false,
"omitBlank": false,
"omitError": false,
"selection": [
{
"v": {
"v": 1,
"l": "1"
}
}
],
"selectBlank": false,
"selectError": false
}
],
"mode": "record-based"
},
"columnName": "事務所",
"expression": "grel:substring(value.split(':')[1],1,-1)",
"onError": "keep-original",
"repeat": false,
"repeatCount": 10,
"description": "Text transform on cells in column 事務所 using expression grel:substring(value.split(':')[1],1,-1)"
},
{
"op": "core/text-transform",
"engineConfig": {
"facets": [
{
"type": "list",
"name": "query_status",
"expression": "value",
"columnName": "query_status",
"invert": false,
"omitBlank": false,
"omitError": false,
"selection": [
{
"v": {
"v": 1,
"l": "1"
}
}
],
"selectBlank": false,
"selectError": false
}
],
"mode": "record-based"
},
"columnName": "id",
"expression": "grel:substring(value.split(':')[1],1,-1)",
"onError": "keep-original",
"repeat": false,
"repeatCount": 10,
"description": "Text transform on cells in column id using expression grel:substring(value.split(':')[1],1,-1)"
},
{
"op": "core/text-transform",
"engineConfig": {
"facets": [
{
"type": "list",
"name": "query_status",
"expression": "value",
"columnName": "query_status",
"invert": false,
"omitBlank": false,
"omitError": false,
"selection": [
{
"v": {
"v": 1,
"l": "1"
}
}
],
"selectBlank": false,
"selectError": false
}
],
"mode": "record-based"
},
"columnName": "段號",
"expression": "grel:substring(value.split(':')[1],1,-1)",
"onError": "keep-original",
"repeat": false,
"repeatCount": 10,
"description": "Text transform on cells in column 段號 using expression grel:substring(value.split(':')[1],1,-1)"
},
{
"op": "core/text-transform",
"engineConfig": {
"facets": [
{
"type": "list",
"name": "query_status",
"expression": "value",
"columnName": "query_status",
"invert": false,
"omitBlank": false,
"omitError": false,
"selection": [
{
"v": {
"v": 1,
"l": "1"
}
}
],
"selectBlank": false,
"selectError": false
}
],
"mode": "record-based"
},
"columnName": "input",
"expression": "grel:value.split(':')[1]",
"onError": "keep-original",
"repeat": false,
"repeatCount": 10,
"description": "Text transform on cells in column input using expression grel:value.split(':')[1]"
},
{
"op": "core/text-transform",
"engineConfig": {
"facets": [
{
"type": "list",
"name": "query_status",
"expression": "value",
"columnName": "query_status",
"invert": false,
"omitBlank": false,
"omitError": false,
"selection": [
{
"v": {
"v": 1,
"l": "1"
}
}
],
"selectBlank": false,
"selectError": false
}
],
"mode": "record-based"
},
"columnName": "ymax",
"expression": "grel:value.split(':')[1]",
"onError": "keep-original",
"repeat": false,
"repeatCount": 10,
"description": "Text transform on cells in column ymax using expression grel:value.split(':')[1]"
},
{
"op": "core/text-transform",
"engineConfig": {
"facets": [
{
"type": "list",
"name": "query_status",
"expression": "value",
"columnName": "query_status",
"invert": false,
"omitBlank": false,
"omitError": false,
"selection": [
{
"v": {
"v": 1,
"l": "1"
}
}
],
"selectBlank": false,
"selectError": false
}
],
"mode": "record-based"
},
"columnName": "ymin",
"expression": "grel:value.split(':')[1]",
"onError": "keep-original",
"repeat": false,
"repeatCount": 10,
"description": "Text transform on cells in column ymin using expression grel:value.split(':')[1]"
},
{
"op": "core/text-transform",
"engineConfig": {
"facets": [
{
"type": "list",
"name": "query_status",
"expression": "value",
"columnName": "query_status",
"invert": false,
"omitBlank": false,
"omitError": false,
"selection": [
{
"v": {
"v": 1,
"l": "1"
}
}
],
"selectBlank": false,
"selectError": false
}
],
"mode": "record-based"
},
"columnName": "xmax",
"expression": "grel:value.split(':')[1]",
"onError": "keep-original",
"repeat": false,
"repeatCount": 10,
"description": "Text transform on cells in column xmax using expression grel:value.split(':')[1]"
},
{
"op": "core/text-transform",
"engineConfig": {
"facets": [
{
"type": "list",
"name": "query_status",
"expression": "value",
"columnName": "query_status",
"invert": false,
"omitBlank": false,
"omitError": false,
"selection": [
{
"v": {
"v": 1,
"l": "1"
}
}
],
"selectBlank": false,
"selectError": false
}
],
"mode": "record-based"
},
"columnName": "xmin",
"expression": "grel:value.split(':')[1]",
"onError": "keep-original",
"repeat": false,
"repeatCount": 10,
"description": "Text transform on cells in column xmin using expression grel:value.split(':')[1]"
},
{
"op": "core/text-transform",
"engineConfig": {
"facets": [
{
"type": "list",
"name": "query_status",
"expression": "value",
"columnName": "query_status",
"invert": false,
"omitBlank": false,
"omitError": false,
"selection": [
{
"v": {
"v": 1,
"l": "1"
}
}
],
"selectBlank": false,
"selectError": false
}
],
"mode": "record-based"
},
"columnName": "xmin",
"expression": "grel:value.split(':')[1]",
"onError": "keep-original",
"repeat": false,
"repeatCount": 10,
"description": "Text transform on cells in column xmin using expression grel:value.split(':')[1]"
},
{
"op": "core/text-transform",
"engineConfig": {
"facets": [
{
"type": "list",
"name": "query_status",
"expression": "value",
"columnName": "query_status",
"invert": false,
"omitBlank": false,
"omitError": false,
"selection": [
{
"v": {
"v": 1,
"l": "1"
}
}
],
"selectBlank": false,
"selectError": false
}
],
"mode": "record-based"
},
"columnName": "xcenter",
"expression": "grel:value.split(':')[1]",
"onError": "keep-original",
"repeat": false,
"repeatCount": 10,
"description": "Text transform on cells in column xcenter using expression grel:value.split(':')[1]"
},
{
"op": "core/text-transform",
"engineConfig": {
"facets": [
{
"type": "list",
"name": "query_status",
"expression": "value",
"columnName": "query_status",
"invert": false,
"omitBlank": false,
"omitError": false,
"selection": [
{
"v": {
"v": 1,
"l": "1"
}
}
],
"selectBlank": false,
"selectError": false
}
],
"mode": "record-based"
},
"columnName": "ycenter",
"expression": "grel:value.split(':')[1]",
"onError": "keep-original",
"repeat": false,
"repeatCount": 10,
"description": "Text transform on cells in column ycenter using expression grel:value.split(':')[1]"
},
{
"op": "core/text-transform",
"engineConfig": {
"facets": [
{
"type": "list",
"name": "query_status",
"expression": "value",
"columnName": "query_status",
"invert": false,
"omitBlank": false,
"omitError": false,
"selection": [
{
"v": {
"v": 1,
"l": "1"
}
}
],
"selectBlank": false,
"selectError": false
}
],
"mode": "record-based"
},
"columnName": "area_id",
"expression": "grel:substring(value.split(':')[1],1,-1)",
"onError": "keep-original",
"repeat": false,
"repeatCount": 10,
"description": "Text transform on cells in column area_id using expression grel:substring(value.split(':')[1],1,-1)"
},
{
"op": "core/text-transform",
"engineConfig": {
"facets": [
{
"type": "list",
"name": "query_status",
"expression": "value",
"columnName": "query_status",
"invert": false,
"omitBlank": false,
"omitError": false,
"selection": [
{
"v": {
"v": 1,
"l": "1"
}
}
],
"selectBlank": false,
"selectError": false
}
],
"mode": "record-based"
},
"columnName": "section_id",
"expression": "grel:substring(value.split(':')[1],1,-1)",
"onError": "keep-original",
"repeat": false,
"repeatCount": 10,
"description": "Text transform on cells in column section_id using expression grel:substring(value.split(':')[1],1,-1)"
},
{
"op": "core/text-transform",
"engineConfig": {
"facets": [
{
"type": "list",
"name": "query_status",
"expression": "value",
"columnName": "query_status",
"invert": false,
"omitBlank": false,
"omitError": false,
"selection": [
{
"v": {
"v": 1,
"l": "1"
}
}
],
"selectBlank": false,
"selectError": false
}
],
"mode": "record-based"
},
"columnName": "land_id",
"expression": "grel:substring(value.split(':')[1],1,-1)",
"onError": "keep-original",
"repeat": false,
"repeatCount": 10,
"description": "Text transform on cells in column land_id using expression grel:substring(value.split(':')[1],1,-1)"
},
{
"op": "core/column-addition",
"engineConfig": {
"facets": [],
"mode": "record-based"
},
"baseColumnName": "qr",
"expression": "grel:value.parseJson()['features'][0]['geometry']['coordinates']",
"onError": "set-to-blank",
"newColumnName": "geometry_coordinates",
"columnInsertIndex": 7,
"description": "Create column geometry_coordinates at index 7 based on column qr using expression grel:value.parseJson()['features'][0]['geometry']['coordinates']"
}
]
Prefix:
{
"type": "FeatureCollection",
"features": [
Row Template:
{{jsonize(cells["qr"].value.parseJson()["features"][0])}}
Row Separator:
,
Suffix:
]
}
已分析欄位: myarea, 單位應為 平方公尺
計數: 2235
唯一值: 2025
空值(遺失) :1
最小值: 29.0
最大值: 3460484.0
範圍: 3460455.0
總和: 81631728.0
平均值: 36524.26308724832
中位數: 7686.0
標準差: 153756.8560745848
變異係數: 4.209718227778996
最少數(最少出現的): 29.0
衆數(最多出現的): 25004.0
第一個四分位數:2537.0
第三個四分位數:24754.5
四分位距 (IQR):22217.5
新竹市食物森林--綠園道食物森林
製作行道樹地圖
新竹市行道樹地圖
新竹市行道樹 google map:
https://www.google.com/maps/d/u/0/edit?mid=1BKO9T-GkTwRFCJCmk4UB5El9VmyIweGT&ll=24.751906390175304%2C120.9569823022&z=11
新竹市行道樹 - iNaturalist 專案
https://www.inaturalist.org/projects/d038eeec-1cfa-46ab-b24d-c8f214fdcc57
台中都市廊道
### 臺中 學校與大學
[out:json][timeout:25];
// gather results
(
// query part for: “university”
( area[name="臺中市"]; )->.a;
way["amenity"="university"](area.a);
way["amenity"="school"](area.a);
relation["amenity"="university"](area.a);
relation["amenity"="school"](area.a);
);
// print results
out body;
>;
out skel qt;
####
[out:json][timeout:25];
// gather results
(
// query part for: “university”
( area[name="臺中市"]; )->.a;
way["leisure"="park"](area.a);
);
// print results
out body;
>;
out skel qt;
###
[out:json][timeout:25];
// gather results
(
( area[name="臺中市"]; )->.a;
// query part for: “river”
way["waterway"="river"](area.a);
);
// print results
out body;
>;
out skel qt;
網格下周邊一公里有多少樹/樹冠面積
作法
賞花地圖
Chapter 4 秋天的賞樹秘笈:台中行道樹系統數量
台灣欒樹(7377)
http://kplant.biodiv.tw/%E5%8F%B0%E7%81%A3%E6%AC%92%E6%A8%B9/%E5%8F%B0%E7%81%A3%E6%AC%92%E6%A8%B9.htm
美人樹(894)
http://kplant.biodiv.tw/%E7%BE%8E%E4%BA%BA%E6%A8%B9/%E7%BE%8E%E4%BA%BA%E6%A8%B9.htm
吉貝木棉(14)
http://kplant.biodiv.tw/%E5%90%89%E8%B2%9D%E6%9C%A8%E6%A3%89/%E5%90%89%E8%B2%9D%E6%9C%A8%E6%A3%89.htm
羅望子(134)
http://kplant.biodiv.tw/%E7%BE%85%E6%9C%9B%E5%AD%90/%E7%BE%85%E6%9C%9B%E5%AD%90.htm
烏桕(2950)
http://kplant.biodiv.tw/%E7%83%8F%E8%87%BCn/%E7%83%8F%E8%87%BC.htm
印度紫檀(5338)
http://kplant.biodiv.tw/%E5%8D%B0%E5%BA%A6%E7%B4%AB%E6%AA%80/%E5%8D%B0%E5%BA%A6%E7%B4%AB%E6%AA%80.htm
試 QGISCLOUD
參考
社群