Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
look_for_shade
Search
yrarchi
June 18, 2019
Technology
430
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
look_for_shade
yrarchi
June 18, 2019
More Decks by yrarchi
See All by yrarchi
Notionを活用した学習管理
yrarchi
0
100
「やりたいこと」駆動で学ぼう
yrarchi
0
210
Other Decks in Technology
See All in Technology
あなたの知らないAmazon VPC Route Server/Amazon VPC Route Server you don't know about
masakiokuda
2
230
Incremental HTTP
kazuho
5
2.1k
分析AIエージェントを育てる、動く環境を育てる
codatum
0
260
オブザーバビリティを高める AI エージェント体験を考える / Designing AI Agent Experiences That Enhance Observability
aoto
PRO
2
320
Deep Data Security 機能解説
oracle4engineer
PRO
2
720
Meet AgentCore Identity Consent Portal
hironobuiga
3
190
20260930_Gemma4_Hands-on
tsho
0
230
契約書画像からの情報抽出に特化した視覚接地モデルを育てる話
sansantech
PRO
1
150
SDDの運用にめげずに向き合った話
sansantech
PRO
1
140
ai_cording_with_k8s_knowledge.pdf
mochizuki875
1
310
BedrockとLambdaで作る リアルタイム進行型推理ゲーム
kawametho
0
200
事業活動を AI Ready にする攻めと守りのデータエンジニアリング / data-engineering-for-ai-ready-business
pei0804
5
1.9k
Featured
See All Featured
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
68
58k
Claude Code のすすめ
schroneko
67
230k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
50
10k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
6
1.2k
BBQ
matthewcrist
90
10k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
530
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
68
58k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
260
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
450
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
760
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
2
460
The SEO Collaboration Effect
kristinabergwall1
1
590
Transcript
look for shade Pythonを用いた日影の計算 PyData.Fukuoka Meetup #4 2019/06/18 yrarchi
今回のテーマ もうすぐ、暑い夏がやってくる! 少しでも、日陰を歩きたい… どの道を通ると 日陰が多いんだろう? 何時に出かけると 日陰が多いんだろう? 道路の何%が日陰になるか、Pythonで計算してみよう!
日影のできかたを決める要素は何か? - 緯度・経度:福岡市 (福岡県庁の緯度経度を 使用) - 日付:夏至(2019/6/22) -
時間:日の出〜日の入まで15分ごと に変えて計算
道路にかかる影の割合を決める要素は何か? - 建物形状・高さ:6.0m * 6.0m * 6.0m - 道路幅員:4.0m
- 道路からの離れ・隣棟間隔:1.0m - 道路の方位角:22.5°ずつ変えて計算
道路にかかる影の割合を決める要素は何か? - 建物形状・高さ:6.0m * 6.0m * 6.0m - 道路幅員:4.0m
- 道路からの離れ・隣棟間隔:1.0m - 道路の方位角:22.5°ずつ変えて計算
計算過程_1 ①モデル建物画像 読込み ②モデル画像回転 ③建物の輪郭を検出 ↓ コーナーの座標を 求める import cv2
model = cv2.imread("img/model.png") … for angle in [angle/10 for angle in range(0, 1800, 225)]: img = rotate_img(angle, model) … contours = find_contours() approx_contours = approximate_contours() … 画像処理を行うライブラリ OpenCVを利用
⑥道路のうち、影と 重なる割合を求める ⑤影の座標を求める 計算過程_2 ④諸条件より太陽の 方位角・高度を出す def calc_coordinate_of_shade(): h =
calc_solar_altitude() A = calc_azimuth() shade_longth = bldg_h_pixel / math.tan(h) shade_x = shade_longth * math.sin(A) * -1 shade_y = shade_longth * math.cos(A) * -1 return shade_x, shade_y … for time in [i / 100 for i in range(500, 2000, 25)]: … shade_x, shade_y = calc_coordinate_of_shade() shade_msk, hull_points = make_shade_mask() road_shade_per = calc_per_of_shade_on_road() …
結果 日の出 日の入り 南中時刻 0° 45° 90°
実際の道路で求めてみる_1 天神駅 福岡県庁 道路の方位角を取得して、経路上の影の割合を出してみる import osmnx as ox import networkx
as nx G = ox.graph_from_point((latitude, longitude), distance=1800, network_type="walk") … origin_node = ox.get_nearest_node(G, origin_point) destination_node = ox.get_nearest_node(G, destination_point) route = nx.shortest_path(G, origin_node, destination_node, weight="length") … G = ox.add_edge_bearings(G) bearings = pd.Series(ox.get_route_edge_attributes(G, route, "bearing")) … OpenStreetMapのデータを利用して街路網の計算を行えるOSMnxを 利用
実際の道路で求めてみる_2 例えば、16時に出かければ 道路の80%超は日陰に なっている (※ 経路上の建物が全て モデル通りならば!)
まとめ 今回できたこと: - モデル建物における道路を占める影の割合 の算出 課題: - 実際の建物の形状・高さを用いた計算 資料: https://github.com/yrarchi/look_for_shade https://yrarchi.net/look_for_shade/