Cách mã hóa địa chỉ địa chỉ trong Google Sheets

Dùng thử tập lệnh trên Bảng kiểm tra với dữ liệu địa chỉ mẫu. Bạn có thể nhập dữ liệu địa chỉ của riêng mình và mã hóa địa lý vào các hàng bên dưới

Bạn phải đăng nhập vào Tài khoản Google trước khi menu Mã địa lý xuất hiện

Mọi dữ liệu bạn nhập sẽ tự động bị xóa vào Chủ nhật hàng tuần lúc 4 giờ sáng theo giờ CEST, dữ liệu này không dành cho lưu trữ lâu dài

Địa chỉ nhiều cột → Vĩ độ, Kinh độ

Giờ đây, nó hỗ trợ mã hóa địa lý bằng cách sử dụng dữ liệu địa chỉ trải rộng trên nhiều cột

Cách thức hoạt động của nó là. Bạn chọn một tập hợp các cột chứa dữ liệu và quá trình mã hóa địa lý sẽ đặt dữ liệu kinh độ, vĩ độ vào hai cột ngoài cùng bên phải. Nó sẽ ghi đè lên bất kỳ dữ liệu nào trong hai cột đó

Cần cẩn thận vì nó sẽ nối tất cả các cột ngoại trừ hai cột ngoài cùng bên phải để tạo chuỗi địa chỉ

Cách mã hóa địa chỉ địa chỉ trong Google Sheets

Vĩ độ, Kinh độ → Địa chỉ gần nhất

Nó cũng hỗ trợ mã hóa địa lý ngược

Chỉ cần chọn các cột vĩ độ, kinh độ và nó sẽ đặt dữ liệu địa chỉ gần nhất vào cột ngoài cùng bên phải. Nó sẽ ghi đè lên bất kỳ dữ liệu nào trong cột đó

Cần ít quan tâm hơn vì nó sẽ tự động sử dụng hai cột ngoài cùng bên trái làm cặp kinh độ, vĩ độ

Cách mã hóa địa chỉ địa chỉ trong Google Sheets

Vĩ độ, Kinh độ → Thành phần Địa chỉ

Nó hiện hỗ trợ mã hóa địa lý ngược và chia các thành phần địa chỉ thành các cột khác nhau

Xem tab Đảo ngược thành phần trong Bảng kiểm tra

Bản đồ ô

Nó hiện hỗ trợ ánh xạ các cặp Vĩ độ, Kinh độ trong tab Ánh xạ

Thêm nó vào trang tính của riêng bạn

Bước 1. Tạo hoặc mở Google Trang tính và thêm địa chỉ vào đó

Cách mã hóa địa chỉ địa chỉ trong Google Sheets

Bước 2. Công cụ -> Trình chỉnh sửa tập lệnh

Cách mã hóa địa chỉ địa chỉ trong Google Sheets

Bước 3. Copy mã script này vào Code. trình chỉnh sửa gs, thay thế mọi thứ

Cách mã hóa địa chỉ địa chỉ trong Google Sheets

Bước 4. Tiết kiệm

Cách mã hóa địa chỉ địa chỉ trong Google Sheets

Bước 5. Tải lại trang tính

Bước 6. Chạy mã địa lý, nhấp qua cảnh báo

Đó là nó

Xử lý sự cố

  • Tôi không thấy menu Mã địa lý

    Bạn phải đăng nhập vào Tài khoản Google trước khi menu Mã địa lý xuất hiện. Người dùng ẩn danh/chưa đăng nhập sẽ không hoạt động, Chế độ ẩn danh sẽ không hoạt động

  • Nó cho tôi một loạt cảnh báo khi tôi chạy nó lần đầu tiên

    Nếu bạn đang sử dụng Bảng kiểm tra, điều này có nghĩa là tập lệnh sẽ có quyền truy cập vào dữ liệu bạn đang nhập. Đừng nhập bất cứ thứ gì bạn không muốn tôi xem, vì với tư cách là chủ sở hữu của Trang tính được chia sẻ, tôi thấy dữ liệu được đưa vào đó

    Nếu bạn đã thêm tập lệnh vào trang tính của riêng mình, điều này có nghĩa là tập lệnh sẽ có quyền truy cập vào dữ liệu bạn đang nhập. Vì bạn là chủ sở hữu Trang tính của mình nên đây không phải là vấn đề. Bạn luôn có thể kiểm tra tập lệnh bằng cách đọc mã nguồn trong kho lưu trữ này

  • Nó trả về dữ liệu vĩ độ/kinh độ bằng cách sử dụng "," thay vì ". " dấu phân cách

    Tôi không thể làm gì nhiều với các định dạng trả về, nhưng một người dùng đã báo cáo rằng việc thêm công thức mảng sau vào các cột kinh độ/vĩ độ sẽ thay đổi dấu phân cách cho chúng. =ARRAYFORMULA(SUBSTITUTE(C2:C;",";"."))

    Gần đây, tôi đã phát hiện ra một công cụ mạnh mẽ từ kênh Youtube Google Developers tuyệt vời. Tập lệnh Google Apps. Điều này sẽ cho phép bạn tích hợp Google Apps và API một cách dễ dàng. Trong bài đăng này, tôi sẽ trình bày một ví dụ về tích hợp giữa Google Sheets và Google Geocoding API

    Tôi đã thử viết một ví dụ đơn giản nhưng mạnh mẽ, thử nghiệm một trường hợp sử dụng chắc chắn sẽ hữu ích cho tôi trong tương lai. mã hóa địa lý một danh sách các địa chỉ được lấy từ bảng tính

    Mục lục

    1. Giới thiệu

    Nếu bạn chưa quen với Google App Script (giống như tôi) ở đây, bạn có thể xem hướng dẫn bằng video giới thiệu

    Một hướng dẫn khác giải thích cách tích hợp Google Trang tính với Google Maps và đặc biệt là với Google Geocode API

    Tôi đã bắt đầu từ đó và tôi đã tạo một tập lệnh để mã hóa địa lý (nghĩa là chuyển từ địa chỉ có thể đọc được của con người sang tọa độ địa lý của vị trí) một danh sách các địa chỉ được viết trong Google Trang tính

    2. Tích hợp Google Sheets với Google Geocoding API

    Để kiểm tra tập lệnh, chỉ cần tạo Bảng tính mới trong Google Drive và ghi danh sách địa chỉ vào cột đầu tiên, như thế này

    Cách mã hóa địa chỉ địa chỉ trong Google Sheets
    Một bảng tính thử nghiệm của Google

    Sau đó nhấp vào Tools > Script editor và viết mã này trong trình chỉnh sửa

    function myFunction() {
      var sheet = SpreadsheetApp.getActiveSheet();
    
      var range = sheet.getDataRange();
      var cells = range.getValues();
    
      var latitudes = [];
      var longitudes = [];
    
      for (var i = 0; i < cells.length; i++) {
        var address = cells[i][0];
        var geocoder = Maps.newGeocoder().geocode(address);
        var res = geocoder.results[0];
    
        var lat = lng = 0;
        if (res) {
          lat = res.geometry.location.lat;
          lng = res.geometry.location.lng;
        }
    
        latitudes.push([lat]);
        longitudes.push([lng]);
      }
    
      sheet.getRange('B1')
      .offset(0, 0, latitudes.length)
      .setValues(latitudes);
      sheet.getRange('C1')
      .offset(0, 0, longitudes.length)
      .setValues(longitudes);
    }
    

    Nhấp vào chạy, lưu tập lệnh có tên, cho phép tập lệnh ghi dữ liệu trên tài liệu của bạn và ta-dah, địa chỉ của bạn sẽ được mã hóa địa lý và tọa độ sẽ xuất hiện trong cột thứ hai và thứ ba

    Cách mã hóa địa chỉ địa chỉ trong Google Sheets
    Địa chỉ đã được mã hóa địa lý

    Bạn cũng có thể lưu dữ liệu khác đến từ Bộ mã hóa địa lý trong trang tính. Ví dụ: ở đây tôi cũng lưu địa chỉ được định dạng hoàn chỉnh do Bộ mã hóa địa lý trả về trong cột thứ tư

    function myFunction() {
      var sheet = SpreadsheetApp.getActiveSheet();
    
      var range = sheet.getDataRange();
      var cells = range.getValues();
    
      var latitudes = [];
      var longitudes = [];
      var formatted_addresses = [];
    
      for (var i = 0; i < cells.length; i++) {
        var address = cells[i][0];
        var geocoder = Maps.newGeocoder().geocode(address);
        var res = geocoder.results[0];
    
        var lat = lng = 0;
        var formatted_address = '';
        if (res) {
          lat = res.geometry.location.lat;
          lng = res.geometry.location.lng;
          formatted_address = res.formatted_address;
        }
    
        latitudes.push([lat]);
        longitudes.push([lng]);
        formatted_addresses.push([formatted_address]);
      }
    
      sheet.getRange('B1')
      .offset(0, 0, latitudes.length)
      .setValues(latitudes);
      sheet.getRange('C1')
      .offset(0, 0, longitudes.length)
      .setValues(longitudes);
      sheet.getRange('D1')
      .offset(0, 0, formatted_addresses.length)
      .setValues(formatted_addresses);
    }
    

    Vui lòng tham khảo để biết những dữ liệu nào khác có trong đối tượng được trả về bởi Geocoder

    3. Sự kết luận

    Trong hướng dẫn này, bạn đã học cách sử dụng API mã hóa địa lý của Google để tự động mã hóa địa chỉ địa chỉ trên tệp Google Trang tính

    Google Apps Script có thể làm được nhiều hơn là tích hợp Google Sheets và Google Geocoding API. Trong tài liệu, bạn sẽ tìm thấy tất cả các dịch vụ có thể được sử dụng trong tập lệnh của mình. Bạn có thể tích hợp GMail, Lịch Google, Tài liệu, Drive, Biểu mẫu, v.v. Bạn cũng có thể kết nối với các API công khai bên ngoài từ tập lệnh của mình