Hệ tọa độ (coordinate system) trong chương trình được đặt bằng lệnh Set CoordSys. Tất cả các hoạt động với tọa độ sẽ được thực hiện theo hệ thống tọa độ được thiết lập. Nếu không có hệ tọa độ nào được chỉ định, thì hệ tọa độ mặc định (Longitude/Latitude) sẽ được sử dụng.
Để làm việc với các cửa sổ Report, cần phải thiết lập hệ tọa độ phù hợp bằng cách sử dụng lệnh của form Set CoordSys Layout Units “mm”.
Tương tự như vậy khi xác định ngay trong chương trình các đơn vị đo diện tích và khoảng cách.
Set Area Units “sq m” —> Thiết lập đơn vị đo diện tích. Theo mặc định là sq. miles (sq mi)
Set Distance Units “m” —> Thiết lập đơn vị đo khoảng cách. Theo mặc định là mile (mi)
Set Paper Units “mm” —> Thiết lập đơn vị Paper (kích thước và vị trí của các cửa sổ trên màn hình, …). Theo mặc định là inch (in)
Đôi khi cần phải thay đổi hệ tọa độ được sử dụng trong chương trình thành hệ thống do người dùng chọn. Trong trường hợp này, có thể dùng đoạn code sau:
dim newCS as string
newCS=ChooseProjection$(“”,True)
newCS= “Set “+newCS
Run Command newCS
Hàm ChooseProjection$ mở một cửa sổ lựa chọn projection và trả về một dòng với projection đã chọn. Tham số đầu tiên, tên của projection, xác định projection nào sẽ được hiển thị khi cửa sổ được mở. Nếu tham số này là một chuỗi rỗng hoặc tên projection không chính xác, thì khi được mở, projection hiện tại trong chương trình sẽ được kích hoạt. Tham số thứ hai là một giá trị logic xác định xem có hiển thị hộp thoại để đặt ranh giới (boundaries) hay không.
Bạn có thể lấy thông tin về các cài đặt hiện có bằng cách sử dụng các hàm sau:
SessionInfo (SESSION_INFO_COORDSYS_CLAUSE) —> Trả về một chuỗi với hệ tọa độ đang sử dụng
SessionInfo (SESSION_INFO_DISTANCE_UNITS) —> Trả về một chuỗi với đơn vị khoảng cách đang sử dụng
SessionInfo (SESSION_INFO_AREA_UNITS) —> Trả về một chuỗi với đơn vị đo diện tích đang sử dụng
SessionInfo (SESSION_INFO_PAPER_UNITS) —> . Trả về một chuỗi với đơn vị Paper đang sử dụng
Nếu một số tham số không được thiết lập trực tiếp trong chương trình, thì các hàm này sẽ trả về các giá trị hiện tại trong phiên (session) hiện tại.
Bình luận bằng Facebook Comments