
File name
Commit message
Commit date
File name
Commit message
Commit date
from haversine import haversine
import networkx as nx
import geojson
with open("D:/takensoft/project2/data/기타 가공/데이터/osm.geojson",encoding='utf-8') as f:
gj = geojson.load(f)
def swith_xy(tuples):
x,y=tuples
return (y,x)
G = nx.Graph ()
total_data_num= gj['features']
for j in range(len(total_data_num)):
features = gj['features'][j]
lines=features['geometry']['coordinates'][0]
print(j)
for i in range(len(lines)-1):
G.add_edge(swith_xy(lines[i]),swith_xy(lines[i+1]),flcass=features['properties']['fclass'],oneway=features['properties']['oneway'])
sg = (G.subgraph(c) for c in nx.connected_components(G)) #가져올 수 없는 패키지가 있는 경우
sg = list(sg)[0]
for n0, n1 in G.edges ():
dist = haversine(n0, n1,unit='m')
G.edges [n0,n1][" dist "] = dist
df=nx.to_pandas_edgelist(G)
li_source=list(df['source'])
li_source_x= []
li_source_y=[]
for i in li_source:
li_source_x.append(str(i[0]))
li_source_y.append(str(i[1]))
df['source_x']=li_source_x
df['source_y']=li_source_y
li_target=list(df['target'])
li_target_x= []
li_target_y=[]
for i in li_target:
li_target_x.append(str(i[0]))
li_target_y.append(str(i[1]))
df['target_x']=li_target_x
df['target_y']=li_target_y
df=df.drop(['source','target'],axis=1)
df=df.reset_index()
df.to_csv('node.csv',encoding='euc-kr')