일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- 3d
- 데이터입수
- 알고리즘
- graph
- 도커 레이어
- 좌표거리
- 폴더조사
- osmnx
- 이미지빌드
- geojson
- GCN
- 도커
- Python
- STL
- 파이썬
- GIS
- docker
- 지하철역좌표
- Set
- python최단거리
- MESH
- 3d데이터
- GNN
- geopandas
- 패치분할
- 컨테이너
- 동명이인찾기
- 귀여운고래
- pyvista
- 그리드분할
- Today
- Total
목록전체 글 (86)
이것저것 기록
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/AX1AL/btqMAQ34Ypl/WcgVUX3vT5Uqv5XQ4T3R61/img.png)
1. 필요한 라이브러리 및 그래프 생성 import osmnx as ox place = 'Piedmont, California, USA' G = ox.graph_from_place(place, network_type='drive') 2. 두 점 간의 (거리기반) 최단경로 찾기 ''' 1. Basic routing by distance ''' # 출발지와 목적지 설정 orig = list(G)[0] dest = list(G)[120] # 거리 기반 최단경로 1개 탐색 route = ox.shortest_path(G, orig, dest, weight='length') fig1_1, ax = ox.plot_graph_route(G, route, route_color='y', route_linewidth=6,..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/d3XXX8/btqMwnuTL2p/KzKdMCkJrndc5TF815wn9k/img.png)
OSMnx 라이브러리를 사용하면 OSM 지도 위의 어떤 도로든 노드-엣지 그래프로 불러올 수 있다. 찾아보니 여러가지 방법이 있는 것 같아서, 오늘은 그 방법들을 포스팅해볼까 한다. 1. 위도 경도 정보를 사용해서 불러오기 (osmnx.graph.graph_from_point) ''' Method1-1: passing a lat-lng point and network distance in meters ''' location_point = (37.791427, -122.410018) G1_1 = ox.graph_from_point(location_point, dist=500, dist_type='network') fig, ax = ox.plot_graph(G1_1, node_color='r') ''' Me..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/IjHxD/btqMvJKR8bJ/zjqk2rI7WZ5QGlXcz5kmEK/img.png)
NetworkX에 대해서 이것저것 찾아보다가 OSMnx라는 모듈을 발견했다. Open Street Map의 데이터를 받아서 그래프로 만들어주는 등, NetworkX랑 비슷한 모듈인데 OSM에 접목시켜서 사용할 수 있는 라이브러리인듯 했다. 주로 도시분석이나 도로네트워크분석 등 GIS 분야에서 많이 쓰이는 것 같다. 라이브러리에서 제공하는 함수나 기능들이 꽤나 다양하고, 이것들을 활용하면 GIS 분석을 재밌고 쉽게 할 수 있을 것 같아서 앞으로 몇 주간 찬찬히 공부해 볼 생각이다. 오늘 포스팅 할 내용은 OSMnx 장인? 급인 Geoff Boeing 교수의 깃헙을 많이 참고했다.
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cOms1p/btqMhuCgCDl/hzZpTx6mUB1nT7L5d44rF0/img.jpg)
왕좌의 게임이라는 미드를 한 번도 본적은 없는데, 외국에선 이 왕좌의 게임 내 인물 관계도를 네트워크 분석 예제로 많이 사용하는 듯 하여 자료를 구해봤다. 1. 라이브러리 및 데이터 불러오기 import networkx as nx import pandas as pd import matplotlib.pyplot as plt import itertools import os os.chdir('C:/Users/user/Desktop/PyStudy/asoiaf-master/data/') all_books = ['asoiaf-all-edges.csv', 'asoiaf-all-nodes.csv'] li = [] for f in all_books: tmp = pd.read_csv(f) li.append(tmp) 2. ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bO7wXl/btqMfihGQ2b/t8RO4uOsMXzuZ47RAXEk0k/img.webp)
그전까지는 주먹구구 식으로 필요한 함수를 아무렇게나 정의해서 갖다쓰는 방식으로 코드를 짰었다. 그런데 그렇게 코드를 설계하다보니까 코드가 너무 더러워지고, 무엇보다 코드가 길어질수록 감당이 안됐다. 그러다가 클래스의 필요성을 절실히 느끼게 됐다. 무엇보다 네이버나 증권사 등에서 제공하는 API가 대부분 클래스를 이용한 객체지향 프로그래밍 방식으로 짜여있기 때문에, 언젠가는 파이썬 클래스에 대한 개념을 확실히 해둘 필요가 있었다. 내가 느낀 클래스의 필요성: 1. 하나의 묶음으로 코드를 깔끔하게 관리하기 위함 2. 기업에서 제공하는 API 이용 어쨌든 이 포스트는 다음 링크의 글을 참고하여 작성했다. (플로우가 똑같음) wikidocs.net/1076 위키독스 온라인 책을 제작 공유하는 플랫폼 서비스 wi..