6. Tổng quan tài liệu nghiên cứu
3.1.2. Mô tả chi tiết các bảng dữ liệu
- Bảng DuAnQH
Bảng 3.2. Mô tả bảng CSDL DuAnQH
Tên bảng: [DuAnQH] – [Bảng dữ liệu Dự án quy hoạch]
STT Tên trường, kiểu dữ liệu, độ rộng Ý nghĩa Ghi chú
1
Tên trường: MaDuAn
Kiểu dữ liệu và độ rộng: nvarchar(50) Khóa chính
Trường dữ liệu ID
Dự án quy hoạch Không trùng 2 Tên trường: TenDuAn
Kiểu dữ liệu và độ rộng: nvarchar(255)
Trường dữ liệu Tên dự án
3 Tên trường: SoQuyetDinh
Kiểu dữ liệu và độ rộng: nvarchar(50)
Trường dữ liệu Số quyết định
4 Tên trường: NgayRaQuyetDinh Kiểu dữ liệu và độ rộng: date
Trường dữ liệu Ngày quyết định 5 Tên trường: NoiRaQuyetDinh
Kiểu dữ liệu và độ rộng: nvarchar(255)
Trường dữ liệu Nơi ra quyết định
6 Tên trường: TienDoTrienKhai
Kiểu dữ liệu và độ rộng: nvarchar(255)
Trường dữ liệu Tiến độ triển khai
7 Tên trường: DienTich
Kiểu dữ liệu và độ rộng: float
Trường dữ liệu Diện tích
8 Tên trường: DieuHanhDuAn
Kiểu dữ liệu và độ rộng: nvarchar(255)
Trường dữ liệu Điều hành dự án
9 Tên trường: ChuDauTu
Kiểu dữ liệu và độ rộng: nvarchar(255)
Trường dữ liệu Chủ đầu tư
10 Tên trường: TongMucDauTu
Kiểu dữ liệu và độ rộng: nvarchar(255)
Trường dữ liệu Tổng mức đầu tư
11 Tên trường: SHAPE
Kiểu dữ liệu và độ rộng: geometry
Trường dữ liệu Shape
- Bảng QuyDatQH
Bảng 3.3. Mô tả bảng CSDL QuyDatQH
Tên bảng: [QuyDatQH] – [Bảng dữ liệu Quỹ đất quy hoạch]
STT Tên trường, kiểu dữ liệu, độ rộng Ý nghĩa Ghi chú
1
Tên trường: QuyDatQHID Kiểu dữ liệu và độ rộng: Int Khóa chính
Trường dữ liệu ID
Quỹ đất quy hoạch Không trùng
2
Tên trường: DuAnQHID Kiểu dữ liệu và độ rộng: Int Khóa ngoại
Trường dữ liệu ID Dự án quy hoạch
3
Tên trường: IDLoaiQuyDat Kiểu dữ liệu và độ rộng: Int Khóa ngoại
Trường dữ liệu Loại quỹ đất ID
4
Tên trường: DVHCQuanLy Kiểu dữ liệu và độ rộng: int Khóa ngoại
Trường dữ liệu Đơn vị hành chính quản lý
5 Tên trường: PhanKhu
Kiểu dữ liệu và độ rộng: nvarchar(20)
Trường dữ liệu Phân khu
6 Tên trường: SoHieu
Kiểu dữ liệu và độ rộng: nvarchar(20)
Trường dữ liệu Số hiệu lô đất
7 Tên trường: SoThuTuLoDat
Kiểu dữ liệu và độ rộng: nvarchar(20)
Trường dữ liệu Số thứ tự lô đất
8 Tên trường: DienTich
Kiểu dữ liệu và độ rộng: float
Trường dữ liệu Diện tích
9 Tên trường: ViTriDacDiem
Kiểu dữ liệu và độ rộng: nvarchar(20)
Trường dữ liệu Vị trí đặc điểm lô đất 10 Tên trường: CoDatThucTe
Kiểu dữ liệu và độ rộng: smallint
Trường dữ liệu Có đất thực tế
11 Tên trường: Duong
Kiểu dữ liệu và độ rộng: nvarchar(20)
Trường dữ liệu Đường
12 Tên trường: DaCoHaTang
Kiểu dữ liệu và độ rộng: smallint
Trường dữ liệu Đã có hạ tầng
13 Tên trường: GhiChu
Kiểu dữ liệu và độ rộng: nvarchar(500)
Trường dữ liệu Ghi chú
14 Tên trường: SHAPE
Kiểu dữ liệu và độ rộng: geometry
Trường dữ liệu Shape
- LoaiQuyDat
Bảng 3.4. Mô tả bảng CSDL LoaiQuyDat
Tên bảng: [LoaiQuyDat] – [Bảng dữ liệu Loại quỹ đất]
STT Tên trường, kiểu dữ liệu, độ rộng Ý nghĩa Ghi chú
1
Tên trường: LoaiQuyDatID Kiểu dữ liệu và độ rộng: Int Khóa chính
Trường dữ liệu Loại quỹ đất ID
Không trùng 2 Tên trường: MaLoaiQuyDat
Kiểu dữ liệu và độ rộng: nvarchar(50)
Trường dữ liệu Mã loại quỹ đất
3 Tên trường: TenLoaiQuyDat
Kiểu dữ liệu và độ rộng: nvarchar(50)
Trường dữ liệu Tên lọai quỹ đất
4 Tên trường: MoTa
Kiểu dữ liệu và độ rộng: nvarchar(1000)
Trường dữ liệu Mô tả
- DuAnTDC
Bảng 3.5. Mô tả bảng CSDL DuAnTDC
Tên bảng: [DuAnTDC] – [Bảng dữ liệu Dự án tái định cư]
STT Tên trường, kiểu dữ liệu, độ rộng Ý nghĩa Ghi chú
1
Tên trường: DuAnTDCID Kiểu dữ liệu và độ rộng: Int Khóa chính
Trường dữ liệu ID Dự án tái định cư
Không trùng 2 Tên trường: DVHCQuanLy
Kiểu dữ liệu và độ rộng: nvarchar(50)
Trường dữ liệu Đơn vị hành chính quản lý 3 Tên trường: MaDuAnTDC
Kiểu dữ liệu và độ rộng: nvarchar(50)
Trường dữ liệu Mã dự án tái định cư
4 Tên trường: TenDuAn
Kiểu dữ liệu và độ rộng: nvarchar(255)
Trường dữ liệu Tên dự án tái định cư 5 Tên trường: SoQD
Kiểu dữ liệu và độ rộng: nvarchar(50)
Trường dữ liệu Số quyết định
6 Tên trường: NgayRaQD Kiểu dữ liệu và độ rộng: date
Trường dữ liệu Ngày ra quyết định
7 Tên trường: NoiRaQD
Kiểu dữ liệu và độ rộng: nvarchar(255)
Trường dữ liệu Nơi ra quyết định
8 Tên trường: TinhTrang
Kiểu dữ liệu và độ rộng: nvarchar(255)
Trường dữ liệu Tình trạng
9 Tên trường: GhiChu
Kiểu dữ liệu và độ rộng: nvarchar(255)
Trường dữ liệu Ghi chú
- DotBocTham
Bảng 3.6. Mô tả bảng CSDL DotBocTham
Tên bảng: [DotBocTham] – [Bảng dữ liệu Đợt bốc thăm]
STT Tên trường, kiểu dữ liệu, độ rộng Ý nghĩa Ghi chú
1
Tên trường: DotBocThamID Kiểu dữ liệu và độ rộng: Int Khóa chính
Trường dữ liệu
DotBocThamID Không trùng 2
Tên trường: IDDuAnTDC Kiểu dữ liệu và độ rộng: Int Khóa ngoại
Trường dữ liệu ID Dự án tái định cư 3 Tên trường: TenDotBocTham
Kiểu dữ liệu và độ rộng: nvarchar(50)
Trường dữ liệu Tên đợt bốc thăm
4 Tên trường: NgayKetThuc Kiểu dữ liệu và độ rộng: Date
Trường dữ liệu Ngày kết thúc
5 Tên trường: Ghichu
Kiểu dữ liệu và độ rộng: nvarchar(50)
Trường dữ liệu Ghi chú
6 Tên trường: Trangthai Kiểu dữ liệu và độ rộng: bit
Trường dữ liệu Trạng thái
- GiayMoi
Bảng 3.7. Mô tả bảng CSDL GiayMoi
Tên bảng: [GiayMoi] – [Bảng dữ liệu Đất giao cơ quan]
STT Tên trường, kiểu dữ liệu, độ rộng Ý nghĩa Ghi chú
1
Tên trường: GiayMoiID Kiểu dữ liệu và độ rộng: Int Khóa chính Trường dữ liệu Giấy mời ID Không trùng 2
Tên trường: DotBocThamID Kiểu dữ liệu và độ rộng: Int Khóa ngoại
Trường dữ liệu Đợt bốc thăm ID
3
Tên trường: NguoiBocThamID Kiểu dữ liệu và độ rộng: Int Khóa ngoại
Trường dữ liệu Người bốc thăm ID 4 Tên trường: ThoiGian
Kiểu dữ liệu và độ rộng: DateTime Trường dữ liệu Thời gian bốc thăm 5 Tên trường: DiaDiem
Kiểu dữ liệu và độ rộng: nvarchar(50) Trường dữ liệu Địa điểm bốc thăm 6 Tên trường: Ghichu
- CoQuanQuanLy
Bảng 3.8. Mô tả bảng CSDL CoQuanQuanLy
Tên bảng: [CoQuanQuanLy] – [Bảng dữ liệu Cơ quan quản lý]
STT Tên trường, kiểu dữ liệu, độ rộng Ý nghĩa Ghi chú
1
Tên trường: CoQuanQLID Kiểu dữ liệu và độ rộng: Int Khóa chính
Trường dữ liệu Cơ quan quản lý ID 2 Tên trường: MaCQ
Kiểu dữ liệu và độ rộng: int(6)
Trường dữ liệu Mã Cơ quan
3 Tên trường: TenCQ
Kiểu dữ liệu và độ rộng: nvarchar(50)
Trường dữ liệu Tên cơ quan
4 Tên trường: TenVietTat
Kiểu dữ liệu và độ rộng: nvarchar(50)
Trường dữ liệu Tên viết tắt
5 Tên trường: Trangthai
Kiểu dữ liệu và độ rộng: smallint
Trường dữ liệu Trạng thái
6 Tên trường: CanCuPhapLy
Kiểu dữ liệu và độ rộng: nvarchar(50)
Trường dữ liệu Căn cứ pháp lý
7 Tên trường: MoTa
Kiểu dữ liệu và độ rộng: nvarchar(500)
Trường dữ liệu Mô tả
8 Tên trường: Diagioi
Kiểu dữ liệu và độ rộng: Shape
Trường dữ liệu Địa giới
- HoSoDAQH
Bảng 3.9. Mô tả bảng CSDL HoSoDAQH
Tên bảng: [HoSoDAQH] – [Bảng dữ liệu file đính kèm Dự án quy hoạch]
STT Tên trường, kiểu dữ liệu, độ rộng Ý nghĩa Ghi chú
1
Tên trường: HoSoDAQHID Kiểu dữ liệu và độ rộng: Int Khóa chính
Trường dữ liệu Hồ sơ dự án quy hoạch ID
Không trùng
2
Tên trường: DuAnQHID Kiểu dữ liệu và độ rộng: Int Khóa ngoại
Trường dữ liệu Dự án quy hoạch ID 3 Tên trường: DuongDan
Kiểu dữ liệu và độ rộng: nvarchar(50)
Trường dữ liệu Đường dẫn
4 Tên trường: TenFile
Kiểu dữ liệu và độ rộng: nvarchar(100)
Trường dữ liệu Tên file
5 Tên trường: LoaiFile
Kiểu dữ liệu và độ rộng: nvarchar(10)
Trường dữ liệu Loại file
6 Tên trường: MoTa
Kiểu dữ liệu và độ rộng: nvarchar(255)
Trường dữ liệu Mô tả
- HoSoDATDC
Bảng 3.10. Mô tả bảng CSDL HoSoDATDC
Tên bảng: [HoSoĐATC] – [Bảng dữ liệu file đính kèm Dự án tái định cư]
STT Tên trường, kiểu dữ liệu, độ rộng Ý nghĩa Ghi chú
1
Tên trường: HoSoDATDCID Kiểu dữ liệu và độ rộng: Int Khóa chính
Trường dữ liệu Hồ sơ dự án tái định cư ID
Không trùng
2
Tên trường: DATDCID Kiểu dữ liệu và độ rộng: Int Khóa ngoại
Trường dữ liệu Dự án tái định cư ID 3 Tên trường: DuongDan
Kiểu dữ liệu và độ rộng: nvarchar(50)
Trường dữ liệu Đường dẫn
4 Tên trường: TenFile
Kiểu dữ liệu và độ rộng: nvarchar(100)
Trường dữ liệu Tên file
5 Tên trường: LoaiFile
Kiểu dữ liệu và độ rộng: nvarchar(10)
Trường dữ liệu Loại file
6 Tên trường: MoTa
Kiểu dữ liệu và độ rộng: nvarchar(255)
Trường dữ liệu Mô tả
- NguoiDung
Bảng 3.11. Mô tả bảng CSDL NguoiDung
Tên bảng: [NguoiDung] – [Bảng dữ liệu Người dùng]
STT Tên trường, kiểu dữ liệu, độ rộng Ý nghĩa Ghi chú
1
Tên trường: NguoiDungID Kiểu dữ liệu và độ rộng: Int Khóa chính
Trường dữ liệu ID
người dùng Không trùng
2 Tên trường: DonViCongTac Kiểu dữ liệu và độ rộng: Int
Trường dữ liệu Đơn vị công tác
3
Tên trường: LoaiNguoiDungID Kiểu dữ liệu và độ rộng: Int Khóa ngoại
Trường dữ liệu Loại người dùng ID 4 Tên trường: TenDangNhap
Kiểu dữ liệu và độ rộng: nvarchar(50)
Trường dữ liệu Tên đăng nhập
5 Tên trường: MatKhau
Kiểu dữ liệu và độ rộng: nvarchar(100)
Trường dữ liệu Mật khẩu
6 Tên trường: HoTen
Kiểu dữ liệu và độ rộng: nvarchar(50)
Trường dữ liệu Họ tên người dùng 7 Tên trường: GioiTinh
Kiểu dữ liệu và độ rộng: bit
Trường dữ liệu Giới tính
8 Tên trường: SDT
Kiểu dữ liệu và độ rộng: nvarchar(15)
Trường dữ liệu Số điện thoại
9 Tên trường: Email
Kiểu dữ liệu và độ rộng: nvarchar(255)
Trường dữ liệu Email
10 Tên trường: DiaChi
Kiểu dữ liệu và độ rộng: nvarchar(500)
Trường dữ liệu Địa chỉ
11 Tên trường: GhiChu
Kiểu dữ liệu và độ rộng: nvarchar(500)
Trường dữ liệu Ghi chú
- LoaiNguoiDung
Bảng 3.12. Mô tả bảng CSDL LoaiNguoiDung
Tên bảng: [LoaiNguoiDung] – [Bảng dữ liệu Loại người dùng]
STT Tên trường, kiểu dữ liệu, độ rộng Ý nghĩa Ghi chú
1
Tên trường: LoaiNguoiDungID Kiểu dữ liệu và độ rộng: Int Khóa chính
Trường dữ liệu ID loại người dùng
Không trùng
2 Tên trường: TenLoaiNguoiDung Kiểu dữ liệu và độ rộng: nvarchar(50)
Trường dữ liệu Tên loại người dùng
3 Tên trường: MoTa
Kiểu dữ liệu và độ rộng: nvarchar(500)
Trường dữ liệu Mô tả
4 Tên trường: GhiChu
Kiểu dữ liệu và độ rộng: date
Trường dữ liệu Ghi chú
- NguoiBocTham
Bảng 3.13. Mô tả bảng CSDL NguoiBocTham
Tên bảng: [NguoiBocTham] – [Bảng dữ liệu Người dùng]
STT Tên trường, kiểu dữ liệu, độ rộng Ý nghĩa Ghi chú
1
Tên trường: NguoiBocThamID Kiểu dữ liệu và độ rộng: Int Khóa chính
Trường dữ liệu ID
người bốc thăm Không trùng 2 Tên trường: HoTenChu
Kiểu dữ liệu và độ rộng: nvarchar(50)
Trường dữ liệu Họ và tên người bốc thăm 3 Tên trường: SoGiayTo
Kiểu dữ liệu và độ rộng: nvarchar(50)
Trường dữ liệu Số giấy tờ
4 Tên trường: DiaChiLienHe
Kiểu dữ liệu và độ rộng: nvarchar(225)
Trường dữ liệu Địa chỉ liên hệ
5 Tên trường: SDT
Kiểu dữ liệu và độ rộng: nvarchar(15)
Trường dữ liệu Số điện thoại
- GiaiToa
Bảng 3.14. Mô tả bảng CSDL GiaiToa
Tên bảng: [GiaiToa] – [Bảng dữ liệu Giải Tỏa]
STT Tên trường, kiểu dữ liệu, độ rộng Ý nghĩa Ghi chú
1 Tên trường: ChuSuDungID Kiểu dữ liệu và độ rộng: Int
Trường dữ liệu Hồ sơ
dự án tái định cư ID Khóa chính, Không trùng 2 Tên trường: DuAnQHID
Kiểu dữ liệu và độ rộng: Int
Trường dữ liệu Dự án tái định cư ID
3 Tên trường: DienGiaiToa
Kiểu dữ liệu và độ rộng: nvarchar(50)
Trường dữ liệu Diện giải tỏa đền bù
4 Tên trường: DiaChiGiaiToa
Kiểu dữ liệu và độ rộng: nvarchar(225)
Trường dữ liệu Địa chỉ giải tỏa
5 Tên trường: DienTichThuHoi Kiểu dữ liệu và độ rộng: float
Trường dữ liệu Diện tích thu hồi
6 Tên trường: DienTichConLai Kiểu dữ liệu và độ rộng: float
Trường dữ liệu Diện tích còn lại
7 Tên trường: GiaTriBoiThuong Kiểu dữ liệu và độ rộng: money
Trường dữ liệu Giá trị bồi thường
- KetQuaBocTham
Bảng 3.15. Mô tả bảng CSDL KetQuaBocTham
Tên bảng: [KetQuaBocTham] – [Bảng dữ liệu Kết quả bốc thăm]
STT Tên trường, kiểu dữ liệu, độ rộng Ý nghĩa Ghi chú
1 Tên trường: GiayMoiID Kiểu dữ liệu và độ rộng: Int
Trường dữ liệu Giấy
mời ID Khóa chính, Không trùng 2 Tên trường: LoDatID
Kiểu dữ liệu và độ rộng: Int
Trường dữ liệu Lô đất bốc thăm trúng 3 Tên trường: SoBienBanBT
Kiểu dữ liệu và độ rộng: nvarchar(50)
Trường dữ liệu Số biên bản bố trí 4 Tên trường: NgayBienBanBT
Kiểu dữ liệu và độ rộng: date
Trường dữ liệu Ngày biên bản bố trí 5 Tên trường: NgayBoTriTDC
Kiểu dữ liệu và độ rộng: date
Trường dữ liệu Ngày bố trí TDC 6 Tên trường: GhiChu
Kiểu dữ liệu và độ rộng: nvarchar(255)
Trường dữ liệu Ghi chú
53
Hình 3.1. Sơ đồ mô tả mối quan hệ giữa các bảng
DotBocTham DotBocThamID IDDuAnTDC TenDotBocTham NgayKetThuc GhiChu TrangThai DuAnQH DuAnQHID MaDuAn TenDuAn SoQuyetDinh NgayRaQuyetDinh NoiRaQuyetDinh TienDoTrienKhai DienTich DieuHanhDuAn ChuDauTu TongMucDauTu SHAPE DuAnTDC DuAnTDCID MaDuAnTDC TenDuAn SoQD NgayRaQD NoiRaQD TinhTrang GhiChu DVHCQuanLy GiayMoi GiayMoiID DotBocThamID NguoiBocThamID NgayMoi DiaDiem GhiChu HoSoDAQH HoSoDAQHID DuAnQHID TenFile DuongDan LoaiFile MoTa HoSoDATDC HoSoDATDCID DATDCID DuongDan TenFile LoaiFile MoTa LoaiQuyDat LoaiQuyDatID MaLoaiQuyDat TenLoaiQuyDat MoTa NguoiDung NguoiDungID DonViCongTac LoaiNguoiDungID TenDangNhap MatKhau HoTen GioiTinh SDT Email DiaChi GhiChu QuyDatQH QuyDatQHID PhanKhu SoHieu SoThuTuLoDat DienTich ViTriDacDiem CoDatThucTe Duong DaCoHaTang DVHCQuanLy DuAnQHID GhiChu LoaiQuyDatID Shape LOAINGUOIDUNG LoaiNguoiDungID TenLoaiNguoiDung MoTa GhiChu CoQuanQLID maCQ tenCQ trangThai canCuPhapLy moTa tenVietTat SHAPE KetQuaBocTham GiayMoiID LoDatID SoBienBanBT NgayBienBanBT NgayBoTriTDC GhiChu NguoiBocTham NguoiBocThamID hoTenChu soGiayTo diaChiLienHe soDienThoaiLienHe GiaiToa ChuSuDungID DuAnQHID DienGiaiToa DiaChiGiaiToa DienTichThuHoi DienTichConLai GiaTriBoiThuong
3.2. Cài đặt và thử nghiệm hệ thống
3.2.1. Cài đặt ứng dụng chuyển đổi, cập nhật dữ liệu không gian
3.2.1.1. Arcpy là gì?
Kể từ phiên bản ArcGIS 9, Esri đã tích hợp cho phép người dung lập trình với ngôn ngữ mã nguồn mở Python. Đến ArcGIS 10, Esri giới thiệu gói ArcPy, một gói cung cấp các tiện ích để thực hiện phân tích dữ liệu địa lý, chuyển đổi dữ liệu, quản lý dữ liệu và tự động hóa bản đồ với Python.
Các ứng dụng và tập lệnh ArcGIS được viết bằng ArcPy có lợi từ việc có thể truy cập và làm việc với nhiều mô-đun Python được phát triển bởi các chuyên gia và lập trình viên GIS từ nhiều ngành khác nhau. ArcPy cung cấp quyền truy cập vào các công cụ xử lý địa lý cũng như các chức năng, lớp và mô-đun bổ sung cho phép bạn tạo các quy trình công việc đơn giản hoặc phức tạp. Nói rộng hơn, ArcPy được tổ chức trong các công cụ, chức năng, lớp và mô-đun.
3.2.1.2. Một số mã nguồn được viết bằng Arcpy
-Mã nguồn chuyển đổi hệ tọa độ từ HN72 sang VN2000
import arcpy arcpy.ImportToolbox("C:\Users\PC\Desktop\Toolbox.tbx") InShape = "C:\Users\PC\Desktop\Test1\Vn2000_1.shp" DiemHN72 = "C:\Users\PC\AppData\Local\Temp\DiemHN72083450.shp" Output_has_Z_Values = "Disabled" Output_has_M_Values = "Disabled" wgs84shp = "C:\Users\PC\AppData\Local\Temp\DiemWGS84083450.shp" SHPVN2000 = "C:\Users\PC\Desktop\Test1\HN72_VN2000.shp" Output_has_Z_Values = "Disabled" Output_has_M_Values = "Disabled" arcpy.CopyFeatures_management(InShape, DiemHN72, "", "0", "0", "0") Output_Dataset_or_Feature_Class = "C:\Users\PC\AppData\Local\Temp\DiemHN72083450.shp" Output_Geographic_Coordinate_System = "GEOGCS['GCS_WGS_1984', DATUM['D_WGS_1984', SPHEROID['WGS_1984', 6378137.0, 298.257223563]], PRIMEM['Greenwich', 0.0], UNIT['Degree', 0.0174532925199433]]" Output_Geographic_Coordinate_System__2_ = "PROJCS['VN_2000_UTM_DaNang_Mui3', GEOGCS['GCS_VN_2000', DATUM['D_Vietnam_2000', SPHEROID['WGS_1984', 6378137.0, 298.257223563]], PRIMEM['Greenwich', 0.0], UNIT['Degree', 0.0174532925199433]], PROJECTION['Transverse_Mercator'], PARAMETER['False_Easting', 500000.0], PARAMETER['False_Northing', 0.0], PARAMETER['Central_Meridian', 107.75], PARAMETER['Scale_Factor', 0.9999], PARAMETER['Latitude_Of_Origin', 0.0], UNIT['Meter', 1.0]]" arcpy.DefineProjection_management(DiemHN72, "PROJCS['hn72DN', GEOGCS['GCS_Hanoi_1972', DATUM['D_Hanoi_1972', SPHEROID['Krasovsky_1940', 6378245.0, 298.3]], PRIMEM['Greenwich', 0.0], UNIT['Degree', 0.0174532925199433]], PROJECTION['Transverse_Mercator'], PARAMETER['False_Easting', 500000.0], PARAMETER['False_Northing', 0.0],
PARAMETER['Central_Meridian', 108.0], PARAMETER['Scale_Factor', 1.0], PARAMETER['Latitude_Of_Origin', 0.0], UNIT['Meter', 1.0]]") arcpy.Project_management(Output_Dataset_or_Feature_Class, wgs84shp, Output_Geographic_Coordinate_System, "hn72towgs", "") arcpy.Project_management(wgs84shp, SHPVN2000, "PROJCS['VN_2000_UTM_DaNang_Mui3',GEOGCS['GCS_VN_2000',DATUM['D_Vietn am_2000',SPHEROID['WGS_1984',6378137.0,298.257223563]],PRIMEM['Greenw ich',0.0],UNIT['Degree',0.0174532925199433]],PROJECTION['Transverse_M ercator'],PARAMETER['False_Easting',500000.0],PARAMETER['False_Northi ng',0.0],PARAMETER['Central_Meridian',107.75],PARAMETER['Scale_Factor ',0.9999],PARAMETER['Latitude_Of_Origin',0.0],UNIT['Meter',1.0]]", "WGS84ToVN2000", Output_Geographic_Coordinate_System) import arcpy fc = r"C:\Users\PC\Desktop\Test1\HN72_VN2000.shp" xOffset = -10.54344418841 yOffset = -1.16767231885
with arcpy.da.UpdateCursor(fc, ["SHAPE@XY"]) as cursor: for row in cursor:cursor.updateRow([[row[0][0] + xOffset,row[0][1] + yOffset]])
- Mã nguồn chuyển đổi dữ liệu AutoCAD sang Shapefile
import arcpy PhanKhu_polygon = "C:\\Users\\PC\\Desktop\\Test1\\PhanKhu_polygon.shp" Output_has_Z_Values = "Disabled" Output_has_M_Values = "Disabled" PhanKhu_text = "C:\\Users\\PC\\Desktop\\Test1\\PhanKhu.shp" Output_has_Z_Values = "Disabled" Output_has_M_Values = "Disabled" LeDuong_line = "C:\\Users\\PC\\Desktop\\Test1\\LeDuong.shp" Output_has_Z_Values = "Disabled" Output_has_M_Values = "Disabled" ChiaLo_line = "C:\\Users\\PC\\Desktop\\Test1\\ChiaLo.shp" Output_has_Z_Values = "Disabled" Output_has_M_Values = "Disabled" STTDat_text = "C:\\Users\\PC\\Desktop\\Test1\\STTThuaDat.shp" Output_has_Z_Values = "Disabled" Output_has_M_Values = "Disabled" SanPham = "C:\\Users\\PC\\Desktop\\Test1\\Vn2000_1.shp" Output_has_Z_Values = "Disabled" Output_has_M_Values = "Disabled" Shape1 = "C:\\Users\\PC\\AppData\\Local\\Temp\\Shape1083031.shp" Shape2 = "C:\\Users\\PC\\AppData\\Local\\Temp\\Shape2083031.shp" Shape10 = "C:\\Users\\PC\\AppData\\Local\\Temp\\Shape10083031.shp" Shape11_shp = "C:\\Users\\PC\\AppData\\Local\\Temp\\Shape11083031.shp" Shape12 = "C:\\Users\\PC\\AppData\\Local\\Temp\\Shape12083031.shp" Shape6 = "C:\\Users\\PC\\AppData\\Local\\Temp\\Shape6083031.shp" Shape7 = "C:\\Users\\PC\\AppData\\Local\\Temp\\Shape7083031.shp" Shape9 = "C:\\Users\\PC\\AppData\\Local\\Temp\\Shape9083031.shp"
SanPham_shp = "C:\\Users\\PC\\Desktop\\Test1\\Vn2000_1.shp" LeDuong_line__2_ = "C:\\Users\\PC\\Desktop\\Test1\\LeDuong.shp" Shape3 = "C:\\Users\\PC\\AppData\\Local\\Temp\\Shape3083031.shp" arcpy.Merge_management("C:\\Users\\PC\\Desktop\\Test1\\ChiaLo.shp; C:\\Users\\PC\\Desktop\\Test1\\LeDuong.shp", Shape6, "") arcpy.FeatureToPolygon_management("C:\\Users\\PC\\AppData\\Local\\Tem p\\Shape6083031.shp", Shape7, "", "ATTRIBUTES", "")
arcpy.FeatureToPolygon_management("C:\\Users\\PC\\AppData\\Local\\Tem p\\Shape7083031.shp", Shape9, "", "ATTRIBUTES", STTDat_text)
arcpy.FeatureToPolygon_management("C:\\Users\\PC\\Desktop\\Test1\\LeD uong.shp", Shape3, "", "ATTRIBUTES", "")
arcpy.FeatureToPolygon_management("C:\\Users\\PC\\Desktop\\Test1\\Pha nKhu_polygon.shp", Shape1, "", "ATTRIBUTES", PhanKhu_text)
arcpy.FeatureToPoint_management(Shape1, Shape2, "CENTROID")
arcpy.FeatureToPolygon_management("C:\\Users\\PC\\AppData\\Local\\Tem p\\Shape3083031.shp", Shape10, "", "ATTRIBUTES", Shape2)
arcpy.Union_analysis("C:\\Users\\PC\\AppData\\Local\\Temp\\Shape10083 031.shp #;C:\\Users\\PC\\AppData\\Local\\Temp\\Shape7083031.shp #", Shape11_shp, "ALL", "", "GAPS")
arcpy.FeatureToPoint_management(Shape11_shp, Shape12, "CENTROID") tempEnvironment0 = arcpy.env.outputZFlag
arcpy.env.outputZFlag = "Disabled"
tempEnvironment1 = arcpy.env.outputMFlag arcpy.env.outputMFlag = "Disabled"
arcpy.FeatureToPolygon_management("C:\\Users\\PC\\AppData\\Local\\Tem p\\Shape9083031.shp", SanPham, "", "ATTRIBUTES", Shape12)
arcpy.env.outputZFlag = tempEnvironment0 arcpy.env.outputMFlag = tempEnvironment1
arcpy.JoinField_management(SanPham, "FID", Shape9, "FID", "TEXTSTRING") arcpy.DeleteField_management("C:\\Users\\PC\\Desktop\\Test1\\Vn2000_1 .shp", "ORIG_FID;FID_Shape7;FID_Shape1;Join_Count;Entity;Handle;LyrFrzn;LyrL ock;LyrOn;LyrVPFrzn;LyrHandle;Color;EntColor;LyrColor;BlkColor;Linety pe;EntLinetyp;LyrLnType;BlkLinetyp;Elevation;Thickness;LineWt;EntLine Wt;LyrLineWt;BlkLineWt;RefName;LTScale;ExtX;ExtY;ExtZ;DocName;DocPath ;DocType;DocVer")
3.2.1.1. Một số giao diện ứng dụng
Hình 3.2. Giao diện chuyển đổi hệ tọa độ HN72 sang VN2000
Hình 3.4. Giao diện cập nhật dữ liệu Shapefile lên CSDL SQL
3.2.2. Cài đặt ứng dụng nghiệp vụ quản lý
3.2.2.1. API là gì ?
API (Application Programming Interface) là các phương thức, giao thức kết nối với các thư viện và ứng dụng khác. API cung cấp khả năng truy xuất đến một tập các hàm hay dùng. Và từ đó có thể trao đổi dữ liệu giữa các ứng dụng.
Web API là một phương thức dùng để cho phép các ứng dụng khác nhau có thể giao tiếp, trao đổi dữ liệu qua lại. Dữ liệu được Web API trả lại thường ở dạng JSON hoặc XML thông qua giao thức HTTP hoặc HTTPS.