Những đơn vị nào được sử dụng bởi các hàm GeoPandas / Shapely diện tích và khoảng cách?


13

nó trông giống như một câu hỏi ngớ ngẩn, nhưng tôi không thể tìm thấy câu trả lời rõ ràng về điều đó: đơn vị nào geopandas / sử dụng hình dạng tính toán khoảng cách / diện tích giữa các đối tượng?

Câu trả lời:


15

Shapely sử dụng một hệ thống mặt phẳng cartesian để tính toán hình học (khoảng cách = khoảng cách euclide)

Shapely không hỗ trợ chuyển đổi hệ thống tọa độ. Tất cả các hoạt động trên hai hoặc nhiều tính năng đều cho rằng các tính năng tồn tại trong cùng mặt phẳng Cartesian.

GeoPandas sử dụng Fiona để đọc shapefiles (và những người khác) và Pyproj cho các phép biến đổi bản đồ.

Hệ thống tham chiếu tọa độ (CRS) của dữ liệu vectơ của bộ sưu tập được truy cập thông qua thuộc tính crs chỉ đọc.

import fiona
c = fiona.open("test.shp")
print c.crs['units']
m

Đơn vị để tính khoảng cách / diện tích giữa các đối tượng với Shapely là mét trong trường hợp này.

Điều này giống với GeoPandas

import geopandas as gp
df = gp.GeoDataFrame.from_file('test.shp')
print df.crs['units']
m

Điều đó có nghĩa là nếu bạn làm việc với crs.unit = độ (ví dụ WGS84) thì tất cả các phép tính đều sai. Trước tiên, bạn phải từ chối lớp của bạn ( Làm cách nào để chuyển đổi phép chiếu Eastings và Northings sang WSG84 trong geopandas? )


1
Có điều gì thay đổi khi bạn tải từ PostGIS thay thế? Tôi đang đặt tọa độ làm đối số khi gọi read_postgiskhung dữ liệu kết quả chỉ có thuộc tính crs, đó là một chuỗi. Nó không có thuộc tính crs['units']; cố gắng yêu cầu kết quả đó trong TypeError.
kuanb

3

Bất kỳ đơn vị nào được đại diện bởi các tọa độ trong hình học của bạn.

Hình dạng hình học là Cartesian và không có giả định về Lon / Lat hoặc bất cứ điều gì khác.


0

Đối với Geopandas, nó phụ thuộc vào Hệ thống tham chiếu tọa độ được chỉ định cho GeoDataFrame.

Đối với hình dạng của nó trong cùng một đơn vị của mặt phẳng cartes, hình dạng không hỗ trợ nguồn CRS .

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.