Làm cách nào tôi có thể chuyển đổi tọa độ địa từ thành tọa độ địa lý mà không phải tự mình làm toán?


10

Tôi có một số dữ liệu trong tọa độ địa từ; nghĩa là, chúng là vĩ độ và kinh độ, nhưng liên quan đến cực bắc từ tính ở Canada chứ không phải là cực bắc địa lý. Như bạn có thể đoán, tôi muốn kết hợp chúng với dữ liệu khác trong các hệ tọa độ khác.

(Dữ liệu có nguồn gốc là một tính toán của hình bầu dục cực quang; tức là, chúng có nguồn gốc từ địa từ và không có nguồn địa lý nào tôi có thể tham khảo, ngay cả về nguyên tắc.)

Dữ liệu sẽ được lưu trữ trong PostGIS.

Cách dễ dàng để làm điều này là tìm mã EPSG cho hệ tọa độ địa từ, gắn thẻ dữ liệu với mã đó và sau đó mọi thứ đều được xử lý một cách kỳ diệu vào bất cứ điều gì tôi cần vào lúc đó. Tuy nhiên, tôi không thể tìm thấy bất kỳ mã EPSG nào trên spatialreference.org có chứa từ trường hoặc từ tính . Nhiều tìm kiếm Google cũng không có gì.

Đối với mức độ chính xác tôi cần, bất kỳ hệ tọa độ vĩ độ / kinh độ nào (ví dụ, WGS84) được sửa đổi để có một cực bắc khác nhau là đủ tốt. Vì vậy, nếu có một cách dễ dàng để xác định một hệ tọa độ như vậy và tải nó vào PostGIS, điều đó cũng sẽ ổn.

Làm rõ

Ví dụ: giả sử thay vì chuyển đổi từ tọa độ địa từ sang địa lý, tôi chỉ đơn giản muốn chuyển đổi từ UTM 15N sang WGS84. Tôi có thể lưu đối tượng UTM vào PostGIS chưa được sửa đổi và gắn thẻ nó với mã EPSG 26915 . Sau đó, khi tôi thực hiện một truy vấn, tôi có thể nói với PostGIS, "vui lòng trả lại kết quả bằng mã EPSG 4326 " và PostGIS sẽ tự động chuyển đổi thành WGS84.

Tương tự, tôi muốn gắn thẻ dữ liệu địa từ với một số hệ tọa độ và để PostGIS thực hiện việc từ chối phía sau hậu trường mà không cần tôi phải gọi một reproject()chức năng theo cách thủ công.


1
Bạn có thể giải thích làm thế nào tọa độ địa từ của bạn đã đạt được ở nơi đầu tiên? Tôi nghĩ rằng điều đó có thể giữ chìa khóa cho một giải pháp chính xác: có vẻ như chúng được tính toán từ tọa độ địa lý. (Nếu không, làm thế nào người ta có thể đo trực tiếp một vĩ độ địa từ ?)
whuber

@whuber, câu hỏi được chỉnh sửa. Cảm ơn bạn đã làm rõ.
Reid

Câu trả lời:


7

Tôi không chắc chắn bất kỳ nguồn mở nào hỗ trợ địa từ này cho địa lý.

Nhưng nếu bạn đang có một vài tọa độ, xin vui lòng. hãy thử điều này ..
http://wdc.kugi.kyoto-u.ac.jp/igrf/gggm/index.html

NASA đã xuất bản thuật toán, bạn có thể thử http://idlastro.gsfc.nasa.gov/ftp/pro/astro/mag2geo.pro


1
Tôi đã mở một vé cho đội proj4. Họ có thể thêm hỗ trợ cho nó trong phiên bản mới hơn? trac.osgeo.org/proj/ticket/178
biệt danh

Ai đó đã chuyển mã geo2mag.pro IDL sang Python . Mã nghịch đảo này rất giống với mag2geo.pro. Đây là mã Python-port .
Serge Stroobandt

2

Các liên kết được cung cấp bởi vadeelsan cho thấy rõ rằng tọa độ địa từ chỉ là một vòng quay của quả cầu sao cho (a) cực bắc đi qua cực nam từ tính hiện tại và (b) kinh tuyến gốc đi qua các cực vật lý và từ tính.

Chẳng hạn, IGRF-95 sử dụng vị trí của cực bắc từ năm 1995, ở vĩ độ 79,30 và kinh độ -71,41 độ.

Các phép quay hình cầu có thể được tính theo nhiều cách , thông thường bằng cách chuyển đổi sang tọa độ Cartesian 3D, áp dụng phép biến đổi tuyến tính (thông qua phép nhân ma trận 3 x 3 hoặc phép nhân bậc bốn) và chuyển đổi trở lại tọa độ hình cầu. Nhưng nếu bạn không muốn lập trình điều này, có một mẹo:một hệ thống GIS hỗ trợ các phép chiếu xiên có thể xoay bằng phương pháp từ chối. Chỉ cần chiếu các tọa độ địa từ như thể chúng là tọa độ địa lý, nói bằng phương diện cực của phép chiếu vô trùng (với kinh tuyến trung tâm ở 0 độ). Sau đó, bỏ kết quả bằng cách sử dụng khía cạnh xiên của cùng một hình chiếu với vĩ độ gốc tại 79,30 và kinh tuyến trung tâm của -71,41. Cuối cùng, chiếu một lần nữa bằng cách sử dụng bất kỳ phép chiếu mong muốn nào để có được "phép thuật kỳ diệu".


Hừm. Có cách nào để tôi xác định hệ thống tọa độ GEOS hoặc PROJ như vậy không, hay cái gì khác mà PostGIS sẽ chấp nhận và để một thư viện thực hiện việc từ chối mà không cần tôi phải làm điều đó một cách rõ ràng?
Reid

Nó phụ thuộc vào những gì bạn có nghĩa là "rõ ràng." Tại một số điểm - tốt nhất là càng sớm trong quá trình càng tốt - bạn nên chuyển đổi vật lý tọa độ từ địa từ sang địa lý. Bạn có thể thực hiện việc này một lần bằng cách sử dụng một hệ thống GIS phù hợp (ví dụ, QGIS trông giống như nó sẽ hoạt động) hoặc tiện ích từ chối. Bạn không cần phải biết các phương trình từ chối cho điều này nếu bạn sử dụng mẹo tôi đã vạch ra.
whuber

Hãy để tôi làm rõ câu hỏi để trả lời rằng.
Reid
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.