Xác định vị trí trạm vertiport trong đô thị bằng học máy không gian địa lý

Tối ưu hóa vị trí đặt vertiport (sân bay cất hạ cánh thẳng đứng cho taxi bay điện) tại các vùng đô thị có tốc độ phát triển nhanh đặt ra bài toán hóc búa: làm thế nào để chọn điểm tối ưu khi có dữ liệu dân số, hạ tầng đường bộ và không phận nhưng thiếu dữ liệu nhật trình di chuyển thực tế của người dân? Tại bang Lagos (Nigeria), nếu áp dụng phương pháp trực giác là chuyển đổi raster mật độ dân số thành các điểm có trọng số rồi chạy thuật toán K-means để tìm 100 vị trí tập trung đông dân nhất, kết quả thu được sẽ có tới 11 vị trí không thể triển khai: một số nằm gọn trong vùng bảo vệ tĩnh không của Sân bay Quốc tế Murtala Muhammed, số khác nằm giữa đầm lầy hoặc mặt nước.

So sánh kết quả phân cụm chỉ dựa trên dân số (trái) và sau khi áp dụng các bộ lọc không gian khắt khe (phải).
So sánh kết quả phân cụm chỉ dựa trên dân số (trái) và sau khi áp dụng các bộ lọc không gian khắt khe (phải).

Mô hình thuật toán không sai sót ngẫu nhiên; nó hoàn thành chính xác hàm mục tiêu được giao: cực đại hóa mức độ tập trung dân số. Tuy nhiên, mật độ dân cư đơn thuần là một mục tiêu chưa đầy đủ. Nó không phản ánh khả năng tiếp cận mặt đất, tính khả thi xây dựng hay tiêu chuẩn an toàn hàng không. Khoảng cách giữa nơi người dân sinh sống và nơi có thể xây dựng vertiport chính là vấn đề kỹ thuật cốt lõi cần giải quyết.

Khung kiến trúc 4 quyết định

Quy trình phân tích không gian địa lý giải quyết bài toán thông qua chuỗi 4 quyết định có thứ tự chặt chẽ:

  • Ước lượng nhu cầu: Sử dụng bề mặt raster dân số làm đại diện (proxy) cho nhu cầu di chuyển tiềm năng khi chưa có ma trận O-D (Origin-Destination).
  • Độ tiếp cận hạ tầng (Accessibility Score): Gia tăng trọng số cho các vị trí gần trục đường chính và các đầu mối giao thông công cộng hiện hữu.
  • Vùng loại trừ cứng (Hard Exclusions): Loại bỏ tuyệt đối các thực thể địa lý không thể xây dựng (vùng nước, đất ngập nước, rừng ngập mặn) và các vùng đệm an toàn hàng không/quân sự.
  • Phân cụm và xếp hạng: Áp dụng thuật toán K-means trên không gian tọa độ thực (mét) thay vì tọa độ địa lý (độ), sau đó tinh chỉnh khoảng cách tối thiểu giữa các trạm và xếp hạng danh sách cuối cùng.
Mạng lưới 100 vị trí vertiport tiềm năng sau khi tích hợp toàn diện 4 quyết định quy hoạch không gian.
Mạng lưới 100 vị trí vertiport tiềm năng sau khi tích hợp toàn diện 4 quyết định quy hoạch không gian.

Thứ tự thực thi mang tính quyết định: thuật toán phân cụm rất mạnh trong việc tìm điểm hội tụ mật độ nhưng hoàn toàn không có khả năng tự suy luận các ràng buộc pháp lý, quyền sở hữu đất, rủi ro ngập lụt hay vùng cấm bay. Mọi ràng buộc vật lý phải được mô hình hóa tường minh trước khi đưa vào thuật toán tối ưu.

Ranh giới khu vực nghiên cứu và bề mặt raster dân số nguyên bản của bang Lagos.
Ranh giới khu vực nghiên cứu và bề mặt raster dân số nguyên bản của bang Lagos.

Dữ liệu đầu vào và giới hạn mô hình

Để thiết lập đường ống xử lý chuẩn hóa, hệ thống sử dụng các nguồn dữ liệu không gian mở:

  • Ranh giới hành chính: Trích xuất từ HDX nhằm giới hạn phạm vi tính toán.
  • Mật độ dân số: Dữ liệu dạng raster từ GRID3. Mỗi ô lưới đại diện cho một lượng cư dân ước tính.
  • Lớp phủ bề mặt (Land Cover): Dữ liệu ESA WorldCover độ phân giải 10m dùng để phát hiện và loại bỏ mặt nước, đầm lầy, rừng ngập mặn.
  • Hạ tầng giao thông: Trục đường chính, đường sắt, bến phà, trạm xe buýt nhanh (BRT) lấy từ OpenStreetMap thông qua giao thức truy vấn Overpass API.
  • Vùng tĩnh không và an ninh: Vùng đệm hình học (buffer) xung quanh các sân bay quốc tế và căn cứ quân sự.
Kết quả thử nghiệm ban đầu: 11 trên 100 điểm rơi vào vùng nước hoặc vùng đệm an toàn sân bay.
Kết quả thử nghiệm ban đầu: 11 trên 100 điểm rơi vào vùng nước hoặc vùng đệm an toàn sân bay.
Quy trình xử lý dữ liệu không gian gồm 8 bước áp dụng chuẩn hóa cho mọi đô thị.
Quy trình xử lý dữ liệu không gian gồm 8 bước áp dụng chuẩn hóa cho mọi đô thị.

Hiện thực hóa đường ống phân tích 8 bước

Bước 1 và 2: Chuyển đổi raster dân số sang tập điểm nhu cầu thực

Một lỗi phổ biến trong xử lý dữ liệu địa không gian là gán dân số vào tâm phường/xã rồi tạo điểm ngẫu nhiên xung quanh (jittering). Phương pháp chuẩn hóa yêu cầu giữ nguyên bản chất thực nghiệm: chuyển đổi từng pixel hợp lệ của tệp raster thành một điểm không gian mang giá trị dân số thực tế, không nội suy giả lập.

Trích xuất trực tiếp tọa độ và trọng số dân số từ từng pixel của dữ liệu raster GRID3.
Trích xuất trực tiếp tọa độ và trọng số dân số từ từng pixel của dữ liệu raster GRID3.
def load_population_points(paths: Paths, config: dict, boundary: gpd.GeoDataFrame) -> pd.DataFrame:
    """Chuyển đổi từng pixel raster hợp lệ thành điểm nhu cầu (lon, lat, population).
    Không jittering: mỗi điểm là một pixel thực nghiệm từ raster nguồn."""
    raster_path = paths.root / config["population_raster"]
    with rasterio.open(raster_path) as src:
        boundary_reproj = boundary.to_crs(src.crs)
        geoms = [g.__geo_interface__ for g in boundary_reproj.geometry]
        clipped, transform = mask(src, geoms, crop=True, nodata=src.nodata)
        band = clipped[0]
        rows, cols = np.where(band != src.nodata)
        pop = band[rows, cols]
        xs, ys = rasterio.transform.xy(transform, rows, cols)
    df = pd.DataFrame({"lon": xs, "lat": ys, "population": pop})
    return df[df["population"] > 0].reset_index(drop=True)

Tại Lagos, hàm này tạo ra 133.490 điểm nhu cầu đại diện cho khoảng 9,75 triệu dân cư. Cùng hàm này chạy trên địa bàn Nairobi tạo ra 45.942 điểm tương ứng 5,38 triệu dân.

Bước 3: Tích hợp chỉ số tiếp cận hạ tầng giao thông

Một điểm có 50.000 dân nhưng cô lập hoàn toàn về giao thông bộ sẽ có giá trị vận hành thấp hơn một điểm có 40.000 dân nằm cạnh ga đường sắt đô thị. Trọng số của từng điểm nhu cầu được nhân thêm một hệ số điều chỉnh dựa trên khoảng cách Euclidean tới hạ tầng gần nhất:

Bản đồ tính điểm tiếp cận dựa trên khoảng cách tới trục đường chính và các đầu mối giao thông công cộng.
Bản đồ tính điểm tiếp cận dựa trên khoảng cách tới trục đường chính và các đầu mối giao thông công cộng.
def calculate_accessibility_multiplier(
    points_gdf: gpd.GeoDataFrame,
    transit_gdf: gpd.GeoDataFrame,
    max_dist_meters: float = 2000.0,
    boost_factor: float = 1.5
) -> np.ndarray:
    """Tính hệ số nhân khả năng tiếp cận dựa trên khoảng cách tới trạm trung chuyển."""
    # Chuyển đổi sang hệ tọa độ phẳng (Projected CRS) UTM
    tree = cKDTree(np.c_[transit_gdf.geometry.x, transit_gdf.geometry.y])
    distances, _ = tree.query(np.c_[points_gdf.geometry.x, points_gdf.geometry.y])
    
    # Trọng số giảm dần theo khoảng cách đến ngưỡng tối đa
    multiplier = 1.0 + (boost_factor - 1.0) * np.clip(1.0 - (distances / max_dist_meters), 0, 1)
    return multiplier

Bước 4 và 5: Thiết lập lớp lọc không gian loại trừ

Các polygon loại trừ bao gồm vùng nước, đất ngập nước được vector hóa từ raster phân loại đất ESA WorldCover, kết hợp với các vùng đệm hình học (buffer) bán kính cố định xung quanh sân bay thương mại và căn cứ quân sự.

Lớp đệm loại trừ nghiêm ngặt đối với mặt nước, rừng ngập mặn, sân bay quốc tế và căn cứ quân sự.
Lớp đệm loại trừ nghiêm ngặt đối với mặt nước, rừng ngập mặn, sân bay quốc tế và căn cứ quân sự.

Mọi điểm nhu cầu rơi vào bên trong bất kỳ polygon loại trừ nào đều bị loại bỏ dứt điểm bằng phép toán giao cắt không gian (spatial join) trước khi đưa vào mô hình học máy.

Bước 6 và 7: Phân cụm K-means có trọng số trên hệ tọa độ chiếu

Một sai số nghiêm trọng khi áp dụng K-means trên dữ liệu GIS là tính toán trực tiếp trên độ kinh/vĩ (WGS84). Tại các vĩ độ khác nhau, khoảng cách tương ứng với 1 độ kinh độ sẽ biến thiên đáng kể. Toàn bộ tập điểm bắt buộc phải chuyển sang Hệ tọa độ phép chiếu UTM cục bộ (ví dụ: EPSG:32631 cho Lagos) trước khi áp dụng thuật toán gom cụm.

Phân bổ 100 cụm vị trí vertiport sử dụng thuật toán K-means có trọng số.
Phân bổ 100 cụm vị trí vertiport sử dụng thuật toán K-means có trọng số.

Thuật toán MiniBatchKMeans hoặc KMeans từ thư viện scikit-learn nhận tham số sample_weight chính là tích số giữa mật độ dân số và chỉ số tiếp cận giao thông đã tính toán:

from sklearn.cluster import KMeans

def cluster_weighted_demand(gdf_projected: gpd.GeoDataFrame, n_clusters: int = 100) -> np.ndarray:
    coords = np.c_[gdf_projected.geometry.x, gdf_projected.geometry.y]
    weights = gdf_projected["weighted_demand"].values
    
    kmeans = KMeans(n_clusters=n_clusters, random_state=42, n_init=10)
    kmeans.fit(coords, sample_weight=weights)
    return kmeans.cluster_centers_

Bước 8: Khử chồng lấn và xếp hạng

Tâm cụm sau khi tính toán có thể nằm quá sát nhau hoặc rơi vào rìa của vùng loại trừ do hiệu ứng trung bình hình học. Thuật toán kiểm tra hậu xử lý sẽ dịch chuyển tâm cụm về điểm nhu cầu hợp lệ gần nhất (nearest valid neighbor) và áp dụng thuật toán khử trùng lặp không gian (Non-Maximum Suppression) để đảm bảo khoảng cách tối thiểu giữa hai trạm bất kỳ không nhỏ hơn ngưỡng $d_{\min}$ (ví dụ: 1.500m).

Điều chỉnh khoảng cách tối thiểu giữa các trạm liền kề nhằm tránh chồng lấn vùng phục vụ.
Điều chỉnh khoảng cách tối thiểu giữa các trạm liền kề nhằm tránh chồng lấn vùng phục vụ.

Phân tích độ nhạy và đánh giá quy mô mạng lưới

Con số 100 vị trí thử nghiệm ban đầu cần được kiểm chứng thông qua quét độ nhạy (sensitivity sweep). Khi tăng số lượng vertiport từ 10 lên 150, tổng lượng nhu cầu được thu nạp (captured demand) trong bán kính phục vụ 2km tăng theo đường cong lợi suất giảm dần (diminishing returns).

Biểu đồ phân tích độ nhạy nhằm xác định số lượng trạm tối ưu trên toàn mạng lưới.
Biểu đồ phân tích độ nhạy nhằm xác định số lượng trạm tối ưu trên toàn mạng lưới.

Điểm uốn (elbow point) của đồ thị cho thấy cấu trúc mạng lưới từ 35 đến 50 vị trí mang lại hiệu quả chi phí tối ưu nhất cho giai đoạn khai thác đầu tiên, bao phủ hơn 68% nhu cầu trọng số mà không tạo ra hiện tượng tự triệt tiêu thị phần giữa các trạm lân cận.

Thử nghiệm tái lập toàn bộ pipeline trên địa bàn Nairobi, Kenya mà không cần sửa đổi mã nguồn.
Thử nghiệm tái lập toàn bộ pipeline trên địa bàn Nairobi, Kenya mà không cần sửa đổi mã nguồn.

Toàn bộ kiến trúc dữ liệu và logic thực thi được cấu hình thông qua tệp JSON độc lập, cho phép áp dụng đồng nhất trên bất kỳ đô thị nào mà không cần viết lại mã nguồn nền tảng. Khi triển khai nghiên cứu khả thi thực tế, lớp đệm hình học giả định cần được thay thế bằng dữ liệu chướng ngại vật hàng không chính thức và bản đồ mô hình hóa nguy cơ ngập lụt thủy văn chi tiết.

Nguồn: Towards Data Science

LIÊN HỆ TƯ VẤN CÁC DỊCH VỤ AI
Hỗ trợ tư vấn, đào tạo và chuyển giao giải pháp AI cho cá nhân, doanh nghiệp và tổ chức.
Chia sẻ tới bạn bè và gia đình
Chat Zalo Chat Zalo
Gọi ngay Chat