2012-06-18 29 views
7

Thứ tự đúng khi đặt POINT trong MySQL là gì?Đơn đặt hàng lớn/vĩ độ khi sử dụng loại POINT không gian với MySQL

Ngay cả những câu trả lời trong SO câu hỏi khác nhau về vấn đề này: Moving lat/lon text columns into a 'point' type column

POINT(lat lon) 

hoặc

POINT(lon lat) 

Như xa, như tôi nhìn thấy nó, nó phải là người đầu tiên phiên bản (lat lon) như POINT lấy làm tham số x và y, nhưng tôi không thể tìm được bằng chứng xác định.

+0

Bạn có thể thử cả hai cách và xem những gì hiệu quả, phải không? Tôi sẽ dựa vào câu trả lời của Quassnoi. –

+0

+1 mặc dù vì tôi đã tìm kiếm tài liệu MySQL trong hơn 3 phút và không thể tìm thấy tài liệu liên quan. –

+0

Điều duy nhất tôi tìm thấy là các hàm ['X()' và 'Y()' (http://dev.mysql.com/doc/refman/5.5/en/geometry-property-functions.html# ví dụ về hàm-thuộc tính). –

Trả lời

2

như bạn có thể xem tại đây https://stackoverflow.com/a/5757054/1393681 đơn đặt hàng là (lon lat).

lon là cơ bản trục y và lat x nếu tôi nhìn vào thế giới của tôi, nhưng lon của đang đi du lịch dọc theo trục x và của lat dọc theo trục y vì vậy tôi nghĩ rằng thats lý do tại sao bạn sử dụng (lon lat)

Mặc dù vậy, nếu bạn ở phù hợp trong ứng dụng của bạn nó shoudn't vấn đề gì nếu thế giới là lộn bên trong db của bạn ;-)

+1

Bạn sẽ gây nhầm lẫn cho mọi người. 'lon' là * trục x *, và độ phân cấp của nó được hiển thị theo chiều dọc. 'lat' là trục * y *, do đó, tỷ lệ của nó là nằm ngang. Giống như với mọi đồ thị 2D, các mức giảm dần vuông góc với trục họ đo. – Walf

+0

yup, bạn nói đúng. chỉnh sửa bài đăng –

-2

Về mặt kỹ thuật nó không quan trọng. Bạn đang lưu trữ vào các tọa độ x và y của một điểm. Bạn chỉ cần đọc chúng giống như cách bạn viết chúng.

Nếu bạn quan tâm đến một "cách thích:" Tôi chỉ có thể tham khảo thực tế là Google Maps API tạo coortinates sử dụng

var location = new google.maps.LatLng(lat, lng); 

và trong trường bạn cũng tìm hiểu về "vĩ độ và logintude", không phải là khác cách arround.

Tuy nhiên, về mặt kỹ thuật, nó thực sự không biến đổi theo cách bạn lưu trữ chúng. Chỉ cần đảm bảo rằng bạn sử dụng cùng một quy ước khi bạn đọc lại chúng.

+0

Trong lập trình, bạn cũng sẽ tìm thấy nhiều hệ thống và chức năng yêu cầu tham số lonlat thay vì latlon. Tuy nhiên, trong DB của bạn, nó vẫn không quan trọng. – stormofwar

Các vấn đề liên quan