Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 169 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
169
Dung lượng
2,21 MB
Nội dung
HV: Nguyễn Nhất Sinh Trang i GVHD : TS Trần Trọng Đức ĐẠI HỌC QUỐC GIA TP HCM TRƯỜNG ĐẠI HỌC BÁCH KHOA NGUYỄN NHẤT SINH ỨNG DỤNG HỆ THỐNG THÔNG TIN ĐỊA LÝ TRONG PHÂN KHÚC THỊ TRƯỜNG THỨC ĂN GIA SÚC Chuyên ngành : Bản đồ, viễn thám hệ thống thông tin địa lý Mã số: 60 44 76 LUẬN VĂN THẠC SĨ TP HỒ CHÍ MINH, tháng 07 năm 2011 Luận văn thạc sĩ HV: Nguyễn Nhất Sinh GVHD : TS Trần Trọng Đức Trang ii CƠNG TRÌNH ĐƯỢC HỒN THÀNH TẠI TRƯỜNG ĐẠI HỌC BÁCH KHOA –ĐHQG -HCM Cán hướng dẫn khoa học : Tiến sĩ Trần Trọng Đức Cán chấm nhận xét : TS Nguyễn Kim Lợi Cán chấm nhận xét : TS Tào Quốc Tuấn Luận văn thạc sĩ bảo vệ Trường Đại học Bách Khoa, ĐHQG Tp HCM ngày 09 tháng 09 năm 2011 Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm: PGS.TS Hà Quang Hải TS Nguyễn Kim Lợi TS Tào Quốc Tuấn TS Lê Minh Vĩnh TS Trần Trọng Đức Xác nhận Chủ tịch Hội đồng đánh giá LV Trưởng Khoa quản lý chuyên ngành sau luận văn sửa chữa (nếu có) Chủ tịch Hội đồng đánh giá LV Luận văn thạc sĩ Bộ môn quản lý chuyên ngành HV: Nguyễn Nhất Sinh Trang iii ĐẠI HỌC QUỐC GIA TP.HCM TRƯỜNG ĐẠI HỌC BÁCH KHOA GVHD : TS Trần Trọng Đức CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự – Hạnh phúc - NHIỆM VỤ LUẬN VĂN THẠC SĨ Họ tên học viên : NGUYỄN NHẤT SINH Phái : Nam Ngày, tháng, năm sinh : 24/11/1985 Nơi sinh : Tây Ninh Chuyên ngành : Bản đồ, viễn thám GIS MSHV : 09100342 I TÊN ĐỀ TÀI ỨNG DỤNG HỆ THỐNG THÔNG TIN ĐỊA LÝ TRONG PHÂN KHÚC THỊ TRƯỜNG THỨC ĂN GIA SÚC II NHIỆM VỤ VÀ NỘI DUNG Nhiệm vụ - Thu thập liệu điều tra dân số, thông tin đại lý trại chăn ni, liệu giao thơng, liệu hành tỉnh Long An - Chọn lựa mơ hình phân khúc thị trường áp dụng mơ hình để phân khúc thị trường thức ăn gia súc tỉnh Long An - Ứng dụng hệ thống thông tin địa lý để hỗ trợ q trình phân tích thị trường thể kết phân khúc thị trường thị trường mục tiêu công ty kinh doanh thức ăn gia súc Nội dung - Nghiên cứu lý thuyết mơ hình phân khúc thị trường : Priori segmentation model (mơ hình phân khúc thị trường xác định trước) , Post hoc segmentation model (mơ hình phân khúc thị trường sau phân tích) , Hybrid segmentation model (mơ hình phân khúc thị trường tổng hợp), Flexible segmentation model (mơ hình phân khúc thị trường linh hoạt), Componential segmentation model (mô hình phân khúc thị trường thành phần) Tập trung vào mơ hình phân khúc thị trường post hoc để tiến hành phân khúc thị trường thức ăn gia súc - Xây dựng số cơng cụ hỗ trợ q trình phân tích thị trường GIS Luận văn thạc sĩ HV: Nguyễn Nhất Sinh Trang iv GVHD : TS Trần Trọng Đức - Phân khúc thị trường theo đặc điểm nhân thực để tạo phân khúc có đặc điểm nhân giống - Trên sở kết phân khúc thị trường theo đặc điểm nhân khẩu, phân khúc thị trường theo nhu cầu thức ăn chăn nuôi thực Kết tạo thành phân khúc thị trường khơng có đặc điểm nhân giống giống nhu cầu thức ăn chăn nuôi - Thị trường mục tiêu công ty kinh doanh thức ăn chăn nuôi cụ thể xác định cở sở kết phân khúc thị trường III NGÀY GIAO NHIỆM VỤ : 14/02/2011 IV NGÀY HOÀN THÀNH NHIỆM VỤ : 01/07/2011 V CÁN BỘ HƯỚNG DẪN : Tiến sĩ Trần Trọng Đức Nội dung đề cương Luận văn thạc sĩ Hội đồng chuyên ngành thông qua CÁN BỘ HƯỚNG DẪN CHỦ NHIỆM BỘ MÔN KHOA QL CHUYÊN NGÀNH (Họ tên chữ ký) QUẢN LÝ CHUYÊN NGÀNH (Họ tên chữ ký) (Họ tên chữ ký) Luận văn thạc sĩ HV: Nguyễn Nhất Sinh Trang v GVHD : TS Trần Trọng Đức LỜI CẢM ƠN Tôi xin chân thành bày tỏ lòng biết ơn sâu sắc đến thầy giáo hướng dẫn Tiến sĩ Trần Trọng Đức công tác Bộ môn Địa Tin học, khoa Kỹ thuật Xây dựng, trường Đại học Bách khoa, Đại học Quốc gia Thành phố Hồ Chí Minh Thầy tận tình hướng dẫn, giúp đỡ tơi hồn thành luận văn Chân thành cảm ơn Q thầy tận tình giảng dạy tơi q trình học tập trường Đại học Bách khoa Thành phố Hồ Chí Minh Chân thành cảm ơn ba mẹ ủng hộ động viên Cảm ơn ba hỗ trợ mặt liệu kiến thức thực tế Cảm ơn mẹ tơi chăm sóc cho tơi Nguyễn Nhất Sinh Luận văn thạc sĩ HV: Nguyễn Nhất Sinh Trang vi GVHD : TS Trần Trọng Đức TÓM TẮT LUẬN VĂN Phân khúc thị trường giúp nhà tiếp thị phát khu vực tiềm phù hợp với tiềm lực công ty thị trường Hệ thống thơng tin địa lý có khả hỗ trợ q trình phân khúc thị trường thể kết theo khu vực địa lý Do đó, luận văn nghiên cứu vấn đề phân khúc thị trường thức ăn gia súc cách tích hợp hệ thống thơng tin địa lý với mơ hình phân khúc thị trường Năm mơ hình phân khúc thị trường đưa để thảo luận Và mơ hình phân khúc thị trường post hoc chọn để tích hợp với hệ thống thơng tin địa lý Bốn kỹ thuật giúp thực phân khúc thị trường mơ hình phân khúc thị trường đề cập đến Phương pháp phân nhóm Peterson [38] áp dụng trình phân khúc thị trường thức ăn gia súc tỉnh Long An Trong phương pháp nhóm tuần tự, thị trường thức ăn chăn nuôi phân nhóm theo nhóm biến nhân khẩu, biến thể nhu cầu tiêu thụ thức ăn chăn nuôi tổng đàn chăn ni xét đến Thuật tốn phục vụ q trình phân tích nhóm thuật tốn Kmean MacQueen [30] Nhược điểm xem số nhóm thông số nhập khắc phục việc cho số nhóm chạy từ đến số đối tượng Kết phân nhóm tạo thành từ số nhóm đánh giá để chọn số nhóm tốt Bên cạnh đó, việc sử dụng chức hệ thống thông tin địa lý để hỗ trợ trình phân tích thị trường đề cập đến Một số chức có sẵn số chức phát triển thêm sử dụng Các bước phân tích thị trường rút từ bước phân tích thị trường Aaker [web[1]] Kết luận văn phân khúc thị trường thị trường thức ăn chăn nuôi Các phân khúc khơng có đặc điểm nhân giống mà giống nhu cầu tiêu thụ thức ăn chăn nuôi Thị trường mục tiêu công ty kinh doanh thức ăn chăn nuôi xác định giúp công ty tập trung nguồn lực chỗ Các phân khúc thị trường có tiềm cao xác định Điều giúp nhà tiếp thị cơng ty có lợi cạnh tranh giành giật thị trường Luận văn thạc sĩ HV: Nguyễn Nhất Sinh Trang vii GVHD : TS Trần Trọng Đức ABSTRACT Market segmentation helps marketers discover potential areas which are suitable for company's power in total market Geographic information system is capable of supporting the process of market segmentation and presenting the results by geographical region Therefore, this thesis studies animal feed market segmentation by integrating geographic information system and a specific market segmentation model Five market segmentation models are discussed And post hoc segmentation model is chosen to integrate with geographic information system Four techniques of this model are mentioned Peterson’s sequential clustering is used to perform animal feed market segmentation in Long An province In sequential cluster analysis, animal feed market will be first carried out by clustering on demographic variables, then the market will be divided using number of livestocks MacQueen’s Kmean algorithm is used The main disadvantage of Kmean algorithm is that the number of cluster must be supplied as a parameter In this thesis, this problem is overcome by number of cluster range from to number of objects Results of this process will be elvaluated to choose the best cluster Besides, some tools of geographic information system served market analysis are introduced Some tools are available and some tools are new Steps of market analysis are drawn from Aaker’s steps Results of the thesis are market segments which have not only similar demographic characteristics but also similar needs for animal feed consumption Target markets of an animal feed production company are determined This can help this company to concentrate resources in place Maket segments with high potential are also identified This helps marketers to have more advantages in competition for market share Luận văn thạc sĩ HV: Nguyễn Nhất Sinh Trang viii GVHD : TS Trần Trọng Đức LỜI CAM ĐOAN Tơi cam đoan cơng trình nghiên cứu NGUYỄN NHẤT SINH Luận văn thạc sĩ HV: Nguyễn Nhất Sinh Trang GVHD : TS Trần Trọng Đức Mục lục NHIỆM VỤ LUẬN VĂN THẠC SĨ iii LỜI CẢM ƠN v TÓM TẮT LUẬN VĂN vi ABSTRACT vii Mục lục Danh sách hình CHƯƠNG 1.1 Đặt vấn đề 1.2 Mục tiêu nghiên cứu phạm vi nghiên cứu 1.3 Nội dung nghiên cứu 1.4 Ý nghĩa khoa học ý nghĩa thực tiễn 11 1.4.1 Ý nghĩa khoa học 11 1.4.2 Ý nghĩa thực tiễn 11 CHƯƠNG 12 2.1 Tổng quan thị trường thức ăn chăn nuôi 12 2.1.1 Thức ăn chăn nuôi 13 2.1.2 Một số yếu tố ảnh hưởng đến thị trường thức ăn chăn nuôi công ty 13 2.1.3 Phân khúc thị trường thức ăn chăn nuôi 15 2.2 Tổng quan phân khúc thị trường 15 2.2.1 Vị trí phân khúc thị trường kế hoạch Marketing 15 2.2.1 Biến phân khúc 17 2.2.2 Các mơ hình phân khúc thị trường 20 2.3 Tổng quan tình hình nghiên cứu phân khúc thị trường 26 CHƯƠNG 30 3.1 Phân tích thị trường 30 3.1.1 Geocoding 30 3.1.6 Hệ thống phân phối 40 3.1.7 Phân tích cạnh tranh 41 3.1.8 Phân bố nhân viên tiếp thị 41 3.2.8 Doanh số bán hàng tỷ lệ tăng trưởng thị trường 41 3.2 Phân khúc thị trường 42 3.2.1 Phân tích nhóm (Cluster Analysis) 44 3.2.2 Phân khúc thị trường 45 3.2.2.1 Geodemographic 45 3.2.2.2 Chọn biến chuẩn hoá 46 3.2.2.3 Thuật tốn nhóm Kmean 51 3.2.2.4 Đánh giá kết phân nhóm 52 3.2.2.5 Giới thiệu phần mềm R 53 CHƯƠNG 54 4.1 Dữ liệu 54 4.1.1 Thu thập liệu 54 4.1.2 Xử lý liệu 57 4.2 Phân tích thị trường GIS 64 4.2.1 Geocoding 64 Luận văn thạc sĩ HV: Nguyễn Nhất Sinh Trang GVHD : TS Trần Trọng Đức 4.2.2 Sử dụng chức GIS hỗ trợ trình phân tích thị trường 71 4.2.2.1 Thể đại lý trại chăn nuôi 71 4.2.2.2 Chọn xem thông tin khách hàng đối thủ 73 4.2.2.3 Kiểm tra phân bố đại lý trại chăn nuôi 76 4.2.2.4 Phân định khu vực bán hàng 77 4.2.2.5 Hệ thống phân phối 78 4.2.2.6 Phân tích cạnh tranh 79 4.2.2.7 Phân bố nhân viên tiếp thị 81 4.2.2.8 Doanh số bán hàng tỷ lệ tăng trưởng thị trường 82 4.3 Phân khúc thị trường theo Geodeomographic 83 4.3 Phân khúc thị trường thức ăn chăn nuôi 90 4.4 Kết phân khúc thị trường mục tiêu 95 CHƯƠNG 108 5.1 Kết đạt 108 5.2 Hạn chế 110 5.3 Hướng phát triển 111 Tài liệu tham khảo 112 Phụ lục 115 Luận văn thạc sĩ HV: Nguyễn Nhất Sinh Trang 147 GVHD : TS Trần Trọng Đức pDataGraphT.Reload pDataGraphT.Update Nothing pMxDoc.ActiveView.Refresh ElseIf strNamePoint = "Trai" Then j = Get_Layer_ID(strNamePoint) Set pPointLayer = pMxDoc.FocusMap.Layer(j) If Check_point_Layer(pPointLayer) = False Then MsgBox "Day khong phai point Layer" Exit Sub End If strHuyen = InputBox("Vui long nhap ten Huyen") txtHuyen.Text = "Trai" & " " & strHuyen Set pPFClass = pPolygonLayer.FeatureClass Set pQFilter = New QueryFilter pQFilter.WhereClause = "Huyen ='" & strHuyen & "'" Set pSelSet = pPFClass.Select(pQFilter, esriSelectionTypeIDSet, esriSelectionOptionNormal, Nothing) Set pFSel = pPolygonLayer Set pFSel.SelectionSet = pSelSet Set pSpatialFeature = pPolygonLayer.FeatureClass.GetFeature(pFSel.SelectionSet.IDs.Next) ' Su dung polygon duoc chon de tao spatial filter Set pSpatialFilter = New SpatialFilter With pSpatialFilter Set Geometry = pSpatialFeature.Shape SpatialRel = esriSpatialRelContains GeometryField = pPolygonLayer.FeatureClass.ShapeFieldName End With Set pFSelection = pPointLayer 'QI pFSelection.Clear pFSelection.SelectFeatures pSpatialFilter, esriSelectionResultNew, False pFSel.Clear pSelSet.Refresh pMxDoc.ActiveView.Refresh Set pFSel = pPointLayer Set pSelSet = pFSel.SelectionSet pSelSet.Search Nothing, False, pFCursor Set pFeature = pFCursor.NextFeature Set pPointFClass = pPointLayer.FeatureClass Do Until pFeature Is Nothing dblSLP = pFeature.Value(pPointFClass.FindField("P")) dblSLL = pFeature.Value(pPointFClass.FindField("L")) dblSLCa = pFeature.Value(pPointFClass.FindField("Ca")) dblSLC = pFeature.Value(pPointFClass.FindField("C")) dblSLV = pFeature.Value(pPointFClass.FindField("V")) dblSLJ = pFeature.Value(pPointFClass.FindField("J")) Luận văn thạc sĩ HV: Nguyễn Nhất Sinh Trang 148 GVHD : TS Trần Trọng Đức dblSLKhac = pFeature.Value(pPointFClass.FindField("Khac")) If dblSLP > Then txtDLP.Text = txtDLP.Text + txtP.Text = txtP.Text + pFeature.Value(pPointFClass.FindField("SD")) ElseIf dblSLL > Then txtDLL.Text = txtDLL.Text + txtL.Text = txtL.Text + pFeature.Value(pPointFClass.FindField("SD")) ElseIf dblSLCa > Then txtDLCa.Text = txtDLCa.Text + txtCa.Text = txtCa.Text + pFeature.Value(pPointFClass.FindField("SD")) ElseIf dblSLC > Then txtDLC.Text = txtDLC.Text + txtC.Text = txtC.Text + pFeature.Value(pPointFClass.FindField("SD")) ElseIf dblSLV > Then txtDLV.Text = txtDLV.Text + txtV.Text = txtV.Text + pFeature.Value(pPointFClass.FindField("SD")) ElseIf dblSLJ > Then txtDLJ.Text = txtDLJ.Text + txtJ.Text = txtJ.Text + pFeature.Value(pPointFClass.FindField("SD")) ElseIf dblSLKhac > Then txtDLKhac.Text = txtDLKhac.Text + txtKhac.Text = txtKhac.Text + pFeature.Value(pPointFClass.FindField("SD")) End If Set pFeature = pFCursor.NextFeature Loop 'Tao Table chua du lieu vua tinh duoc strfolder = "D:\Long An" strTen = txtHuyen.Text Dim strTrai As String Set pSWFactory = New ShapefileWorkspaceFactory If Dir("D:\Long An\" & strTen, vbDirectory) = strTen Then MsgBox "table da duoc tao" Else Set pWSName = pSWFactory.Create(strfolder, strTen, Nothing, 0) Set pName = pWSName Set pWSpace = pName.Open Set pFWSpace = pWSpace pOIDField.Type = esriFieldTypeOID pOIDField.Name = "OID" pOIDField.AliasName = "OID" With pLoaiField Type = esriFieldTypeString Name = "Loai" End With With pSLField Type = esriFieldTypeDouble Luận văn thạc sĩ HV: Nguyễn Nhất Sinh Trang 149 GVHD : TS Trần Trọng Đức Name = "SL" End With Set pFieldsEdit = New Fields With pFieldsEdit AddField pOIDField AddField pLoaiField AddField pSLField End With Set pFields = pFieldsEdit Set pTable = pFWSpace.CreateTable("SL", pFields, Nothing, Nothing, "") Set pRow = pTable.CreateRow pRow.Value(1) = "P" pRow.Value(2) = txtP.Text pRow.Store Set pRow = pTable.CreateRow pRow.Value(1) = "L" pRow.Value(2) = txtL.Text pRow.Store Set pRow = pTable.CreateRow pRow.Value(1) = "Ca" pRow.Value(2) = txtCa.Text pRow.Store Set pRow = pTable.CreateRow pRow.Value(1) = "C" pRow.Value(2) = txtC.Text pRow.Store Set pRow = pTable.CreateRow pRow.Value(1) = "V" pRow.Value(2) = txtV.Text pRow.Store Set pRow = pTable.CreateRow pRow.Value(1) = "J" pRow.Value(2) = txtJ.Text pRow.Store Set pRow = pTable.CreateRow pRow.Value(1) = "Khac" pRow.Value(2) = txtKhac.Text pRow.Store End If 'Ve bieu Set pBSWFactory = New ShapefileWorkspaceFactory Set pBWSpace = pBSWFactory.OpenFromFile("D:\Long An\" & strTen, 0) Set pBFWSpace = pBWSpace Set pBTable = pBFWSpace.OpenTable("SL") Set pDataGraphT = pDataGraphBase pDataGraphT.UseSelectedSet = False Luận văn thạc sĩ HV: Nguyễn Nhất Sinh Trang 150 GVHD : TS Trần Trọng Đức pDataGraphBase.Name = "San Luong Thuc An Tieu Thu" pDataGraphT.GeneralProperties.Title = "Thuc An Tieu Thu Huyen" & " " & strHuyen Set pSP = pDataGraphT.AddSeries("pie") pSP.colorType = esriGraphColorMatch pSP.PenProperties.Visible = True pSP.colorType = esriGraphColorPalette pSP.ColorPalette = "WindowsXP" pSP.InLegend = False pSP.Marks = True strFieldName = "SL" pSP.SourceData = pBTable pSP.SetField 0, strFieldName pSP.LabelField = "Loai" Set pPieSP = pSP pPieSP.ExplodeBiggestSlice = 30 pDataGraphT.GeneralProperties.Show3D = True pDataGraphT.Reload pDataGraphT.Update Nothing pMxDoc.ActiveView.Refresh End If ' create data graph window within ArcMap Dim pDGWin As IDataGraphWindow2 Set pDGWin = New DataGraphWindow Set pDGWin.DataGraphBase = pDataGraphBase pDGWin.Refresh pDGWin.PutPosition 20, 40, 20, 40 Set pDGWin.Application = ThisDocument.Parent pDGWin.Show (True) End Sub 2.6 Ty_le_tang_truong Private Sub Ty_le_tang_truong_Click() Dim pMxDoc As IMxDocument Set pMxDoc = ThisDocument Dim pMap As IMap Set pMap = pMxDoc.FocusMap Dim pLayer As IFeatureLayer Set pLayer = pMap.Layer(5) Dim pFClass As IFeatureClass Set pFClass = pLayer.FeatureClass Dim pFCursor As IFeatureCursor Set pFCursor = pFClass.Search(Nothing, False) Dim pFeature As IFeature Set pFeature = pFCursor.NextFeature Dim strfolder As String, strTen As String Dim pSWFactory As IWorkspaceFactory Luận văn thạc sĩ HV: Nguyễn Nhất Sinh Trang 151 GVHD : TS Trần Trọng Đức Set pSWFactory = New ShapefileWorkspaceFactory Dim pWSName As IWorkspaceName Dim pName As IName Dim pWSpace As IWorkspace Dim pFWSpace As IFeatureWorkspace Dim pOIDField As IFieldEdit Set pOIDField = New Field Dim pLoaiField As IFieldEdit Set pLoaiField = New Field Dim pSLField As IFieldEdit Set pSLField = New Field Dim pFieldsEdit As IFieldsEdit Set pFieldsEdit = New Fields Dim pFields As IFields Dim pTable As ITable Dim pRow As IRow strfolder = "D:\Long An" strTen = "Toc do" If Dir("D:\Long An\" & strTen, vbDirectory) = strTen Then Else Set pWSName = pSWFactory.Create(strfolder, strTen, Nothing, 0) Set pName = pWSName Set pWSpace = pName.Open Set pFWSpace = pWSpace pOIDField.Type = esriFieldTypeOID pOIDField.Name = "OID" pOIDField.AliasName = "OID" With pLoaiField Type = esriFieldTypeString Name = "Nam" End With With pSLField Type = esriFieldTypeDouble Name = "Ty_le" End With Dim pDSField As IFieldEdit Set pDSField = New Field With pDSField Type = esriFieldTypeDouble Name = "DS" End With With pFieldsEdit AddField pOIDField AddField pLoaiField AddField pSLField AddField pDSField Luận văn thạc sĩ HV: Nguyễn Nhất Sinh Trang 152 GVHD : TS Trần Trọng Đức End With Set pFields = pFieldsEdit Set pTable = pFWSpace.CreateTable("DS", pFields, Nothing, Nothing, "") Set pRow = pTable.CreateRow pRow.Value(1) = "2004" pRow.Value(2) = pRow.Value(3) = pFeature.Value(pFClass.FindField("P2004")) pRow.Store Set pRow = pTable.CreateRow pRow.Value(1) = "2005" pRow.Value(2) = (pFeature.Value(pFClass.FindField("P2005")) pFeature.Value(pFClass.FindField("P2004"))) / pFeature.Value(pFClass.FindField("P2004")) * 100 pRow.Value(3) = pFeature.Value(pFClass.FindField("P2005")) pRow.Store Set pRow = pTable.CreateRow pRow.Value(1) = "2006" pRow.Value(2) = (pFeature.Value(pFClass.FindField("P2006")) pFeature.Value(pFClass.FindField("P2005"))) / pFeature.Value(pFClass.FindField("P2005")) * 100 pRow.Value(3) = pFeature.Value(pFClass.FindField("P2006")) pRow.Store Set pRow = pTable.CreateRow pRow.Value(1) = "2007" pRow.Value(2) = (pFeature.Value(pFClass.FindField("P2007")) pFeature.Value(pFClass.FindField("P2006"))) / pFeature.Value(pFClass.FindField("P2006")) * 100 pRow.Value(3) = pFeature.Value(pFClass.FindField("P2007")) pRow.Store Set pRow = pTable.CreateRow pRow.Value(1) = "2008" pRow.Value(2) = (pFeature.Value(pFClass.FindField("P2008")) pFeature.Value(pFClass.FindField("P2007"))) / pFeature.Value(pFClass.FindField("P2007")) * 100 pRow.Value(3) = pFeature.Value(pFClass.FindField("P2008")) pRow.Store Set pRow = pTable.CreateRow pRow.Value(1) = "2009" pRow.Value(2) = (pFeature.Value(pFClass.FindField("P2009")) pFeature.Value(pFClass.FindField("P2008"))) / pFeature.Value(pFClass.FindField("P2008")) * 100 pRow.Value(3) = pFeature.Value(pFClass.FindField("P2009")) pRow.Store Set pRow = pTable.CreateRow pRow.Value(1) = "2010" Luận văn thạc sĩ HV: Nguyễn Nhất Sinh Trang 153 GVHD : TS Trần Trọng Đức pRow.Value(2) = (pFeature.Value(pFClass.FindField("P2010")) pFeature.Value(pFClass.FindField("P2009"))) / pFeature.Value(pFClass.FindField("P2009")) * 100 pRow.Value(3) = pFeature.Value(pFClass.FindField("P2010")) pRow.Store End If Set pWSpace = pSWFactory.OpenFromFile("D:\Long An\" & strTen, 0) Set pFWSpace = pWSpace Set pTable = pFWSpace.OpenTable("DS") 'Ve bieu Dim pDataGraphBase As IDataGraphBase Dim pDataGraphT As IDataGraphT Set pDataGraphBase = New DataGraphT Set pDataGraphT = pDataGraphBase pDataGraphT.UseSelectedSet = False pDataGraphBase.Name = "Toc tang truong thi truong 2004 - 2010" pDataGraphT.AxisProperties(0).Title = "Toc tang truong (%)" pDataGraphT.AxisProperties(2).Title = "Doanh so nam" ' Tao bar series Dim pSP As ISeriesProperties Set pSP = pDataGraphT.AddSeries("bar:vertical") pSP.colorType = esriGraphColorMatch pSP.PenProperties.Visible = True pSP.colorType = esriGraphColorPalette pSP.ColorPalette = "WindowsXP" pSP.InLegend = True pSP.LabelField = "DS" pSP.Marks = True Dim strFieldName As String pSP.SourceData = pTable pSP.SetField 0, "Nam" pSP.SetField 1, "Ty_le" Dim pBarSP As IBarSeriesProperties Set pBarSP = pSP pBarSP.BarSize = 30 pBarSP.BarStyle = esriArrowBar pDataGraphT.GeneralProperties.Show3D = True pDataGraphT.Reload pDataGraphT.Update Nothing pMxDoc.ActiveView.Refresh ' Tao data graph window Dim pDGWin As IDataGraphWindow2 Set pDGWin = New DataGraphWindow Set pDGWin.DataGraphBase = pDataGraphBase pDGWin.Refresh 'pDGWin.PutPosition 20, 40, 20, 40 Luận văn thạc sĩ HV: Nguyễn Nhất Sinh Trang 154 GVHD : TS Trần Trọng Đức Set pDGWin.Application = ThisDocument.Parent pDGWin.Show (True) 'Ve bieu doanh so Dim strMeg As String strMeg = MsgBox("Ban co muon xem ty le tang truong theo nam duoc chon khong", vbYesNo) If strMeg = vbYes Then frmTyleTT.Show End If End Sub 2.7 TyleTT (Form) Private Sub cmdXem_Click() Dim pSWFactory As IWorkspaceFactory Set pSWFactory = New ShapefileWorkspaceFactory Dim pWSName As IWorkspaceName Dim pName As IName Dim pWSpace As IWorkspace Dim pFWSpace As IFeatureWorkspace Set pWSpace = pSWFactory.OpenFromFile("D:\Long An\Toc do", 0) Set pFWSpace = pWSpace Dim pTable As ITable Set pTable = pFWSpace.OpenTable("DS") Dim pCursor As ICursor Set pCursor = pTable.Search(Nothing, False) Dim pRow As IRow Set pRow = pCursor.NextRow Dim dblDST As Double, dblDSS As Double Do Until pRow Is Nothing If pRow.Value(pTable.FindField("Nam")) = txtTruoc.Text Then dblDST = pRow.Value(pTable.FindField("DS")) End If If pRow.Value(pTable.FindField("Nam")) = txtSau.Text Then dblDSS = pRow.Value(pTable.FindField("DS")) End If txtDSTruoc.Text = dblDST txtDSSau.Text = dblDSS txtTyle.Text = (dblDSS - dblDST) / dblDST * 100 Set pRow = pCursor.NextRow Loop End Sub Private Sub UserForm_Initialize() MsgBox "Du lieu chi co tu nam 2004 den 2010" End Sub 2.8 TyleTTDL (Form) Private Sub cmdXem_Click() Dim Ten As String Luận văn thạc sĩ HV: Nguyễn Nhất Sinh Trang 155 GVHD : TS Trần Trọng Đức Ten = "Dai_ly" Dim i As Integer i = Get_Layer_ID(Ten) Dim pMxDoc As IMxDocument Set pMxDoc = ThisDocument Dim pMap As IMap Set pMap = pMxDoc.FocusMap Dim pLayer As IFeatureLayer Set pLayer = pMap.Layer(i) Dim pFClass As IFeatureClass Set pFClass = pLayer.FeatureClass Dim pFCursor As IFeatureCursor Set pFCursor = pFClass.Search(Nothing, False) Dim pFeature As IFeature Set pFeature = pFCursor.NextFeature Dim strfolder As String, strTen As String Dim pSWFactory As IWorkspaceFactory Set pSWFactory = New ShapefileWorkspaceFactory Dim pWSName As IWorkspaceName Dim pName As IName Dim pWSpace As IWorkspace Dim pFWSpace As IFeatureWorkspace Dim pOIDField As IFieldEdit Set pOIDField = New Field Dim pLoaiField As IFieldEdit Set pLoaiField = New Field Dim pSLField As IFieldEdit Set pSLField = New Field Dim pFieldsEdit As IFieldsEdit Set pFieldsEdit = New Fields Dim pFields As IFields Dim pTable As ITable Dim pRow As IRow strfolder = "D:\Long An" strTen = "Dai ly" & txtTenDL.Text If Dir("D:\Long An\" & strTen, vbDirectory) = strTen Then Else Set pWSName = pSWFactory.Create(strfolder, strTen, Nothing, 0) Set pName = pWSName Set pWSpace = pName.Open Set pFWSpace = pWSpace pOIDField.Type = esriFieldTypeOID pOIDField.Name = "OID" pOIDField.AliasName = "OID" With pLoaiField Type = esriFieldTypeString Luận văn thạc sĩ HV: Nguyễn Nhất Sinh Trang 156 GVHD : TS Trần Trọng Đức Name = "Nam" End With With pSLField Type = esriFieldTypeDouble Name = "Ty_le" End With Dim pDSField As IFieldEdit Set pDSField = New Field With pDSField Type = esriFieldTypeDouble Name = "DS" End With With pFieldsEdit AddField pOIDField AddField pLoaiField AddField pSLField AddField pDSField End With Do Until pFeature Is Nothing If txtTenDL.Text = pFeature.Value(pFClass.FindField("Ten")) Then If txtCapDL.Text = pFeature.Value(pFClass.FindField("Cap")) Then Set pFields = pFieldsEdit Set pTable = pFWSpace.CreateTable("DS", pFields, Nothing, Nothing, "") Set pRow = pTable.CreateRow pRow.Value(1) = "2004" pRow.Value(2) = pRow.Value(3) = pFeature.Value(pFClass.FindField("P2004")) pRow.Store Set pRow = pTable.CreateRow pRow.Value(1) = "2005" pRow.Value(2) = (pFeature.Value(pFClass.FindField("P2005")) pFeature.Value(pFClass.FindField("P2004"))) / pFeature.Value(pFClass.FindField("P2004")) * 100 pRow.Value(3) = pFeature.Value(pFClass.FindField("P2005")) pRow.Store Set pRow = pTable.CreateRow pRow.Value(1) = "2006" pRow.Value(2) = (pFeature.Value(pFClass.FindField("P2006")) pFeature.Value(pFClass.FindField("P2005"))) / pFeature.Value(pFClass.FindField("P2005")) * 100 pRow.Value(3) = pFeature.Value(pFClass.FindField("P2006")) pRow.Store Set pRow = pTable.CreateRow pRow.Value(1) = "2007" Luận văn thạc sĩ HV: Nguyễn Nhất Sinh Trang 157 GVHD : TS Trần Trọng Đức pRow.Value(2) = (pFeature.Value(pFClass.FindField("P2007")) pFeature.Value(pFClass.FindField("P2006"))) / pFeature.Value(pFClass.FindField("P2006")) * 100 pRow.Value(3) = pFeature.Value(pFClass.FindField("P2007")) pRow.Store Set pRow = pTable.CreateRow pRow.Value(1) = "2008" pRow.Value(2) = (pFeature.Value(pFClass.FindField("P2008")) pFeature.Value(pFClass.FindField("P2007"))) / pFeature.Value(pFClass.FindField("P2007")) * 100 pRow.Value(3) = pFeature.Value(pFClass.FindField("P2008")) pRow.Store Set pRow = pTable.CreateRow pRow.Value(1) = "2009" pRow.Value(2) = (pFeature.Value(pFClass.FindField("P2009")) pFeature.Value(pFClass.FindField("P2008"))) / pFeature.Value(pFClass.FindField("P2008")) * 100 pRow.Value(3) = pFeature.Value(pFClass.FindField("P2009")) pRow.Store Set pRow = pTable.CreateRow pRow.Value(1) = "2010" pRow.Value(2) = (pFeature.Value(pFClass.FindField("P2010")) pFeature.Value(pFClass.FindField("P2009"))) / pFeature.Value(pFClass.FindField("P2009")) * 100 pRow.Value(3) = pFeature.Value(pFClass.FindField("P2010")) pRow.Store End If End If Set pFeature = pFCursor.NextFeature Loop End If Set pWSpace = pSWFactory.OpenFromFile("D:\Long An\" & strTen, 0) If Dir("D:\Long An\" & strTen, vbDirectory) = strTen Then Else MsgBox "Dai ly khong ton tai" Exit Sub End If Set pFWSpace = pWSpace Set pTable = pFWSpace.OpenTable("DS") 'Ve bieu Dim pDataGraphBase As IDataGraphBase Dim pDataGraphT As IDataGraphT Set pDataGraphBase = New DataGraphT Set pDataGraphT = pDataGraphBase pDataGraphT.UseSelectedSet = False pDataGraphBase.Name = "Toc tang truong thi truong 2004 - 2010 " & strTen Luận văn thạc sĩ HV: Nguyễn Nhất Sinh Trang 158 GVHD : TS Trần Trọng Đức pDataGraphT.AxisProperties(0).Title = "Toc tang truong (%)" pDataGraphT.AxisProperties(2).Title = "Doanh so nam" ' Tao bar series Dim pSP As ISeriesProperties Set pSP = pDataGraphT.AddSeries("bar:vertical") pSP.colorType = esriGraphColorMatch pSP.PenProperties.Visible = True pSP.colorType = esriGraphColorPalette pSP.ColorPalette = "WindowsXP" pSP.InLegend = True pSP.LabelField = "DS" pSP.Marks = True Dim strFieldName As String pSP.SourceData = pTable pSP.SetField 0, "Nam" pSP.SetField 1, "Ty_le" Dim pBarSP As IBarSeriesProperties Set pBarSP = pSP pBarSP.BarSize = 30 pBarSP.BarStyle = esriArrowBar pDataGraphT.GeneralProperties.Show3D = True pDataGraphT.Reload pDataGraphT.Update Nothing pMxDoc.ActiveView.Refresh ' Tao data graph window Dim pDGWin As IDataGraphWindow2 Set pDGWin = New DataGraphWindow Set pDGWin.DataGraphBase = pDataGraphBase pDGWin.Refresh 'pDGWin.PutPosition 20, 40, 20, 40 Set pDGWin.Application = ThisDocument.Parent pDGWin.Show (True) End Sub 2.9 Một số Function hỗ trợ 2.9.1 Get_Layer_ID Public Function Get_Layer_ID(strLayer_Name As String) As Integer Dim pMxDoc As IMxDocument Set pMxDoc = ThisDocument Dim pMap As IMap Set pMap = pMxDoc.FocusMap Dim pLayers As IEnumLayer Set pLayers = pMap.Layers pLayers.Reset Dim pLayer As ILayer Set pLayer = pLayers.Next Dim intCount As Integer Luận văn thạc sĩ HV: Nguyễn Nhất Sinh Trang 159 GVHD : TS Trần Trọng Đức intCount = Do Until pLayer Is Nothing If strLayer_Name Like pLayer.Name Then Get_Layer_ID = intCount End If intCount = intCount + Set pLayer = pLayers.Next Loop End Function 2.9.2 Check_polygon_layer Public Function Check_polygon_Layer(pFLayer As IFeatureLayer) As Boolean If pFLayer.FeatureClass.ShapeType esriGeometryPolygon Then Check_polygon_Layer = False Else Check_polygon_Layer = True End If End Function 2.9.3 Check_point_Layer Public Function Check_point_Layer(pFLayer As IFeatureLayer) As Boolean If pFLayer.FeatureClass.ShapeType esriGeometryPoint Then Check_point_Layer = False Else Check_point_Layer = True End If End Function 2.9.4 Xem_thong_tin(Tool) Private Sub Xem_thong_tin_MouseDown(ByVal button As Long, ByVal shift As Long, ByVal x As Long, ByVal y As Long) MsgBox "Chon hotlink de xem hinh anh ve doi tuong" Dim pMxDoc As IMxDocument Dim pActiveView As IActiveView Dim pIdentifyDialog As IIdentifyDialog Dim pIdentifyDialogProps As IIdentifyDialogProps Dim pEnumLayer As IEnumLayer Dim pLayer As ILayer Dim strName As String strName = InputBox("Nhap ten layer muon xem thong tin") Set pMxDoc = ThisDocument Set pActiveView = pMxDoc.FocusMap Set pIdentifyDialog = New IdentifyDialog Set pIdentifyDialogProps = pIdentifyDialog Set pIdentifyDialog.Map = pMxDoc.FocusMap Set pIdentifyDialog.Display = pActiveView.ScreenDisplay pIdentifyDialog.ClearLayers Set pEnumLayer = pIdentifyDialogProps.Layers pEnumLayer.Reset Luận văn thạc sĩ HV: Nguyễn Nhất Sinh Trang 160 GVHD : TS Trần Trọng Đức Set pLayer = pEnumLayer.Next Do While Not pLayer Is Nothing If pLayer.Name Like strName Then pIdentifyDialog.AddLayerIdentifyPoint pLayer, x, y pIdentifyDialog.Show Exit Do End If Set pLayer = pEnumLayer.Next Loop End Sub 2.9.5 Check_file_exist Private Function Check_File_Exist(strName As String) As Boolean If Dir(strName) "" Then Check_File_Exist = True Else Check_File_Exist = False End If End Function 2.9.6 AddFeatureLayer Private Function AddFeatureLayer(strWorkspace As String, strName As String) Dim pMxDoc As IMxDocument Set pMxDoc = ThisDocument Dim pMap As IMap Set pMap = pMxDoc.FocusMap Dim pFLayer As IFeatureLayer Set pFLayer = New FeatureLayer Dim pShapefileWorkSpaceFactory As IWorkspaceFactory Set pShapefileWorkSpaceFactory = New ShapefileWorkspaceFactory Dim pWork As IWorkspace Set pWork = pShapefileWorkSpaceFactory.OpenFromFile(strWorkspace, 0) Dim pFeatureClass As IFeatureClass Dim pFeatureWorkSpace As IFeatureWorkspace Set pFeatureWorkSpace = pWork Set pFeatureClass = pFeatureWorkSpace.OpenFeatureClass(strName) Set pFLayer.FeatureClass = pFeatureClass pFLayer.Name = pFeatureClass.AliasName pFLayer.ShowTips = True pMap.AddLayer pFLayer End Function Luận văn thạc sĩ HV: Nguyễn Nhất Sinh Trang 161 GVHD : TS Trần Trọng Đức LÝ LỊCH TRÍCH NGANG Họ tên : Nguyễn Nhất Sinh Ngày tháng năm sinh : 24/11/1985 Nơi sinh : Tây Ninh Địa liên lạc : 109/5 Long Chí, Long Thành Trung, Hoà Thành, Tây Ninh Email : Nhatsinh_nguyen85@yahoo.com QUÁ TRÌNH ĐÀO TẠO Tốt nghiệp Đại học Bách khoa, thuộc Đại học Quốc gia Tp Hồ Chí Minh năm 2009, chuyên ngành Trắc địa Bản đồ Từ năm 2009 đến học viên cao học chuyên ngành Bản đồ, viễn thám Hệ thống thông tin địa lý, trường Đại học Bách khoa Luận văn thạc sĩ ... hình phân khúc thị trường áp dụng mơ hình để phân khúc thị trường thức ăn gia súc tỉnh Long An - Ứng dụng hệ thống thông tin địa lý để hỗ trợ q trình phân tích thị trường thể kết phân khúc thị trường. .. khu vực địa lý Do đó, luận văn nghiên cứu vấn đề phân khúc thị trường thức ăn gia súc cách tích hợp hệ thống thơng tin địa lý với mơ hình phân khúc thị trường Năm mơ hình phân khúc thị trường đưa... GIS, phương pháp phân tích thị trường GIS đồ phân khúc thị trường thị trường mục tiêu công ty sản xuất thức ăn chăn nuôi Luận văn thực phân tích phân khúc thị trường thức ăn chăn nuôi tỉnh Long