Ứng dụng hệ thống thông tin địa lý (gis) trong quản lý lực lượng y tế của khu vực phòng thủ tỉnh

123 3 0
Ứng dụng hệ thống thông tin địa lý (gis) trong quản lý lực lượng y tế của khu vực phòng thủ tỉnh

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC MỎ - ĐỊA CHẤT tµo hång trang øng dơng HƯ thèng thông tin địa lý (GIS) quản lý lực lượng y tÕ cđa khu vùc phßng thđ tØnh LUẬN VĂN THẠC SĨ KỸ THUẬT Hà Nội - 2010 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC MỎ - ĐỊA CHT tào hồng trang ứng dụng Hệ thống thông tin địa lý (GIS) quản lý lực lượng y tế cđa khu vùc phßng thđ tØnh Chun ngành: Kỹ thuật Trắc địa Mã số: 60.52.85 LUẬN VĂN THẠC SĨ KỸ THUT NGI HNG DN KHOA HC: TS Đinh Công Hòa Hà Nội - 2010 -1- LỜI CAM ĐOAN Tôi xin cam đoan cơng trình nghiên cứu riêng Các số liệu, kết luận văn trung thực chưa công bố cơng trình khác Tác giả luận văn Tào Hồng Trang -2- MỤC LỤC Trang Trang bìa phụ…… Lời cam đoan…… ……… Mục lục…… ……… Danh mục bảng, biểu…… ……… Danh mục hình vẽ …… …… MỞ ĐẦU……………………………………………………………… chƯƠNG sở lý luận 12 1.1 C¬ së vỊ GIS… ……………………… 12 1.1.1 Định nghĩa 12 1.1.2 Các thành phần GIS 14 1.1.3 Các chức GIS 19 1.1.4 Mô hình liệu GIS 21 1.1.5 Khả ứng dụng GIS quản lý lực lượng y tế 22 1.2 Khái niệm khu vực phòng thđ tØnh …………………… …… 23 24 1.3 Thùc tr¹ng quản lý lực lượng y tế khu vực phòng thủ tỉnh Bắc Giang 1.3.1 Thực trạng hoạt động 24 1.3.2 Thực trạng công tác quản lý 25 1.4 øng dông GIS quản lý lực lượng y tế khu vực phòng thđ 26 tØnh B¾c Giang Chương trạng hoạt động y tế Bắc giang 28 2.1 Mạng lưới tổ chức y tế Bắc Giang 28 2.1.1 D©n y 28 2.1.2 Qu©n y 34 36 2.1.3 Hội chữ thập đỏ 2.1.4 Tỉ chøc thó y 36 2.2 Điều kiện bảo đảm thuốc vật tư y tÕ ë B¾c Giang 37 -3- 2.2.1 Điều kiện bảo đảm thuốc vật tư y tế dân y 37 2.2.2 Điều kiện bảo đảm thuốc, vật tư y tế quân y 39 2.2.3 Ngn d­ỵc liƯu tù nhiªn 39 41 2.3 Điều kiện vệ sinh - dịch tễ khu vực Bắc Giang 2.3.1 Tình hình ®êi sèng vµ vƯ sinh 41 2.3.2 Tình hình dịch bệnh hoạt động phòng chống dịch 43 chương Xây dựng Chương trình quản lý lực lượng Y tế 46 kết hợp hệ thông tin địa lý (Gis) cho Khu vực Phòng thủ tỉnh Bắc Giang 3.1 Giới thiệu chung khu vực nghiên cứu 46 3.1.1 Vị trí địa lý 46 3.1.2 Điều kiện tự nhiên 47 3.1.3 §iỊu kiƯn kinh tÕ - x· héi 47 3.2 X©y dùng GIS quản lý lực lượng y tế khu vực tØnh 48 B¾c Giang 3.2.1 Xây dựng së d÷ liƯu 48 3.2.2 Quy trình công nghệ thành lập GIS Y tÕ 49 3.3 Thiết kế Phần mềm quản lý lượng Y tế nỊn GIS Y tÕ 51 3.3.1 Phân tích hệ thống 51 3.3.2 Thiết kế hệ thống 53 3.3.3 Mơ hình 57 3.3.4 Lựa chọn cấu hình hệ thống 57 3.3.5 Sơ đồ phân rã chức 58 3.3.6 Thiết kế chức 58 KẾT LUẬN- kiÕn nghÞ 75-76 TÀI LIỆU THAM KHẢO………………………………….…… 77 phô lôc 78 -4- danh mơc B¶ng B¶ng Néi dung Trang B¶ng 2-1 : Tỉ chøc mµng l­íi y tÕ x·, ph­êng, thị trấn 29 Bảng 2-2 : Tình hình nhân lực cán y tế, xÃ, phường, thị trấn 30 Bảng 2-3 : Tổ chức, nhân lực phòng khám đa khoa khu vực - 32 tuyến huyện Bảng 2-4 : Biên chế văn phòng sở y tế Bảng 2-5 : Một số loại dược liệu Bắc Giang 33 40 - 41 -5- danh mơc h×nh H×nh Néi dung H×nh 3-1 : H×nh 3-2 : H×nh 3-3 : H×nh 3-4 : H×nh 3-5 : H×nh 3-6 : H×nh 3-7 : H×nh 3-8 : H×nh 3-9 : H×nh 3-10 : H×nh 3-11 : H×nh 3-12 : H×nh 3-13 : H×nh 3-14 : H×nh 3-15 : H×nh 3-16 : H×nh 3-17 : H×nh 3-18 : H×nh 3-19 H×nh 3-20 : Vị trí khu vực nghiên cứu đồ Mơ hình quản lý liệu ArcSDE Chọn lớp liệu load lên đồ Cập nhật hiÓn thị thông tin Trạm Y tế Xã Cửa sổ thông tin đối tượng tõng Trạm Y tế Xã Cập nhật hiĨn thị thơng Bệnh viện Đa khoa Y tế Huyện Cửa sổ thông tin đối tượng tõng Bệnh viện Đa khoa Y tế Huyện Cửa sổ thông tin đối tượng tõng sở Y tế Tỉnh Cửa sổ thông tin toàn c s Y t Tnh Chc nng tìm kiếm theo tên xã Cưa sỉ thèng kª theo tên xã Cưa sỉ thèng kª thơng tin chi tiết trạm y tế xã MÉu In danh sách, thông tin Bệnh viện Đa khoa huyện tỉnh MÉu In danh sách thông tin trạm y tế địa bàn toàn tỉnh huyện cụ thể tỉnh Bắc Giang MÉu In danh sách, thông tin sở, trung tâm y tế tỉnh Cưa sỉ Đăng nhập vào chương trình Cửa sổ cho phép thit lập lại thông tin kết nối tới hệ quản trị sở liệu máy chủ Cưa sỉ cho phÐp ng­êi sư dơng thay ®ỉi mËt khÈu Giao diện khởi động chương trình Giao diện chương trình đồ mở H×nh 3-21 : H×nh 3-22 : Thực đơn ngữ cảnh bảng nội dung Giao diện nhập liệu Trạm y tế xã H×nh 3-23 : H×nh 3-24 : Giao diện nhập liệu thông tin Huyện Giao diện nhập liệu thông tin Cơ sở Y tế Tỉnh Trang 47 57 61 63 64 65 66 67 68 68 69 69 70 70 71 71 72 72 73 73 74 74 75 75 -6- Mở đầu 1.Tính cấp thiết đề tài: Hệ thống thông tin địa lý (Geographic Information System - gọi tắt GIS) nhánh công nghệ thơng tin hình thành vào năm 1960 phát triển rộng rãi gần GIS ngày công cụ trợ giúp định nhiều hoạt động kinh tế - xã hội, quốc phòng nhiều quốc gia giới GIS có khả trợ giúp quan phủ, nhà quản lý, doanh nghiệp, cá nhân đánh giá trạng trình, thực thể tự nhiên, kinh tế - xã hội thông qua chức thu thập, quản lý, truy vấn, phân tích tích hợp thơng tin gắn với hình học (bản đồ) quán sở toạ độ liệu đầu vào Cïng víi sù ph¸t triĨn chung cđa thÕ giíi, ë n­íc ta năm gần GIS đà ứng dụng mạnh mẽ số ngành sử dụng rộng rÃi Nhờ có phát triển công nghệ thông tin, hệ thống thông tin địa lý ngày cải thiện trở nên hiệu hơn, dễ tiếp cận với người sử dụng khả hiển thị liệu chiều, công cụ phân tích không gian giao diện tuỳ biến Ngày nay, việc ứng dụng GIS đưa rộng rÃi vào hoạt động lĩnh vực để nâng cao hiệu công tác quản lý, đặc biệt công tác quản lý lực lượng y tế Xét góc độ ứng dụng quản lý lực lượng y tế, GIS hiểu công nghệ xử lý liệu có toạ độ (bản đồ) để biến chúng thành thông tin trợ giúp định cho nhà quản lý Do ứng dụng GIS hiệu quả, nhanh chóng, giúp cho việc quản lý y tế đa dạng khía cạnh tự nhiên, xà hội khía cạnh quản lý Tuỳ thuộc vào nhu cầu người sử dụng mà hệ thống tích hợp thông tin nhiều mức khác để phục vụ tốt cho nhu cầu quản lý lực lượng y tế khu phòng thủ vực tỉnh cách nhanh chóng hiệu cao Bên cạnh đó, giúp cho người làm công tác huy quân y tham khảo xây dựng kế -7- hoạch, phương án tổ chức bảo đảm quân y khu vực phòng thủ tỉnh Đồng thời giúp cho nhà quản lý y tế đưa giải pháp hiệu phù hỵp víi tõng vïng l·nh thỉ phơc vơ nhiƯm vơ chăm sóc, bảo vệ sức khoẻ cộng đồng Do đó, đà chọn đề tài " ứng dụng Hệ thống thông tin địa lý (GIS) quản lý lực lượng y tế khu vực phòng thủ tỉnh" Đề tài sử dụng công nghệ GIS kết hợp phần mềm phụ trợ để xây dựng, cập nhật sở liệu phục vụ cho công tác quản lý lực lượng y tế, đảm bảo yêu cầu có tài liƯu sư dơng, cung cÊp nhiỊu th«ng tin nhanh chãng, xác; trợ giúp cho nhà quản lý đưa định, chiến lược phát triển lực lượng y tế tỉnh cách hiệu Đề tài lấy khu vực thực nghiệm Tỉnh Bắc Giang Mục tiêu đề tài: - Đề xuất giải pháp ứng dụng hệ thông tin địa lý (GIS) quản lý lực lượng y tế khu vực phòng thủ tỉnh, nhằm hỗ trợ định cho lÃnh ®¹o chØ huy lËp kÕ ho¹ch, tỉ chøc huy ®éng bảo đảm y tế phục vụ cho hoạt động quan trọng - áp dụng kết đạt đề tài, xây dựng Hệ thống thông tin địa lý hoạt động kinh tế - quốc phòng an ninh Nhiệm vụ nghiên cứu: Để thực mục tiêu trên, đề tài cần tập trung giải nhiệm vụ cụ thể sau: - Phân tích trạng hoạt động y tế, đánh giá khả quản lý lực lượng y tế khu vực phòng thủ tỉnh - ứng dụng hệ thông tin địa lý (GIS) quản lý lực lượng y tế khu vực phòng thủ tỉnh Giới hạn phạm vi nghiên cứu: Đề tài tập trung nghiên cứu phạm vị quản lý hành khu vực tỉnh Bắc Giang -8- Nội dung nghiên cứu: Nghiên cứu ứng dụng hệ thông tin địa lý (GIS) kết hợp với phần mềm phụ trợ để xây dựng chương trình quản lý lực lượng y tế khu vực phòng thủ tỉnh Quan điểm phương pháp nghiên cứu: 6.1 Quan điểm nghiên cứu: Quan điểm hệ thống quan điểm đặc biệt mạng lưới y tế Trên quan điểm này, hệ thống tổ chức y tế dân chia thành tuyến nh­: tun trung ­¬ng - tun tØnh - tun hun tuyến xà Đồng thời, quân y có hệ thống tổ chức từ Tổng cục Hậu cần (Bộ), quân khu, quân đoàn - tuyến tỉnh - huyện đơn vị trực thuộc Về chất, mạng lưới y tế sở (xà phường, thị trấn y tế thôn bản) có vị trí tầm quan trọng đặc biệt hệ thống y tế nhà nước Đây đơn vị kỹ thuật y tế tiếp xúc với cộng đồng, chịu trách nhiệm cung cấp dịch vụ chăm sóc sức khoẻ ban đầu hoạt động y tế tuyến đầu, giảm sức ép tuyến sau nước ta, việc quản lý lực lượng y tế quan träng TiỊm lùc y tÕ kh«ng chØ phơ thc vào trạng mạng lưới y tế mà phụ thuộc lớn vào trị - xà hội, trình độ phát triển kinh tế điều kiện, tiềm tự nhiên 6.2 Phương pháp nghiên cứu: Hiện có nhiều phương pháp nghiên cứu, quản lý lực lượng y tế Thực đề tài này, tác giả đà kết hợp sử dụng số phương pháp nghiên cứu sau: + Phương pháp hồi cứu: - Hồi cứu tài liệu, tư liệu công tác quản lý mạng lưới y tế đà có - Phân tích tài liệu địa bàn tỉnh Bắc Giang có liên quan đến việc tổ chức mạng lưới y tế -107- private void btIn_Click(object sender, EventArgs e) { GIS_YTe.Reports.rptYteHuyen rpt = new GIS_YTe.Reports.rptYteHuyen(); rpt.DataSource = dtYteHuyen; this.Close(); rpt.ShowPreviewDialog(); } } Cập nhật thông tin bệnh viện, trung tâm y tế tỉnh public partial class CoSoYteTinh : DevExpress.XtraEditors.XtraForm { int indAct = 0; Users miUser = new Users(); DataTable dtYteTinh = new DataTable(); IWorkspaceFactory2 pWorkFact = null; IFeatureWorkspace pFWorkspace = null; IFeatureClass pFClasYte_Tinh = null; ITable pTabYTe_Tinh = null; public CoSoYteTinh() { InitializeComponent(); pWorkFact = new SdeWorkspaceFactoryClass(); ESRI.ArcGIS.esriSystem.IPropertySet propertySet = new ESRI.ArcGIS.esriSystem.PropertySetClass(); propertySet.SetProperty("SERVER", GlobalVariables.ServerName); propertySet.SetProperty("INSTANCE", GlobalVariables.Instanse); propertySet.SetProperty("DATABASE", GlobalVariables.DatabaseName); propertySet.SetProperty("USER", GlobalVariables.User); propertySet.SetProperty("PASSWORD", GlobalVariables.Password); //propertySet.SetProperty("AUTHENTICATION_MODE", "OSA"); propertySet.SetProperty("VERSION", GlobalVariables.Version); pFWorkspace = (IFeatureWorkspace)pWorkFact.Open(propertySet, 1); pFClasYte_Tinh = pFWorkspace.OpenFeatureClass("GIS_YTE.DBO.YTe_Tinh"); pTabYTe_Tinh = pFWorkspace.OpenTable("GIS_YTE.DBO.YTe_Tinh"); dtYteTinh = GetTable(pTabYTe_Tinh, "1=1"); activityBar1.Enabled = true; } private void CoSoYteTinh_Load(object sender, EventArgs e) { // TODO: This line of code loads data into the 'gIS_YTEDataSet.YTE_TINH' table You can move, or remove it, as needed this.yTE_TINHTableAdapter.Fill(this.gIS_YTEDataSet.YTE_TINH); activityBar1.Enabled = true; LogicButton(true); bindingSource1.DataSource = dtYteTinh; bindingNavigator1.BindingSource = bindingSource1; this.gridControl1.DataSource = bindingSource1; } private DataTable GetTable(ITable miTab, string QuerryFilter) -108- { IQueryFilter queryFilter = new QueryFilterClass(); queryFilter.WhereClause = QuerryFilter; DataTable dt = new DataTable(); ArrayList arr = new ArrayList(); DataColumn pColSTT = new DataColumn(); pColSTT.ColumnName = "STT"; dt.Columns.Add(pColSTT); for (int i = 0; i < miTab.Fields.FieldCount; i++) { string ColName = miTab.Fields.get_Field(i).Name.Trim(); if (ColName != "Shape" && ColName != "Shape.len" && ColName != "Shape.area") { DataColumn dc = dt.Columns.Add(miTab.Fields.get_Field(i).Name); arr.Add(i); } } ICursor miCur = miTab.Search(queryFilter, true); IRow pRow = null; int t = 0; while ((pRow = miCur.NextRow()) != null) { t++; DataRow dr = dt.NewRow(); dr["STT"] = (object)t; for (int i = 0; i < arr.Count; i++) { dr[i + 1] = pRow.get_Value(Convert.ToInt32(arr[i])); } dt.Rows.Add(dr); } return dt; } public DataTable GetTable(IFeatureClass featureClass, string QuerryFilter) { IQueryFilter queryFilter = new QueryFilterClass(); queryFilter.WhereClause = QuerryFilter; IFeatureCursor feaCur = featureClass.Search(queryFilter, false); DataTable dt = new DataTable(); DataColumn pColSTT = new DataColumn(); pColSTT.ColumnName = "STT"; dt.Columns.Add(pColSTT); ArrayList arr = new ArrayList(); for (int i = 0; i < feaCur.Fields.FieldCount; i++) { string ColName = feaCur.Fields.get_Field(i).Name.Trim(); if (ColName != "Shape" && ColName != "Shape.len" && ColName != "Shape.area") { DataColumn dc = dt.Columns.Add(feaCur.Fields.get_Field(i).Name); arr.Add(i); } -109- } IFeature fea = feaCur.NextFeature(); int t = 0; while (fea != null) { t++; DataRow dr = dt.NewRow(); for (int j = 0; j < arr.Count; j++) { dr[j + 1] = fea.get_Value(Convert.ToInt32(arr[j])); } dr["STT"] = (object)t; dt.Rows.Add(dr); fea = feaCur.NextFeature(); } return dt; } private void ReloadData() { string Filter = "1=1"; DataTable dt = new DataTable(); dt = GetTable(pTabYTe_Tinh, Filter); if (dt.Rows.Count == 0) { textBoxX1.Text = ""; textBoxX2.Text = ""; textBoxX3.Text = ""; textBoxX4.Text = ""; textBoxX5.Text = ""; integerInput1.ValueObject = null; integerInput2.ValueObject = null; integerInput3.ValueObject = null; integerInput4.ValueObject = null; integerInput5.ValueObject = null; integerInput6.ValueObject = null; integerInput7.ValueObject = null; integerInput8.ValueObject = null; integerInput9.ValueObject = null; integerInput10.ValueObject = null; integerInput11.ValueObject = null; integerInput12.ValueObject = null; integerInput13.ValueObject = null; integerInput14.ValueObject = null; integerInput15.ValueObject integerInput16.ValueObject integerInput17.ValueObject integerInput18.ValueObject integerInput19.ValueObject integerInput20.ValueObject integerInput21.ValueObject = = = = = = = null; null; null; null; null; null; null; this.ActiveControl = textBoxX1; -110- this.btSua.Enabled = false; } bindingSource1.DataSource = dt; bindingNavigator1.BindingSource = bindingSource1; this.gridControl1.DataSource = bindingSource1; } private void FilterData() { string Filter = "1=1"; dtYteTinh.DefaultView.RowFilter = Filter; DataTable dt = new DataTable(); dt = dtYteTinh.DefaultView.Table; if (dt.Rows.Count == 0) { textBoxX1.Text = ""; textBoxX2.Text = ""; textBoxX3.Text = ""; textBoxX4.Text = ""; integerInput1.ValueObject = null; integerInput2.ValueObject = null; integerInput3.ValueObject = null; integerInput4.ValueObject = null; integerInput5.ValueObject = null; integerInput6.ValueObject = null; integerInput7.ValueObject = null; integerInput8.ValueObject = null; integerInput9.ValueObject = null; integerInput10.ValueObject = null; integerInput11.ValueObject = null; integerInput12.ValueObject = null; integerInput13.ValueObject = null; integerInput14.ValueObject = null; integerInput15.ValueObject integerInput16.ValueObject integerInput17.ValueObject integerInput18.ValueObject integerInput19.ValueObject integerInput20.ValueObject integerInput21.ValueObject = = = = = = = null; null; null; null; null; null; null; this.ActiveControl = textBoxX1; this.btSua.Enabled = false; } bindingSource1.DataSource = dt; bindingNavigator1.BindingSource = bindingSource1; this.gridControl1.DataSource = bindingSource1; } private void ActView() { string ID = textBoxX4.Text; //dataGridViewX1.SelectedRows[0].Cells["OBJECTID"].Value; if (ID != "") { int IDObj = Convert.ToInt32(ID); GlobalVariables.frmMain.FlashSelectedFeatures(IDObj, pFClasYte_Tinh); } -111- } private void ActSua() { indAct = 2; LogicButton(false); this.ActiveControl = textBoxX1; } private void ActXoa() { indAct = 3; LogicButton(false); } private void ActGhi() { LogicButton(true); string ID = textBoxX4.Text; ; if (ID != "") { switch (indAct) { case 2://Sua Func(pFClasYte_Tinh, ID.Trim()); ReloadData(); break; case 3://Xoa //FilterData(); break; } } indAct = 4; } private void ActHuy() { LogicButton(true); indAct = 5; string miID = textBoxX4.Text.Trim(); if (miID != "") { IFeature fea = pFClasYte_Tinh.GetFeature(Convert.ToInt32(miID)); ShowInfoYteXa(fea); } } private void LogicButton(bool IsEnable) { this.btThem.Enabled = IsEnable; this.btSua.Enabled = IsEnable; this.btXoa.Enabled = IsEnable; this.btGhi.Enabled = !IsEnable; this.btHuy.Enabled = !IsEnable; this.btIn.Enabled = IsEnable; this.btThoat.Enabled = IsEnable; textBoxX1.Enabled = !IsEnable; textBoxX2.Enabled = !IsEnable; textBoxX3.Enabled = !IsEnable; textBoxX5.Enabled = !IsEnable; integerInput1.Enabled = !IsEnable; -112- integerInput2.Enabled integerInput3.Enabled integerInput4.Enabled integerInput5.Enabled integerInput6.Enabled integerInput7.Enabled integerInput8.Enabled = = = = = = = !IsEnable; !IsEnable; !IsEnable; !IsEnable; !IsEnable; !IsEnable; !IsEnable; integerInput9.Enabled = !IsEnable; integerInput10.Enabled = !IsEnable; integerInput11.Enabled = !IsEnable; integerInput12.Enabled = !IsEnable; integerInput13.Enabled = !IsEnable; integerInput14.Enabled = !IsEnable; integerInput15.Enabled integerInput16.Enabled integerInput17.Enabled integerInput18.Enabled integerInput19.Enabled integerInput20.Enabled integerInput21.Enabled = = = = = = = !IsEnable; !IsEnable; !IsEnable; !IsEnable; !IsEnable; !IsEnable; !IsEnable; bindingNavigator1.Enabled = IsEnable; labelX24.Enabled = !IsEnable; labelX25.Enabled = !IsEnable; } private void Func(IFeatureClass pFClass, string ObID) { IFeatureWorkspace featureWorkspace = (IFeatureWorkspace)pFWorkspace; IFeatureClass featureClass = pFClass; IWorkspaceEdit workspaceEdit = (IWorkspaceEdit)featureWorkspace; IMultiuserWorkspaceEdit muWorkspaceEdit = (IMultiuserWorkspaceEdit)featureWorkspace; if (muWorkspaceEdit.SupportsMultiuserEditSessionMode(esriMultiuserEditSessio nMode.esriMESMVersioned)) { muWorkspaceEdit.StartMultiuserEditing(esriMultiuserEditSessionMode.esriME SMVersioned); workspaceEdit.StartEditing(true); workspaceEdit.StartEditOperation(); IFeature feature; IQueryFilter queryFilter = new QueryFilterClass(); queryFilter.WhereClause = "OBJECTID=" + ObID.Trim(); IFeatureCursor feaCur = featureClass.Search(queryFilter, false); feature = feaCur.NextFeature(); while (feature != null) { feature.set_Value(feature.Table.FindField("Ma"), textBoxX1.Text); -113- feature.set_Value(feature.Table.FindField("Ten"), textBoxX2.Text); feature.set_Value(feature.Table.FindField("SoGiuong"), integerInput21.ValueObject); feature.set_Value(feature.Table.FindField("TsoLaoDong"), integerInput1.ValueObject); feature.set_Value(feature.Table.FindField("Nam"), integerInput2.ValueObject); feature.set_Value(feature.Table.FindField("Nu"), integerInput3.ValueObject); feature.set_Value(feature.Table.FindField("BacSy"), integerInput4.ValueObject); feature.set_Value(feature.Table.FindField("BacSy_CKI"), integerInput5.ValueObject); feature.set_Value(feature.Table.FindField("BacSy_CKII"), integerInput6.ValueObject); feature.set_Value(feature.Table.FindField("DuocSy_DH"), integerInput7.ValueObject); feature.set_Value(feature.Table.FindField("DuocSy_TH"), integerInput8.ValueObject); feature.set_Value(feature.Table.FindField("YSy"), integerInput9.ValueObject); feature.set_Value(feature.Table.FindField("KTV_THY"), integerInput10.ValueObject); feature.set_Value(feature.Table.FindField("KTV_THD"), integerInput11.ValueObject); feature.set_Value(feature.Table.FindField("YTa_DH"), integerInput12.ValueObject); feature.set_Value(feature.Table.FindField("YTa_TH"), integerInput15.ValueObject); feature.set_Value(feature.Table.FindField("YTa_SH"), integerInput16.ValueObject); feature.set_Value(feature.Table.FindField("NHSTrungHoc"), integerInput13.ValueObject); feature.set_Value(feature.Table.FindField("XNVTrungHoc"), integerInput14.ValueObject); feature.set_Value(feature.Table.FindField("DuocTa"), integerInput17.ValueObject); feature.set_Value(feature.Table.FindField("DaiHocKhac"), integerInput18.ValueObject); feature.set_Value(feature.Table.FindField("TrungHocKhac"), integerInput19.ValueObject); //CB_CNVKhac feature.set_Value(feature.Table.FindField("CB_CNVKhac"), integerInput20.ValueObject); feature.set_Value(feature.Table.FindField("GhiChu"), textBoxX5.Text); -114- if (axMapControl1.LayerCount > 0) { ILayer plyr = axMapControl1.Map.get_Layer(0); if (plyr is IRasterLayer) { IRasterLayer pRasLyr = (IRasterLayer)plyr; IRasterValue rasterValue = new RasterValueClass(); rasterValue.Raster = pRasLyr.Raster; feature.set_Value(feature.Table.FindField("Anh"), rasterValue); } } feature.Store(); feature = feaCur.NextFeature(); } workspaceEdit.StopEditOperation(); bool hasEdits = false; workspaceEdit.HasEdits(ref hasEdits); workspaceEdit.StopEditing(true); } } private void LoadToRasterAttribute(IFeatureClass featureClass, IRasterDataset rasterDataset, int OID) { IDataset dataset = (IDataset)featureClass; IWorkspaceEdit workspaceEdit = (IWorkspaceEdit)dataset.Workspace; workspaceEdit.StartEditing(false); workspaceEdit.StartEditOperation(); IFeature feature = featureClass.GetFeature(OID); //Find raster field index int iRasterField = 0; for (int i = 0; i < feature.Fields.FieldCount; i++) { if (feature.Fields.get_Field(i).Type == esriFieldType.esriFieldTypeRaster) { iRasterField = i; i = 1000; } } //Create raster value with input raster dataset IRasterValue rasterValue = new RasterValueClass(); rasterValue.RasterDataset = rasterDataset; //Set raster value to the raster field feature.set_Value(iRasterField, rasterValue); feature.Store(); //Stop editing and save edits workspaceEdit.StopEditOperation(); workspaceEdit.StopEditing(true); } private IRasterDataset OpenFileRasterDataset(string folderName, string datasetName) -115- { //Open raster file workspace IWorkspaceFactory workspaceFactory = new RasterWorkspaceFactoryClass(); IRasterWorkspace rasterWorkspace = (IRasterWorkspace)workspaceFactory.OpenFromFile(folderName, 0); //Open file raster dataset IRasterDataset rasterDataset = rasterWorkspace.OpenRasterDataset(datasetName); return rasterDataset; } private void ShowInfoYteXa(IFeature fea) { textBoxX1.Text = fea.get_Value(fea.Fields.FindField("Ma")).ToString(); textBoxX2.Text = fea.get_Value(fea.Fields.FindField("Ten")).ToString(); textBoxX3.Text = fea.get_Value(fea.Fields.FindField("DiaChi")).ToString(); textBoxX5.Text = fea.get_Value(fea.Fields.FindField("GhiChu")).ToString(); textBoxX4.Text = fea.OID.ToString(); int SoGiuong, TsoLaoDong, Nam, Nu, BacSy, BacSy_CKI, BacSy_CKII, DuocSy_DH, DuocSy_TH, YSy, KTV_THD, XNVTrungHoc; int KTV_THY, KTV_TH, YTa_DHD, YTa_DH, YTa_TH, YTa_SH, NHSTrungHoc, DuocTa, DaiHocKhac, TrungHocKhac, CB_CNVKhac; if (int.TryParse(fea.get_Value(fea.Fields.FindField("SoGiuong")).ToString(), out SoGiuong) == true) { integerInput21.Value = SoGiuong; } else { integerInput21.ValueObject = null; } //TsoLaoDong if (int.TryParse(fea.get_Value(fea.Fields.FindField("TsoLaoDong")).ToString( ), out TsoLaoDong) == true) { integerInput1.Value = TsoLaoDong; } else { integerInput1.ValueObject = null; } //Nam if (int.TryParse(fea.get_Value(fea.Fields.FindField("Nam")).ToString(), out Nam) == true) { integerInput2.Value = Nam; } else { integerInput2.ValueObject = null; } -116- //Nu if (int.TryParse(fea.get_Value(fea.Fields.FindField("Nu")).ToString(), out Nu) == true) { integerInput3.Value = Nu; } else { integerInput3.ValueObject = null; } //BacSy if (int.TryParse(fea.get_Value(fea.Fields.FindField("BacSy")).ToString(), out BacSy) == true) { integerInput4.Value = BacSy; } else { integerInput4.ValueObject = null; } //BacSy_CKI if (int.TryParse(fea.get_Value(fea.Fields.FindField("BacSy_CKI")).ToString() , out BacSy_CKI) == true) { integerInput5.Value = BacSy_CKI; } else { integerInput5.ValueObject = null; } //BacSy_CKII if (int.TryParse(fea.get_Value(fea.Fields.FindField("BacSy_CKII")).ToString( ), out BacSy_CKII) == true) { integerInput6.Value = BacSy_CKII; } else { integerInput6.ValueObject = null; } //DuocSy_DH if (int.TryParse(fea.get_Value(fea.Fields.FindField("DuocSy_DH")).ToString() , out DuocSy_DH) == true) { integerInput7.Value = DuocSy_DH; } else { integerInput7.ValueObject = null; } //DuocSy_TH -117- if (int.TryParse(fea.get_Value(fea.Fields.FindField("DuocSy_TH")).ToString() , out DuocSy_TH) == true) { integerInput8.Value = DuocSy_TH; } else { integerInput8.ValueObject = null; } //YSy if (int.TryParse(fea.get_Value(fea.Fields.FindField("YSy")).ToString(), out YSy) == true) { integerInput9.Value = YSy; } else { integerInput9.ValueObject = null; } //KTV_THY if (int.TryParse(fea.get_Value(fea.Fields.FindField("KTV_THY")).ToString(), out KTV_THY) == true) { integerInput10.Value = KTV_THY; } else { integerInput10.ValueObject = null; } //KTV_THD if (int.TryParse(fea.get_Value(fea.Fields.FindField("KTV_THD")).ToString(), out KTV_THD) == true) { integerInput11.Value = KTV_THD; } else { integerInput11.ValueObject = null; } //YTa_DH if (int.TryParse(fea.get_Value(fea.Fields.FindField("YTa_DH")).ToString(), out YTa_DH) == true) { integerInput12.Value = YTa_DH; } else { integerInput12.ValueObject = null; } //YTa_TH -118- if (int.TryParse(fea.get_Value(fea.Fields.FindField("YTa_TH")).ToString(), out YTa_TH) == true) { integerInput15.Value = YTa_TH; } else { integerInput15.ValueObject = null; } //YTa_SH if (int.TryParse(fea.get_Value(fea.Fields.FindField("YTa_SH")).ToString(), out YTa_SH) == true) { integerInput16.Value = YTa_SH; } else { integerInput16.ValueObject = null; } //NHSTrungHoc if (int.TryParse(fea.get_Value(fea.Fields.FindField("NHSTrungHoc")).ToString (), out NHSTrungHoc) == true) { integerInput13.Value = NHSTrungHoc; } else { integerInput13.ValueObject = null; } //XNVTrungHoc if (int.TryParse(fea.get_Value(fea.Fields.FindField("XNVTrungHoc")).ToString (), out XNVTrungHoc) == true) { integerInput14.Value = XNVTrungHoc; } else { integerInput14.ValueObject = null; } //DuocTa if (int.TryParse(fea.get_Value(fea.Fields.FindField("DuocTa")).ToString(), out DuocTa) == true) { integerInput17.Value = DuocTa; } else { integerInput17.ValueObject = null; } //DaiHocKhac if (int.TryParse(fea.get_Value(fea.Fields.FindField("DaiHocKhac")).ToString( ), out DaiHocKhac) == true) -119- { integerInput18.Value = DaiHocKhac; } else { integerInput18.ValueObject = null; } //TrungHocKhac if (int.TryParse(fea.get_Value(fea.Fields.FindField("TrungHocKhac")).ToStrin g(), out TrungHocKhac) == true) { integerInput19.Value = TrungHocKhac; } else { integerInput19.ValueObject = null; } //CB_CNVKhac if (int.TryParse(fea.get_Value(fea.Fields.FindField("CB_CNVKhac")).ToString( ), out CB_CNVKhac) == true) { integerInput20.Value = CB_CNVKhac; } else { integerInput20.ValueObject = null; } axMapControl1.Map.ClearLayers(); if (fea.get_Value(fea.Fields.FindField("Anh")) != DBNull.Value) { IRasterValue rasterValue = new RasterValueClass(); rasterValue = (IRasterValue)fea.get_Value(fea.Fields.FindField("Anh")); IRasterLayer pRasLyr = new RasterLayerClass(); pRasLyr.CreateFromDataset(rasterValue.RasterDataset); axMapControl1.Map.AddLayer((ILayer)pRasLyr); } axMapControl1.ActiveView.Refresh(); } private void btThem_Click(object sender, EventArgs e) { ActView(); } private void btSua_Click(object sender, EventArgs e) { ActSua(); } private void btXoa_Click(object sender, EventArgs e) { ActXoa(); } -120- private void btGhi_Click(object sender, EventArgs e) { ActGhi(); } private void btHuy_Click(object sender, EventArgs e) { ActHuy(); } private void btThoat_Click(object sender, EventArgs e) { this.Close(); } private void advBandedGridView1_DoubleClick(object sender, EventArgs e) { tabControl1.SelectedTab = tabItem1; } private void advBandedGridView1_FocusedRowChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs e) { object miID = this.advBandedGridView1.GetFocusedRowCellValue(this.colOBJECTID); if (miID != null) { IFeature fea = pFClasYte_Tinh.GetFeature(Convert.ToInt32(miID)); ShowInfoYteXa(fea); } } private void labelX25_Click(object sender, EventArgs e) { OpenFileDialog open = new OpenFileDialog(); // lọc file ảnh đưa vào openfieldialog open.Title = "Lua chon anh de luu vao CSDL"; open.Filter = "JPG File |*.jpg| BITMAP File|*.bmp| JPEG File|*.jpeg | All Graphic File|(*.jpg)||(*.bmp) "; if (open.ShowDialog() == DialogResult.OK) { //kiểm tra xem đường dẫn có tồn hay không if (open.FileName == "" || !File.Exists(open.FileName)) { if (open.CheckFileExists == true) MessageBox.Show("Tap tin ban chon khong ton tai"); return; } else { //Open raster file workspace axMapControl1.Map.ClearLayers(); string pFolderPath, pFileName, pathFile; -121- pathFile = open.FileName.Trim(); pFileName = pathFile.Substring(pathFile.LastIndexOf("\\") + 1); pFolderPath = pathFile.Substring(0, pathFile.LastIndexOf("\\")); IWorkspaceFactory workspaceFactory = new RasterWorkspaceFactoryClass(); IRasterWorkspace rasterWorkspace = (IRasterWorkspace)workspaceFactory.OpenFromFile(pFolderPath, 0); //Open file raster dataset IRasterDataset rasterDataset = rasterWorkspace.OpenRasterDataset(pFileName); IRasterLayer pRasLyr = new RasterLayerClass(); pRasLyr.CreateFromDataset(rasterDataset); axMapControl1.AddLayer((ILayer)pRasLyr); axMapControl1.Extent = pRasLyr.VisibleExtent; } } } private void labelX24_Click(object sender, EventArgs e) { axMapControl1.Map.ClearLayers(); axMapControl1.ActiveView.Refresh(); } private void btIn_Click(object sender, EventArgs e) { GIS_YTe.Reports.rptYteTinhcs rpt = new GIS_YTe.Reports.rptYteTinhcs(); rpt.DataSource = dtYteTinh; this.Close(); rpt.ShowPreviewDialog(); } } ... Phân tích trạng hoạt động y tế, đánh giá khả quản lý lực lượng y tế khu vực phòng thủ tỉnh - ứng dụng hệ thông tin địa lý (GIS) quản lý lực lượng y tế khu vực phòng thủ tỉnh Giới hạn phạm vi nghiên... cáo Việc ứng dụng hệ thống thông tin địa lý vào quản lý lực lượng y tế khu vực phịng thủ tỉnh B¾c Giang thay cho cách quản lý gi? ?y tờ, sổ sách sẽ: - Khắc phục tượng thông tin cán không đ? ?y đủ dẫn... l? ?y khu vực thực nghiệm Tỉnh Bắc Giang Mục tiêu đề tài: - Đề xuất giải pháp ứng dụng hệ thông tin địa lý (GIS) quản lý lực lượng y tế khu vực phòng thủ tỉnh, nhằm hỗ trợ định cho lÃnh đạo huy

Ngày đăng: 29/05/2021, 23:12

Tài liệu cùng người dùng

Tài liệu liên quan