Loại dữ liệu nào mà một cặp tọa độ kinh độ thường sử dụng trong python?
Phân tích không gian địa lý cho phép bạn phân tích dữ liệu địa lý trong BigQuery. Dữ liệu địa lý còn được gọi là dữ liệu không gian địa lý Show
Các loại đối tượng phổ biến khi làm việc với dữ liệu không gian địa lý bao gồm:
Trong BigQuery, loại dữ liệu đại diện cho một giá trị hình học hoặc bộ sưu tập hình học. Để thể hiện các đối tượng không gian, hãy tạo một bảng có cột 8 cho hình học cùng với các cột bổ sung cho các thuộc tính. Mỗi hàng của bảng là một đối tượng không gian và toàn bộ bảng đại diện cho một bộ sưu tập đối tượng không gianKiểu dữ liệu 8 mô tả một tập hợp điểm trên bề mặt Trái đất. Tập hợp điểm là tập hợp các điểm, đường thẳng và đa giác trên hình cầu tham chiếu, với các cạnh trắc địa. Bạn có thể sử dụng kiểu dữ liệu 8 bằng cách gọi một trong các hàm địa lý SQL chuẩn của GoogleĐang tải dữ liệu không gian địa lýCác điểm đơn lẻ trên Trái đất có thể được mô tả chỉ bằng một cặp kinh độ, vĩ độ. Ví dụ: bạn có thể tải tệp CSV chứa các giá trị kinh độ và vĩ độ, sau đó sử dụng hàm để chuyển đổi chúng thành giá trị 8Đối với các khu vực địa lý phức tạp hơn, bạn có thể tải các định dạng dữ liệu không gian địa lý sau vào cột 8
Đang tải dữ liệu WKT hoặc WKBWKT là định dạng văn bản để mô tả các hình dạng hình học riêng lẻ bằng cách sử dụng điểm, đường, đa giác có lỗ tùy chọn hoặc tập hợp các điểm, đường hoặc đa giác. WKB là phiên bản nhị phân của định dạng WKT. WKB có thể được mã hóa hex cho các định dạng không hỗ trợ dữ liệu nhị phân, chẳng hạn như JSON Ví dụ: phần sau xác định một điểm trong WKT
Để mô tả một tính năng không gian, WKT thường được nhúng trong định dạng tệp vùng chứa, chẳng hạn như tệp CSV hoặc trong bảng cơ sở dữ liệu. Hàng tệp hoặc hàng bảng thường tương ứng với tính năng không gian. Toàn bộ tệp hoặc toàn bộ bảng tương ứng với bộ sưu tập tính năng. Để tải dữ liệu WKT vào BigQuery, hãy cung cấp lược đồ chỉ định cột 8 cho dữ liệu không gian địa lýGhi chú. Bạn không thể sử dụng tính năng tự động phát hiện lược đồ để tải dữ liệu WKT dưới dạng giá trị 8. Nếu tính năng tự động phát hiện được bật thì BigQuery sẽ tải dữ liệu dưới dạng giá trị 7Ví dụ: bạn có thể có tệp CSV chứa dữ liệu sau
Bạn có thể tải tệp này bằng cách chạy lệnh 8 công cụ dòng lệnh 9________số 8_______Để biết thêm thông tin về tải dữ liệu trong BigQuery, hãy xem Giới thiệu về tải dữ liệu Để truyền dữ liệu WKT đến bảng BigQuery hiện có với cột 8, hãy tuần tự hóa dữ liệu dưới dạng chuỗi trong yêu cầu APIChạy lệnh
con trănTrước khi dùng thử mẫu này, hãy làm theo hướng dẫn thiết lập Python trong hướng dẫn bắt đầu nhanh BigQuery bằng thư viện máy khách. Để biết thêm thông tin, hãy xem tài liệu tham khảo API BigQuery Python . Xem trên GitHub
Để biết thêm thông tin về truyền dữ liệu trong BigQuery, hãy xem Truyền dữ liệu vào BigQuery Bạn cũng có thể chuyển đổi chuỗi văn bản WKT thành giá trị 8 bằng cách sử dụng hàmĐang tải dữ liệu GeoJSONGeoJSON là một định dạng dựa trên JSON cho hình học và các tính năng không gian. Ví dụ: phần sau xác định một điểm trong GeoJSON
Dữ liệu GeoJSON có thể chứa bất kỳ loại đối tượng nào sau đây
Có hai cách để tải dữ liệu GeoJSON vào BigQuery
Đang tải các tệp GeoJSON được phân tách bằng dòng mớiTệp GeoJSON được phân tách bằng dòng mới chứa danh sách các đối tượng tính năng GeoJSON, mỗi đối tượng trên một dòng trong tệp. Đối tượng tính năng GeoJSON là đối tượng JSON có các thành viên sau
Nếu đối tượng tính năng chứa các thành phần khác không được liệt kê ở đây thì BigQuery sẽ chuyển đổi trực tiếp các thành phần đó thành các cột trong bảng Bạn có thể tải tệp GeoJSON được phân tách bằng dòng mới bằng cách sử dụng lệnh 6 của công cụ dòng lệnh 8, như saubq load \ --source_format=NEWLINE_DELIMITED_JSON \ --json_extension=GEOJSON \ --autodetect \ DATASET.TABLE \ FILE_PATH_OR_URI Thay thế sau đây
Ví dụ trước cho phép tự động phát hiện giản đồ. Để kiểm soát nhiều hơn cách BigQuery chuyển đổi các giá trị bên trong đối tượng 1, bạn có thể cung cấp một lược đồ rõ ràng thay thế. Để biết thêm thông tin, xem. Nếu bạn cung cấp một lược đồ rõ ràng, thì đừng bao gồm cột 5 cấp cao nhất trong định nghĩa lược đồ. Đối với mỗi thành viên của thành viên 1, hãy xác định các cột riêng biệt, không phải là một cột lồng nhauTheo định nghĩa của RFC 7946, cấu trúc dữ liệu GeoJSON hoàn chỉnh là một đối tượng JSON duy nhất. Nhiều hệ thống xuất dữ liệu GeoJSON dưới dạng một đối tượng 3 chứa tất cả các dạng hình học. Để tải định dạng này vào BigQuery, bạn phải chuyển đổi tệp bằng cách xóa đối tượng 3 cấp gốc và chia các đối tượng tính năng riêng lẻ thành các dòng riêng biệt. Ví dụ: lệnh sau sử dụng công cụ dòng lệnh 5 để chia tệp GeoJSON thành định dạng được phân cách bằng dòng mới
Tạo bảng bên ngoài từ tệp GeoJSON được phân tách bằng dòng mớiBạn có thể truy vấn tệp GeoJSON được phân tách bằng dòng mới được lưu trữ trong Bộ nhớ đám mây bằng cách tạo bảng bên ngoài. Để tạo bảng bên ngoài, hãy sử dụng câu lệnh DDL. Trong mệnh đề 7, đặt tùy chọn 8 thành 9 và tùy chọn bq load \ --source_format=NEWLINE_DELIMITED_JSON \ --json_extension=GEOJSON \ --autodetect \ DATASET.TABLE \ FILE_PATH_OR_URI0 thành bq load \ --source_format=NEWLINE_DELIMITED_JSON \ --json_extension=GEOJSON \ --autodetect \ DATASET.TABLE \ FILE_PATH_OR_URI1 Ví dụ
Đang tải dữ liệu hình học GeoJSONPhân tích không gian địa lý hỗ trợ tải các đối tượng hình học GeoJSON riêng lẻ được nhúng dưới dạng chuỗi văn bản trong các loại tệp khác. Ví dụ: bạn có thể tải tệp CSV trong đó một trong các cột chứa đối tượng hình học GeoJSON Để tải loại dữ liệu GeoJSON này vào BigQuery, hãy cung cấp lược đồ chỉ định cột 8 cho dữ liệu GeoJSON. Bạn phải cung cấp lược đồ theo cách thủ công. Mặt khác, nếu tính năng tự động phát hiện được bật thì BigQuery sẽ tải dữ liệu dưới dạng giá trị 7Phân tích không gian địa lý không hỗ trợ tải các đối tượng tính năng GeoJSON hoặc bộ sưu tập tính năng bằng cách sử dụng phương pháp này. Nếu bạn cần tải các đối tượng tính năng, thì hãy cân nhắc sử dụng các tệp GeoJSON được phân tách bằng dòng mới Để truyền dữ liệu GeoJSON tới bảng BigQuery hiện có với cột 8, hãy tuần tự hóa dữ liệu dưới dạng chuỗi trong yêu cầu APIChạy lệnh
con trănTrước khi dùng thử mẫu này, hãy làm theo hướng dẫn thiết lập Python trong hướng dẫn bắt đầu nhanh BigQuery bằng thư viện máy khách. Để biết thêm thông tin, hãy xem tài liệu tham khảo API BigQuery Python . Xem trên GitHub 0Bạn cũng có thể chuyển đổi một đối tượng hình học GeoJSON thành giá trị 8 bằng cách sử dụng hàm. Ví dụ: bạn có thể lưu trữ hình học dưới dạng giá trị 7, sau đó chạy truy vấn gọi ______32_______8Hệ tọa độ và các cạnhTrong phân tích không gian địa lý, điểm là các vị trí trên bề mặt của hình cầu WGS84, được biểu thị bằng kinh độ và vĩ độ trắc địa. Một cạnh là một trắc địa hình cầu giữa hai điểm cuối. (Tức là các cạnh là đường đi ngắn nhất trên mặt cầu. ) Định dạng WKT không cung cấp hệ tọa độ. Khi tải dữ liệu WKT, phân tích không gian địa lý giả định dữ liệu sử dụng tọa độ WGS84 với các cạnh hình cầu. Đảm bảo dữ liệu nguồn của bạn khớp với hệ tọa độ đó, trừ khi các khu vực địa lý đủ nhỏ để có thể bỏ qua sự khác biệt giữa các cạnh hình cầu và cạnh phẳng GeoJSON rõ ràng sử dụng tọa độ WGS84 với các cạnh phẳng. Khi tải dữ liệu GeoJSON, phân tích không gian địa lý chuyển đổi các cạnh phẳng thành các cạnh hình cầu. Phân tích không gian địa lý thêm các điểm bổ sung vào đường khi cần thiết để chuỗi các cạnh được chuyển đổi vẫn nằm trong phạm vi 10 mét so với đường ban đầu. Quá trình này được gọi là tessellation hoặc mật độ không đồng nhất. Bạn không thể trực tiếp kiểm soát quá trình tessellation Để tải các khu vực địa lý có cạnh hình cầu, hãy sử dụng WKT. Để tải các vùng địa lý có cạnh phẳng, thường được gọi là hình học, cách đơn giản nhất là sử dụng GeoJSON. Tuy nhiên, nếu dữ liệu hình học của bạn đã ở định dạng WKT, một tùy chọn khác là tải dữ liệu dưới dạng loại 7 rồi sử dụng hàm để chuyển đổi thành giá trị 8. Đặt tham số 4 thành 5 để diễn giải dữ liệu dưới dạng phẳngKhi chọn định dạng trao đổi, hãy nhớ hiểu hệ tọa độ được sử dụng bởi dữ liệu nguồn của bạn. Hầu hết các hệ thống đều hỗ trợ rõ ràng việc phân tích cú pháp địa lý (trái ngược với hình học) từ WKT hoặc nếu không thì chúng giả sử các cạnh phẳng Tọa độ của bạn phải là kinh độ trước, vĩ độ thứ hai. Nếu địa lý có bất kỳ phân đoạn hoặc cạnh dài nào thì chúng phải được sắp xếp lại, bởi vì phân tích không gian địa lý hiểu chúng là trắc địa hình cầu, có thể không tương ứng với hệ tọa độ nơi dữ liệu của bạn bắt nguồn Định hướng đa giácTrên một mặt cầu, mọi đa giác đều có một đa giác phụ. Ví dụ: một đa giác mô tả các lục địa của Trái đất sẽ có một đa giác bổ sung mô tả các đại dương của Trái đất. Vì hai đa giác được mô tả bằng các vòng biên giống nhau nên cần có các quy tắc để giải quyết sự mơ hồ xung quanh việc đa giác nào được mô tả bằng một chuỗi WKT nhất định Khi bạn tải các chuỗi WKT và WKB từ tệp hoặc bằng cách sử dụng tính năng nhập trực tuyến, phân tích không gian địa lý giả định các đa giác trong đầu vào được định hướng như sau. Nếu bạn đi qua ranh giới của đa giác theo thứ tự các đỉnh đầu vào, phần bên trong của đa giác nằm bên trái. Phân tích không gian địa lý sử dụng cùng một quy tắc khi xuất các đối tượng địa lý sang chuỗi WKT và WKB Nếu bạn sử dụng hàm để chuyển đổi chuỗi WKT thành giá trị 8, thì tham số 8 sẽ chỉ định cách hàm xác định đa giác
Vì các chuỗi GeoJSON được xác định trên bản đồ phẳng, hướng có thể được xác định mà không có sự mơ hồ, ngay cả khi đầu vào không tuân theo quy tắc hướng được xác định trong đặc tả định dạng GeoJSON, RFC 7946 Xử lý dữ liệu không gian được định dạng không đúngKhi tải dữ liệu không gian từ các công cụ khác vào BigQuery, bạn có thể gặp lỗi chuyển đổi do dữ liệu WKT hoặc GeoJSON không hợp lệ. Ví dụ: một lỗi như 1 chỉ ra rằng đa giác có các đỉnh trùng lặp (ngoài đỉnh đầu tiên và đỉnh cuối cùng)Để tránh các vấn đề về định dạng, bạn có thể sử dụng một chức năng tạo đầu ra tuân thủ tiêu chuẩn. Ví dụ: khi bạn xuất dữ liệu từ PostGIS, bạn có thể sử dụng chức năng PostGIS 2 để chuẩn hóa đầu ra. Ngoài ra, nhập dữ liệu của bạn dưới dạng văn bản và sau đó chuyển đổi nó bằng cách gọi hoặc với tham số 5. Khi 5 là 5, các chức năng này sẽ cố gắng sửa chữa các đa giác không hợp lệĐể tìm hoặc bỏ qua dữ liệu được định dạng không đúng, hãy sử dụng tiền tố hàm 8 để xuất dữ liệu có vấn đề. Ví dụ: truy vấn sau sử dụng tiền tố 8 để truy xuất dữ liệu không gian được định dạng không đúng 1Hạn chếPhân tích không gian địa lý không hỗ trợ các tính năng sau ở định dạng không gian địa lý
Xem và để biết các ràng buộc cụ thể đối với các định dạng đầu vào GeoJson và WKT Chuyển đổi dữ liệu không gian địa lýNếu bảng của bạn chứa các cột riêng biệt cho kinh độ và vĩ độ, bạn có thể chuyển đổi các giá trị thành địa lý bằng cách sử dụng các hàm địa lý SQL chuẩn của Google, chẳng hạn như. Ví dụ: nếu bạn có hai cột 3 cho kinh độ và vĩ độ, bạn có thể tạo cột địa lý bằng truy vấn sau 2BigQuery có thể chuyển đổi các chuỗi WKT và GeoJSON thành các loại địa lý. Nếu dữ liệu của bạn ở định dạng khác, chẳng hạn như Shapefiles, hãy sử dụng công cụ bên ngoài để chuyển đổi dữ liệu sang định dạng tệp đầu vào được hỗ trợ, chẳng hạn như tệp CSV, với các cột 8 được mã hóa dưới dạng chuỗi WKT hoặc GeoJSONPhân vùng và phân cụm dữ liệu không gian địa lýBạn có thể phân vùng và nhóm các bảng có chứa 8 cột. Bạn có thể sử dụng cột 8 làm cột phân cụm, nhưng bạn không thể sử dụng cột 8 làm cột phân vùngNếu bạn lưu trữ dữ liệu 8 trong bảng và truy vấn của bạn lọc dữ liệu bằng cách sử dụng vị từ không gian, hãy đảm bảo rằng bảng được nhóm theo cột 8. Điều này thường cải thiện hiệu suất truy vấn và có thể giảm chi phí. Một vị từ không gian gọi một hàm địa lý boolean và có một cột 8 là một trong các đối số. Mẫu sau đây cho thấy một vị từ không gian sử dụng hàm 01 3Sử dụng THAM GIA với dữ liệu không gianTham gia không gian là tham gia của hai bảng có chức năng địa lý vị ngữ trong mệnh đề 02. Ví dụ 4Các liên kết không gian hoạt động tốt hơn khi dữ liệu địa lý của bạn được duy trì. Ví dụ trên tạo các giá trị địa lý trong truy vấn. Việc lưu trữ các giá trị địa lý trong bảng BigQuery sẽ hiệu quả hơn Ví dụ: truy vấn sau truy xuất các cặp kinh độ, vĩ độ và chuyển đổi chúng thành các điểm địa lý. Khi chạy truy vấn này, bạn chỉ định một bảng đích mới để lưu kết quả truy vấn 5BigQuery triển khai THAM GIA không gian được tối ưu hóa cho các toán tử INNER THAM GIA và CHÉO THAM GIA với các hàm vị từ SQL chuẩn của Google sau đây Tham gia không gian không được tối ưu hóa
THAM GIA sử dụng vị từ 01 chỉ được tối ưu hóa khi tham số khoảng cách là một biểu thức không đổiXuất dữ liệu không gianKhi bạn xuất dữ liệu không gian từ BigQuery, giá trị cột 8 luôn được định dạng là chuỗi WKT. Để xuất dữ liệu ở định dạng GeoJSON, hãy sử dụng chức năngNếu các công cụ bạn đang sử dụng để phân tích dữ liệu đã xuất không hiểu loại dữ liệu 8, thì bạn có thể chuyển đổi các giá trị cột thành chuỗi bằng cách sử dụng hàm địa lý chẳng hạn như hoặc. Phân tích không gian địa lý thêm các điểm bổ sung vào đường khi cần thiết để chuỗi các cạnh được chuyển đổi vẫn nằm trong phạm vi 10 mét so với đường trắc địa ban đầuVí dụ: truy vấn sau sử dụng 13 để chuyển đổi các giá trị GeoJSON thành chuỗi 6Dữ liệu kết quả sẽ giống như sau 7Dòng GeoJSON có hai điểm bổ sung. Phân tích không gian địa lý thêm các điểm này để đường GeoJSON theo sát đường dẫn giống như đường ban đầu trên mặt đất Loại dữ liệu nên tọa độ là gì?Tọa độ địa lý là loại dữ liệu XDM tiêu chuẩn mô tả tọa độ địa lý của một địa điểm.
Vĩ độ là loại dữ liệu nào?Dữ liệu số liên tục lấy bất kỳ giá trị nào trong phạm vi cho phép, theo đó phạm vi có thể là hữu hạn hoặc vô hạn. Mặc dù Vĩ độ nằm trong một phạm vi hữu hạn, nhưng chúng có thể có bất kỳ giá trị nào, với bất kỳ mức độ cụ thể nào (hoặc vị trí thập phân). Vì vậy, vĩ độ, phải là Dữ liệu số liên tục.
Loại kiểu dữ liệu nào là vị trí?Còn được gọi là thông tin địa lý hoặc dữ liệu không gian địa lý, dữ liệu vị trí đề cập đến thông tin liên quan đến các đối tượng hoặc thành phần có trong không gian địa lý hoặc đường chân trời. Có hai loại dữ liệu vị trí cơ bản. dữ liệu vectơ và dữ liệu raster . |