district_heating_network_an.../test_some_stuff.ipynb
2024-06-07 18:44:21 -04:00

1261 lines
162 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"cells": [
{
"cell_type": "code",
"id": "initial_id",
"metadata": {
"collapsed": true,
"ExecuteTime": {
"end_time": "2024-06-07T19:38:39.658975Z",
"start_time": "2024-06-07T19:38:39.645993Z"
}
},
"source": [
"import json\n",
"import geopandas as gpd\n",
"import matplotlib.pyplot as plt\n",
"from shapely.geometry import Polygon, Point, LineString, MultiPoint\n",
"import networkx as nx"
],
"outputs": [],
"execution_count": 116
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2024-06-07T19:38:41.410551Z",
"start_time": "2024-06-07T19:38:41.397553Z"
}
},
"cell_type": "code",
"source": [
"buildings_file = \"./input_files/buildings.geojson\"\n",
"roads_file = \"./input_files/roads.json\""
],
"id": "54ab8fc586f52a30",
"outputs": [],
"execution_count": 117
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2024-06-07T19:38:44.489042Z",
"start_time": "2024-06-07T19:38:44.475523Z"
}
},
"cell_type": "code",
"source": [
"with open(buildings_file, 'r') as file:\n",
" city = json.load(file)"
],
"id": "1e89883e8ef6043e",
"outputs": [],
"execution_count": 118
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2024-06-07T19:38:48.039110Z",
"start_time": "2024-06-07T19:38:48.026118Z"
}
},
"cell_type": "code",
"source": [
"centroids = []\n",
"building_ids = [] # List to store building IDs\n",
"buildings = city['features']\n",
"for building in buildings:\n",
" coordinates = building['geometry']['coordinates'][0]\n",
" building_polygon = Polygon(coordinates)\n",
" centroid = building_polygon.centroid\n",
" centroids.append(centroid)\n",
" building_ids.append(building['id']) # Extract building ID"
],
"id": "43231d3a9c2831c",
"outputs": [],
"execution_count": 119
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2024-06-07T19:38:50.983720Z",
"start_time": "2024-06-07T19:38:49.601041Z"
}
},
"cell_type": "code",
"source": [
"with open(roads_file, 'r') as file:\n",
" roads = json.load(file)"
],
"id": "746cf9f190d6390a",
"outputs": [],
"execution_count": 120
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2024-06-07T19:42:37.398604Z",
"start_time": "2024-06-07T19:42:36.745684Z"
}
},
"cell_type": "code",
"source": [
"line_features = [feature for feature in roads['features'] if feature['geometry']['type'] == 'LineString']\n",
"\n",
"# Create a list of LineString objects and their properties\n",
"lines = []\n",
"for feature in line_features:\n",
" # Create a LineString from coordinates\n",
" linestring = LineString(feature['geometry']['coordinates'])\n",
" lines.append({'geometry': linestring})"
],
"id": "5d8fbd8f6bbae402",
"outputs": [],
"execution_count": 123
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2024-06-07T22:36:39.540040Z",
"start_time": "2024-06-07T22:36:18.552997Z"
}
},
"cell_type": "code",
"source": [
"closest_roads = []\n",
"\n",
"# Loop through each centroid\n",
"for centroid in centroids:\n",
" min_distance = float('inf') # Start with a large number to ensure any real distance is smaller\n",
" closest_road = None\n",
" \n",
" # Loop through each road and calculate the distance to the current centroid\n",
" for line in lines:\n",
" distance = line['geometry'].distance(centroid)\n",
" # Check if the current road is closer than the ones previously checked\n",
" if distance < min_distance:\n",
" min_distance = distance\n",
" closest_road = line['geometry']\n",
"\n",
" # Append the closest road to the list\n",
" closest_roads.append(closest_road)"
],
"id": "a2ca0b96ca869007",
"outputs": [],
"execution_count": 181
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2024-06-07T22:36:43.467287Z",
"start_time": "2024-06-07T22:36:43.445993Z"
}
},
"cell_type": "code",
"source": "closest_roads",
"id": "a5d7a58d54f4a77",
"outputs": [
{
"data": {
"text/plain": [
"[<LINESTRING (-73.609 45.483, -73.609 45.483, -73.61 45.484, -73.61 45.484, -...>,\n",
" <LINESTRING (-73.609 45.483, -73.609 45.483, -73.61 45.484, -73.61 45.484, -...>,\n",
" <LINESTRING (-73.608 45.484, -73.608 45.484, -73.608 45.484, -73.611 45.485,...>,\n",
" <LINESTRING (-73.609 45.483, -73.609 45.483, -73.61 45.484, -73.61 45.484, -...>,\n",
" <LINESTRING (-73.608 45.484, -73.608 45.484, -73.608 45.484, -73.611 45.485,...>,\n",
" <LINESTRING (-73.608 45.484, -73.608 45.484, -73.608 45.484, -73.611 45.485,...>,\n",
" <LINESTRING (-73.608 45.484, -73.608 45.484, -73.608 45.484, -73.611 45.485,...>,\n",
" <LINESTRING (-73.608 45.484, -73.608 45.484, -73.608 45.484, -73.611 45.485,...>,\n",
" <LINESTRING (-73.609 45.483, -73.609 45.483, -73.61 45.484, -73.61 45.484, -...>,\n",
" <LINESTRING (-73.609 45.483, -73.609 45.483, -73.61 45.484, -73.61 45.484, -...>,\n",
" <LINESTRING (-73.608 45.484, -73.608 45.484, -73.608 45.484, -73.611 45.485,...>,\n",
" <LINESTRING (-73.608 45.484, -73.608 45.484, -73.608 45.484, -73.611 45.485,...>,\n",
" <LINESTRING (-73.609 45.483, -73.609 45.483, -73.61 45.484, -73.61 45.484, -...>,\n",
" <LINESTRING (-73.609 45.483, -73.609 45.483, -73.61 45.484, -73.61 45.484, -...>,\n",
" <LINESTRING (-73.608 45.484, -73.608 45.484, -73.608 45.484, -73.611 45.485,...>,\n",
" <LINESTRING (-73.608 45.484, -73.608 45.484, -73.608 45.484, -73.611 45.485,...>,\n",
" <LINESTRING (-73.608 45.484, -73.608 45.484, -73.608 45.484, -73.611 45.485,...>,\n",
" <LINESTRING (-73.608 45.484, -73.608 45.484, -73.608 45.484, -73.611 45.485,...>,\n",
" <LINESTRING (-73.607 45.485, -73.608 45.485, -73.608 45.485, -73.611 45.486,...>,\n",
" <LINESTRING (-73.609 45.483, -73.609 45.483, -73.61 45.484, -73.61 45.484, -...>,\n",
" <LINESTRING (-73.609 45.483, -73.609 45.483, -73.61 45.484, -73.61 45.484, -...>,\n",
" <LINESTRING (-73.609 45.483, -73.609 45.483, -73.61 45.484, -73.61 45.484, -...>,\n",
" <LINESTRING (-73.609 45.483, -73.609 45.483, -73.61 45.484, -73.61 45.484, -...>,\n",
" <LINESTRING (-73.609 45.483, -73.609 45.483, -73.61 45.484, -73.61 45.484, -...>,\n",
" <LINESTRING (-73.609 45.483, -73.609 45.483, -73.61 45.484, -73.61 45.484, -...>,\n",
" <LINESTRING (-73.609 45.483, -73.609 45.483, -73.61 45.484, -73.61 45.484, -...>,\n",
" <LINESTRING (-73.609 45.483, -73.609 45.483, -73.614 45.485, -73.614 45.485)>,\n",
" <LINESTRING (-73.609 45.483, -73.609 45.483, -73.61 45.484, -73.61 45.484, -...>,\n",
" <LINESTRING (-73.608 45.484, -73.608 45.484, -73.608 45.484, -73.611 45.485,...>,\n",
" <LINESTRING (-73.609 45.483, -73.609 45.483, -73.61 45.484, -73.61 45.484, -...>,\n",
" <LINESTRING (-73.609 45.483, -73.609 45.483, -73.61 45.484, -73.61 45.484, -...>,\n",
" <LINESTRING (-73.608 45.484, -73.608 45.484, -73.608 45.484, -73.611 45.485,...>,\n",
" <LINESTRING (-73.608 45.484, -73.608 45.484, -73.608 45.484, -73.611 45.485,...>,\n",
" <LINESTRING (-73.609 45.483, -73.609 45.483, -73.614 45.485, -73.614 45.485)>,\n",
" <LINESTRING (-73.608 45.484, -73.608 45.484, -73.608 45.484, -73.611 45.485,...>,\n",
" <LINESTRING (-73.608 45.484, -73.608 45.484, -73.608 45.484, -73.611 45.485,...>,\n",
" <LINESTRING (-73.609 45.483, -73.609 45.483, -73.614 45.485, -73.614 45.485)>,\n",
" <LINESTRING (-73.609 45.483, -73.609 45.483, -73.61 45.484, -73.61 45.484, -...>,\n",
" <LINESTRING (-73.608 45.484, -73.608 45.484, -73.608 45.484, -73.611 45.485,...>,\n",
" <LINESTRING (-73.609 45.483, -73.609 45.483, -73.61 45.484, -73.61 45.484, -...>,\n",
" <LINESTRING (-73.608 45.484, -73.608 45.484, -73.608 45.484, -73.611 45.485,...>,\n",
" <LINESTRING (-73.609 45.483, -73.609 45.483, -73.61 45.484, -73.61 45.484, -...>,\n",
" <LINESTRING (-73.608 45.484, -73.608 45.484, -73.608 45.484, -73.611 45.485,...>,\n",
" <LINESTRING (-73.608 45.484, -73.608 45.484, -73.608 45.484, -73.611 45.485,...>,\n",
" <LINESTRING (-73.609 45.483, -73.609 45.483, -73.61 45.484, -73.61 45.484, -...>,\n",
" <LINESTRING (-73.608 45.484, -73.608 45.484, -73.608 45.484, -73.611 45.485,...>,\n",
" <LINESTRING (-73.609 45.483, -73.609 45.483, -73.614 45.485, -73.614 45.485)>,\n",
" <LINESTRING (-73.609 45.483, -73.609 45.483, -73.614 45.485, -73.614 45.485)>,\n",
" <LINESTRING (-73.608 45.484, -73.608 45.484, -73.608 45.484, -73.611 45.485,...>,\n",
" <LINESTRING (-73.608 45.484, -73.608 45.484, -73.608 45.484, -73.611 45.485,...>,\n",
" <LINESTRING (-73.608 45.484, -73.608 45.484, -73.608 45.484, -73.611 45.485,...>,\n",
" <LINESTRING (-73.609 45.483, -73.609 45.483, -73.61 45.484, -73.61 45.484, -...>,\n",
" <LINESTRING (-73.609 45.483, -73.609 45.483, -73.61 45.484, -73.61 45.484, -...>,\n",
" <LINESTRING (-73.608 45.484, -73.608 45.484, -73.608 45.484, -73.611 45.485,...>,\n",
" <LINESTRING (-73.608 45.484, -73.608 45.484, -73.608 45.484, -73.611 45.485,...>,\n",
" <LINESTRING (-73.608 45.484, -73.608 45.484, -73.608 45.484, -73.611 45.485,...>,\n",
" <LINESTRING (-73.608 45.484, -73.608 45.484, -73.608 45.484, -73.611 45.485,...>]"
]
},
"execution_count": 182,
"metadata": {},
"output_type": "execute_result"
}
],
"execution_count": 182
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2024-06-07T22:36:44.588358Z",
"start_time": "2024-06-07T22:36:44.570373Z"
}
},
"cell_type": "code",
"source": [
"from collections import defaultdict\n",
"\n",
"all_points = []\n",
"for line in closest_roads:\n",
" for point in line.coords:\n",
" all_points.append(tuple(point)) # Ensure points are hashable tuples for accurate comparison\n",
"\n",
"point_counts = {}\n",
"\n",
"# Collect all points from all LineStrings and count occurrences\n",
"for line in closest_roads:\n",
" # Extract points from LineString and count each\n",
" for point in line.coords:\n",
" point_as_tuple = tuple(point) # Convert to tuple for hashing\n",
" if point_as_tuple in point_counts:\n",
" point_counts[point_as_tuple] += 1\n",
" else:\n",
" point_counts[point_as_tuple] = 1\n",
"\n",
"# Identify points that appear only once\n",
"single_occurrence_points = [point for point, count in point_counts.items() if count == 1]"
],
"id": "3766eaeb084545f9",
"outputs": [],
"execution_count": 183
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2024-06-07T22:36:51.126260Z",
"start_time": "2024-06-07T22:36:51.114251Z"
}
},
"cell_type": "code",
"source": "single_connection_points",
"id": "ac8694fc95c5831e",
"outputs": [
{
"data": {
"text/plain": [
"[(-73.60740457392198, 45.484637848425386),\n",
" (-73.60750136397807, 45.48468229570286),\n",
" (-73.60825265914357, 45.48502123168385),\n",
" (-73.61082497885673, 45.48618720420381),\n",
" (-73.61086946756868, 45.48620878207536),\n",
" (-73.61098573481536, 45.48626814177164)]"
]
},
"execution_count": 184,
"metadata": {},
"output_type": "execute_result"
}
],
"execution_count": 184
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2024-06-07T22:39:13.923977Z",
"start_time": "2024-06-07T22:39:13.645356Z"
}
},
"cell_type": "code",
"source": [
"fig, ax = plt.subplots()\n",
"for line in closest_roads:\n",
" x, y = line.xy\n",
" ax.plot(x, y, alpha=0.5, linestyle='-', linewidth=2, color='blue') # Lines with transparency\n",
"\n",
" # Also plot the start and end points of each LineString\n",
" start_point = Point(line.coords[0])\n",
" end_point = Point(line.coords[-1])\n",
" ax.plot(*start_point.xy, 'go', markersize=15, alpha=0.5) # Start point, green\n",
" ax.plot(*end_point.xy, 'go', markersize=15, alpha=0.5) # End point, red\n",
"\n",
"# Plot points\n",
"for point in single_connection_points:\n",
" ax.plot(point[0], point[1], 'ro', markersize=10, label='Endpoints with one connection' if point == single_connection_points[0] else \"\")\n",
"\n",
"# Set plot parameters and legends\n",
"\n",
"# Set plot parameters and legends\n",
"ax.set_title('Map of LineStrings and Points')\n",
"ax.set_xlabel('Longitude')\n",
"ax.set_ylabel('Latitude')\n",
"\n",
"plt.grid(True)\n",
"plt.show()"
],
"id": "666f37cc24eb58e4",
"outputs": [
{
"data": {
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
],
"image/png": "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"
},
"metadata": {},
"output_type": "display_data"
}
],
"execution_count": 190
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2024-06-07T22:43:05.874897Z",
"start_time": "2024-06-07T22:43:05.864923Z"
}
},
"cell_type": "code",
"source": [
"from collections import defaultdict\n",
"\n",
"# Dictionary to count occurrences of each endpoint\n",
"endpoint_counts = defaultdict(int)\n",
"\n",
"\n",
"# Populate the dictionary with endpoint occurrences\n",
"for line in closest_roads:\n",
" start_point = tuple(line.coords[0])\n",
" end_point = tuple(line.coords[-1])\n",
" \n",
" endpoint_counts[start_point] += 1\n",
" endpoint_counts[end_point] += 1\n",
"\n",
"# Identify and print points that are not used in other lines\n",
"unique_endpoints = [point for point, count in endpoint_counts.items() if count == 1]\n",
"print(\"Endpoints that are not used in other LineStrings:\")\n",
"for point in unique_endpoints:\n",
" print(point)"
],
"id": "5154d0562f9b46f5",
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Endpoints that are not used in other LineStrings:\n",
"(-73.60740457392198, 45.484637848425386)\n",
"(-73.61098573481536, 45.48626814177164)\n"
]
}
],
"execution_count": 194
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2024-06-07T19:49:48.661247Z",
"start_time": "2024-06-07T19:49:48.632724Z"
}
},
"cell_type": "code",
"source": [
" centroids_gdf = gpd.GeoDataFrame({\n",
" 'geometry': [Point(centroid.x, centroid.y) for centroid in centroids],\n",
" 'building_id': building_ids # Add building IDs as a column\n",
" }, crs='EPSG:4326')"
],
"id": "3b11dc20768b0717",
"outputs": [],
"execution_count": 131
},
{
"metadata": {},
"cell_type": "code",
"outputs": [],
"execution_count": null,
"source": "",
"id": "990afc4dd71b2016"
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2024-06-07T17:13:13.434236Z",
"start_time": "2024-06-07T17:13:02.571701Z"
}
},
"cell_type": "code",
"source": "gdf_road = gpd.read_file(roads_file)",
"id": "9d5af61e96a587ce",
"outputs": [],
"execution_count": 98
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2024-06-07T14:40:10.284182Z",
"start_time": "2024-06-07T14:40:10.275182Z"
}
},
"cell_type": "code",
"source": "centroids_gdf = centroids_gdf.to_crs(gdf_road.crs)",
"id": "80da4e0628632525",
"outputs": [],
"execution_count": 61
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2024-06-07T14:40:13.146005Z",
"start_time": "2024-06-07T14:40:11.354152Z"
}
},
"cell_type": "code",
"source": [
"gdf_clean = gpd.GeoDataFrame(\n",
" {'geometry': [LineString([coord for coord in line.coords]) for line in gdf_road.geometry]})"
],
"id": "addef97c0afa5e92",
"outputs": [],
"execution_count": 62
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2024-06-07T14:40:41.214858Z",
"start_time": "2024-06-07T14:40:14.269550Z"
}
},
"cell_type": "code",
"source": [
"closest_linestrings = []\n",
"nearest_points = []\n",
"for centroid in centroids_gdf.geometry:\n",
" closest_road = min(gdf_clean.geometry, key=lambda x: x.distance(centroid))\n",
" closest_linestrings.append(closest_road)\n",
" nearest_point = closest_road.interpolate(closest_road.project(centroid))\n",
" nearest_points.append(nearest_point)"
],
"id": "e29d092f4da2dabf",
"outputs": [],
"execution_count": 63
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2024-06-07T14:41:19.644814Z",
"start_time": "2024-06-07T14:41:14.935387Z"
}
},
"cell_type": "code",
"source": [
"gdf_pts = gpd.GeoDataFrame(\n",
" {'geometry': [Point(coord) for line in gdf_clean.geometry for coord in line.coords]})\n",
"gdf_pts2 = gpd.GeoDataFrame({'geometry': nearest_points})\n",
"\n",
"# Combine nearest points and road points into one GeoDataFrame\n",
"gdf_pts3 = gpd.GeoDataFrame({'geometry': nearest_points + list(gdf_pts.geometry)})"
],
"id": "aa7227683e8638f",
"outputs": [],
"execution_count": 64
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2024-06-07T14:42:28.685346Z",
"start_time": "2024-06-07T14:41:30.055548Z"
}
},
"cell_type": "code",
"source": [
"gdf_clean[\"intersect\"] = [\n",
" [y for y in range(len(gdf_pts2)) if gdf_pts2.geometry[y].distance(geom) <= 1.0] for geom in\n",
" gdf_clean.geometry]\n",
"gdf_clean"
],
"id": "4528b6e5fab1e219",
"outputs": [
{
"data": {
"text/plain": [
" geometry intersect\n",
"0 LINESTRING (285986.423 5042145.340, 285897.824... []\n",
"1 LINESTRING (288690.550 5043101.721, 288685.927... []\n",
"2 LINESTRING (286274.692 5042754.459, 286269.739... []\n",
"3 LINESTRING (286373.690 5042390.673, 286368.686... []\n",
"4 LINESTRING (286316.148 5042442.785, 286310.873... []\n",
"... ... ...\n",
"47454 LINESTRING (291062.937 5037972.836, 291069.638... []\n",
"47455 LINESTRING (291143.910 5037561.650, 291140.284... []\n",
"47456 LINESTRING (291085.141 5037949.135, 291076.106... []\n",
"47457 LINESTRING (290515.892 5035967.477, 290520.449... []\n",
"47458 LINESTRING (290935.186 5037857.460, 290936.052... []\n",
"\n",
"[47459 rows x 2 columns]"
],
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>geometry</th>\n",
" <th>intersect</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>LINESTRING (285986.423 5042145.340, 285897.824...</td>\n",
" <td>[]</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>LINESTRING (288690.550 5043101.721, 288685.927...</td>\n",
" <td>[]</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>LINESTRING (286274.692 5042754.459, 286269.739...</td>\n",
" <td>[]</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>LINESTRING (286373.690 5042390.673, 286368.686...</td>\n",
" <td>[]</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>LINESTRING (286316.148 5042442.785, 286310.873...</td>\n",
" <td>[]</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>47454</th>\n",
" <td>LINESTRING (291062.937 5037972.836, 291069.638...</td>\n",
" <td>[]</td>\n",
" </tr>\n",
" <tr>\n",
" <th>47455</th>\n",
" <td>LINESTRING (291143.910 5037561.650, 291140.284...</td>\n",
" <td>[]</td>\n",
" </tr>\n",
" <tr>\n",
" <th>47456</th>\n",
" <td>LINESTRING (291085.141 5037949.135, 291076.106...</td>\n",
" <td>[]</td>\n",
" </tr>\n",
" <tr>\n",
" <th>47457</th>\n",
" <td>LINESTRING (290515.892 5035967.477, 290520.449...</td>\n",
" <td>[]</td>\n",
" </tr>\n",
" <tr>\n",
" <th>47458</th>\n",
" <td>LINESTRING (290935.186 5037857.460, 290936.052...</td>\n",
" <td>[]</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>47459 rows × 2 columns</p>\n",
"</div>"
]
},
"execution_count": 65,
"metadata": {},
"output_type": "execute_result"
}
],
"execution_count": 65
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2024-06-07T14:42:56.413707Z",
"start_time": "2024-06-07T14:42:56.338720Z"
}
},
"cell_type": "code",
"source": [
"gdf_cleaner = gdf_clean[gdf_clean[\"intersect\"].apply(len).gt(0)].reset_index(drop=True)\n",
"gdf_clean = gdf_clean[gdf_clean[\"intersect\"].apply(len) == 0].reset_index(drop=True)\n",
"gdf_clean"
],
"id": "665a98a898e8e3b4",
"outputs": [
{
"data": {
"text/plain": [
" geometry intersect\n",
"0 LINESTRING (285986.423 5042145.340, 285897.824... []\n",
"1 LINESTRING (288690.550 5043101.721, 288685.927... []\n",
"2 LINESTRING (286274.692 5042754.459, 286269.739... []\n",
"3 LINESTRING (286373.690 5042390.673, 286368.686... []\n",
"4 LINESTRING (286316.148 5042442.785, 286310.873... []\n",
"... ... ...\n",
"47450 LINESTRING (291062.937 5037972.836, 291069.638... []\n",
"47451 LINESTRING (291143.910 5037561.650, 291140.284... []\n",
"47452 LINESTRING (291085.141 5037949.135, 291076.106... []\n",
"47453 LINESTRING (290515.892 5035967.477, 290520.449... []\n",
"47454 LINESTRING (290935.186 5037857.460, 290936.052... []\n",
"\n",
"[47455 rows x 2 columns]"
],
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>geometry</th>\n",
" <th>intersect</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>LINESTRING (285986.423 5042145.340, 285897.824...</td>\n",
" <td>[]</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>LINESTRING (288690.550 5043101.721, 288685.927...</td>\n",
" <td>[]</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>LINESTRING (286274.692 5042754.459, 286269.739...</td>\n",
" <td>[]</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>LINESTRING (286373.690 5042390.673, 286368.686...</td>\n",
" <td>[]</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>LINESTRING (286316.148 5042442.785, 286310.873...</td>\n",
" <td>[]</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>47450</th>\n",
" <td>LINESTRING (291062.937 5037972.836, 291069.638...</td>\n",
" <td>[]</td>\n",
" </tr>\n",
" <tr>\n",
" <th>47451</th>\n",
" <td>LINESTRING (291143.910 5037561.650, 291140.284...</td>\n",
" <td>[]</td>\n",
" </tr>\n",
" <tr>\n",
" <th>47452</th>\n",
" <td>LINESTRING (291085.141 5037949.135, 291076.106...</td>\n",
" <td>[]</td>\n",
" </tr>\n",
" <tr>\n",
" <th>47453</th>\n",
" <td>LINESTRING (290515.892 5035967.477, 290520.449...</td>\n",
" <td>[]</td>\n",
" </tr>\n",
" <tr>\n",
" <th>47454</th>\n",
" <td>LINESTRING (290935.186 5037857.460, 290936.052...</td>\n",
" <td>[]</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>47455 rows × 2 columns</p>\n",
"</div>"
]
},
"execution_count": 66,
"metadata": {},
"output_type": "execute_result"
}
],
"execution_count": 66
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2024-06-07T14:44:55.791400Z",
"start_time": "2024-06-07T14:44:55.773870Z"
}
},
"cell_type": "code",
"source": [
"test_list = []\n",
"for idx, row in gdf_cleaner.iterrows():\n",
" for i in range(len(row[\"intersect\"]) + 1):\n",
" if i == 0:\n",
" test_list.append(\n",
" LineString([row['geometry'].coords[0], gdf_pts3.geometry[row['intersect'][i]]]))\n",
" elif i < len(row['intersect']):\n",
" test_list.append(LineString(\n",
" [gdf_pts3.geometry[row['intersect'][i - 1]], gdf_pts3.geometry[row['intersect'][i]]]))\n",
" else:\n",
" test_list.append(\n",
" LineString([gdf_pts3.geometry[row['intersect'][i - 1]], row['geometry'].coords[-1]]))"
],
"id": "80015bdb7f23eead",
"outputs": [],
"execution_count": 67
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2024-06-07T14:44:59.510810Z",
"start_time": "2024-06-07T14:44:59.500808Z"
}
},
"cell_type": "code",
"source": "gdf_cleanest = gpd.GeoDataFrame({'geometry': test_list})",
"id": "4a8e438cca293a68",
"outputs": [],
"execution_count": 68
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2024-06-07T14:45:07.945840Z",
"start_time": "2024-06-07T14:45:07.752831Z"
}
},
"cell_type": "code",
"source": "gdf_cleanest.plot()",
"id": "bb23a224ef0d3241",
"outputs": [
{
"data": {
"text/plain": [
"<Axes: >"
]
},
"execution_count": 69,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
],
"image/png": "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"
},
"metadata": {},
"output_type": "display_data"
}
],
"execution_count": 69
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2024-06-07T14:51:33.837590Z",
"start_time": "2024-06-07T14:46:18.341415Z"
}
},
"cell_type": "code",
"source": [
"points = [coord for geom in gdf_cleanest.geometry for coord in geom.coords]\n",
"gdf_pts_cnt = gdf_pts.copy()\n",
"gdf_pts_cnt[\"count\"] = gdf_pts_cnt.geometry.apply(lambda x: points.count(x.coords[0]))\n",
"gdf_pts_reset = gdf_pts_cnt[gdf_pts_cnt[\"count\"] > 1].reset_index(drop=True)\n",
"gdf_pts_drop = gdf_pts_cnt[gdf_pts_cnt[\"count\"] <= 1].reset_index(drop=True)\n",
"\n",
"# Remove unnecessary geometries from gdf_cleanest\n",
"for idx, geom in gdf_cleanest.iterrows():\n",
" for coord in geom.geometry.coords:\n",
" if coord in [pt.coords[0] for pt in gdf_pts_drop.geometry]:\n",
" gdf_cleanest = gdf_cleanest.drop(idx)\n",
"\n",
"gdf_cleanest.reset_index(drop=True, inplace=True)"
],
"id": "b8418974bd154804",
"outputs": [],
"execution_count": 70
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2024-06-07T14:51:44.229668Z",
"start_time": "2024-06-07T14:51:44.084309Z"
}
},
"cell_type": "code",
"source": "gdf_cleanest.plot()",
"id": "fc01d61c58461441",
"outputs": [
{
"data": {
"text/plain": [
"<Axes: >"
]
},
"execution_count": 71,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
],
"image/png": "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"
},
"metadata": {},
"output_type": "display_data"
}
],
"execution_count": 71
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2024-06-07T14:54:37.881396Z",
"start_time": "2024-06-07T14:54:37.867359Z"
}
},
"cell_type": "code",
"source": "gdf_cleanest",
"id": "7190ec5b86b3a056",
"outputs": [
{
"data": {
"text/plain": [
" geometry\n",
"0 LINESTRING (296179.136 5038345.452, 296194.501...\n",
"1 LINESTRING (296194.501 5038335.552, 296203.996...\n",
"2 LINESTRING (296203.996 5038329.435, 296209.789...\n",
"3 LINESTRING (296209.789 5038325.702, 296218.975...\n",
"4 LINESTRING (296218.975 5038319.783, 296159.241...\n",
"5 LINESTRING (296159.241 5038358.271, 296225.186...\n",
"6 LINESTRING (296225.186 5038315.781, 296226.076...\n",
"7 LINESTRING (296226.076 5038315.208, 296229.275...\n",
"8 LINESTRING (296229.275 5038313.147, 296236.282...\n",
"9 LINESTRING (296236.282 5038308.632, 296248.686...\n",
"10 LINESTRING (296248.686 5038300.640, 296190.782...\n",
"11 LINESTRING (296190.782 5038337.948, 296173.075...\n",
"12 LINESTRING (296173.075 5038349.357, 296178.248...\n",
"13 LINESTRING (296178.248 5038346.024, 296157.915...\n",
"14 LINESTRING (296157.915 5038359.125, 296163.680...\n",
"15 LINESTRING (296163.680 5038355.411, 296216.520...\n",
"16 LINESTRING (296216.520 5038321.365, 296132.909...\n",
"17 LINESTRING (296132.909 5038375.237, 296143.349...\n",
"18 LINESTRING (296143.349 5038368.511, 296119.927...\n",
"19 LINESTRING (296119.927 5038383.602, 296140.141...\n",
"20 LINESTRING (296140.141 5038370.577, 296210.215...\n",
"21 LINESTRING (296210.215 5038325.427, 296261.568...\n",
"22 LINESTRING (296261.568 5038292.340, 296188.533...\n",
"23 LINESTRING (296188.533 5038339.397, 296167.591...\n",
"24 LINESTRING (296167.591 5038352.891, 296171.963...\n",
"25 LINESTRING (296171.963 5038350.074, 296198.189...\n",
"26 LINESTRING (296198.189 5038333.176, 296152.309...\n",
"27 LINESTRING (296186.772 5038235.307, 296195.709...\n",
"28 LINESTRING (296195.709 5038229.507, 296117.677...\n",
"29 LINESTRING (296117.677 5038280.143, 296218.424...\n",
"30 LINESTRING (296218.424 5038214.763, 296230.814...\n",
"31 LINESTRING (296230.814 5038206.722, 296154.671...\n",
"32 LINESTRING (296154.671 5038256.138, 296132.309...\n",
"33 LINESTRING (296132.309 5038270.648, 296146.063...\n",
"34 LINESTRING (296146.063 5038261.724, 296140.580...\n",
"35 LINESTRING (296140.580 5038265.281, 296080.519...\n",
"36 LINESTRING (296080.519 5038304.253, 296156.464...\n",
"37 LINESTRING (296156.464 5038254.974, 296169.159...\n",
"38 LINESTRING (296169.159 5038246.737, 296104.234...\n",
"39 LINESTRING (296104.234 5038288.865, 296100.232...\n",
"40 LINESTRING (296100.232 5038291.462, 296134.396...\n",
"41 LINESTRING (296134.396 5038269.294, 296092.079...\n",
"42 LINESTRING (296092.079 5038296.752, 296202.504...\n",
"43 LINESTRING (296202.504 5038225.097, 296211.888...\n",
"44 LINESTRING (296211.888 5038219.005, 296110.806...\n",
"45 LINESTRING (296110.806 5038284.601, 296139.958...\n",
"46 LINESTRING (296139.958 5038265.685, 296122.994...\n",
"47 LINESTRING (296122.994 5038276.692, 296179.859...\n",
"48 LINESTRING (296179.859 5038239.794, 296169.822...\n",
"49 LINESTRING (296120.798 5038173.223, 296094.214...\n",
"50 LINESTRING (296094.214 5038190.488, 296101.892...\n",
"51 LINESTRING (296101.892 5038185.502, 296113.753...\n",
"52 LINESTRING (296113.753 5038177.798, 296083.454..."
],
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>geometry</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>LINESTRING (296179.136 5038345.452, 296194.501...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>LINESTRING (296194.501 5038335.552, 296203.996...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>LINESTRING (296203.996 5038329.435, 296209.789...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>LINESTRING (296209.789 5038325.702, 296218.975...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>LINESTRING (296218.975 5038319.783, 296159.241...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>LINESTRING (296159.241 5038358.271, 296225.186...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>LINESTRING (296225.186 5038315.781, 296226.076...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>LINESTRING (296226.076 5038315.208, 296229.275...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>LINESTRING (296229.275 5038313.147, 296236.282...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>LINESTRING (296236.282 5038308.632, 296248.686...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>LINESTRING (296248.686 5038300.640, 296190.782...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>LINESTRING (296190.782 5038337.948, 296173.075...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>LINESTRING (296173.075 5038349.357, 296178.248...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>LINESTRING (296178.248 5038346.024, 296157.915...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>LINESTRING (296157.915 5038359.125, 296163.680...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>LINESTRING (296163.680 5038355.411, 296216.520...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>LINESTRING (296216.520 5038321.365, 296132.909...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>LINESTRING (296132.909 5038375.237, 296143.349...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>LINESTRING (296143.349 5038368.511, 296119.927...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>LINESTRING (296119.927 5038383.602, 296140.141...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td>LINESTRING (296140.141 5038370.577, 296210.215...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>21</th>\n",
" <td>LINESTRING (296210.215 5038325.427, 296261.568...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>22</th>\n",
" <td>LINESTRING (296261.568 5038292.340, 296188.533...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>23</th>\n",
" <td>LINESTRING (296188.533 5038339.397, 296167.591...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>24</th>\n",
" <td>LINESTRING (296167.591 5038352.891, 296171.963...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25</th>\n",
" <td>LINESTRING (296171.963 5038350.074, 296198.189...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26</th>\n",
" <td>LINESTRING (296198.189 5038333.176, 296152.309...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>27</th>\n",
" <td>LINESTRING (296186.772 5038235.307, 296195.709...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>28</th>\n",
" <td>LINESTRING (296195.709 5038229.507, 296117.677...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>29</th>\n",
" <td>LINESTRING (296117.677 5038280.143, 296218.424...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>30</th>\n",
" <td>LINESTRING (296218.424 5038214.763, 296230.814...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>31</th>\n",
" <td>LINESTRING (296230.814 5038206.722, 296154.671...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>32</th>\n",
" <td>LINESTRING (296154.671 5038256.138, 296132.309...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>33</th>\n",
" <td>LINESTRING (296132.309 5038270.648, 296146.063...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>34</th>\n",
" <td>LINESTRING (296146.063 5038261.724, 296140.580...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>35</th>\n",
" <td>LINESTRING (296140.580 5038265.281, 296080.519...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>36</th>\n",
" <td>LINESTRING (296080.519 5038304.253, 296156.464...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>37</th>\n",
" <td>LINESTRING (296156.464 5038254.974, 296169.159...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>38</th>\n",
" <td>LINESTRING (296169.159 5038246.737, 296104.234...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>39</th>\n",
" <td>LINESTRING (296104.234 5038288.865, 296100.232...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>40</th>\n",
" <td>LINESTRING (296100.232 5038291.462, 296134.396...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>41</th>\n",
" <td>LINESTRING (296134.396 5038269.294, 296092.079...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>42</th>\n",
" <td>LINESTRING (296092.079 5038296.752, 296202.504...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>43</th>\n",
" <td>LINESTRING (296202.504 5038225.097, 296211.888...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>44</th>\n",
" <td>LINESTRING (296211.888 5038219.005, 296110.806...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>45</th>\n",
" <td>LINESTRING (296110.806 5038284.601, 296139.958...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>46</th>\n",
" <td>LINESTRING (296139.958 5038265.685, 296122.994...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>47</th>\n",
" <td>LINESTRING (296122.994 5038276.692, 296179.859...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>48</th>\n",
" <td>LINESTRING (296179.859 5038239.794, 296169.822...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>49</th>\n",
" <td>LINESTRING (296120.798 5038173.223, 296094.214...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50</th>\n",
" <td>LINESTRING (296094.214 5038190.488, 296101.892...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>51</th>\n",
" <td>LINESTRING (296101.892 5038185.502, 296113.753...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>52</th>\n",
" <td>LINESTRING (296113.753 5038177.798, 296083.454...</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
]
},
"execution_count": 72,
"metadata": {},
"output_type": "execute_result"
}
],
"execution_count": 72
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2024-06-07T16:57:39.630072Z",
"start_time": "2024-06-07T16:57:32.064632Z"
}
},
"cell_type": "code",
"source": "",
"id": "12a660194141c193",
"outputs": [],
"execution_count": 74
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2024-06-07T16:58:11.074540Z",
"start_time": "2024-06-07T16:58:11.065539Z"
}
},
"cell_type": "code",
"source": "",
"id": "f7f09f27506517e9",
"outputs": [
{
"data": {
"text/plain": [
"geopandas.geodataframe.GeoDataFrame"
]
},
"execution_count": 75,
"metadata": {},
"output_type": "execute_result"
}
],
"execution_count": 75
},
{
"metadata": {},
"cell_type": "code",
"outputs": [],
"execution_count": null,
"source": "",
"id": "30cd4fdcc0099914"
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.6"
}
},
"nbformat": 4,
"nbformat_minor": 5
}