.Kết quả của truy vấn vựng trờn bản đồ tổng thể

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Một số vấn đề về lưu trữ và chỉ mục trong cơ sở dữ liệu không gian Luận văn ThS. Công nghệ thông tin 60 48 05 (Trang 61 - 70)

3.6. Nhận xột kết quả đạt được

Chương trỡnh đó được cài đặt và chạy thử nghiệm trờn cơ sở dữ liệu của bản đồ mạng lưới tuyến xe buýt Hà Nội. Chương trỡnh cài đặt một thuật toỏn lưu trữ cõy tứ phõn điểm (Point Quadtree).

Chương trỡnh cú thể thực hiện được trờn những cơ sở dữ liệu khỏc nhưng phải định dạng Shapefile. Bước đầu đỏp ứng được những yờu cầu cần thiết về lưu trữ dữ liệu dạng cõy, hiển thị và truy vấn trờn bản đồ thực tế.

Tuy nhiờn cũng cũn một số hạn chế chưa hiển thị được chiều của đường đi trờn bản đồ (do thời gian khụng cho phộp và yờu cầu đề tài khụng cần thiết), trong tương lai em sẽ khắc phục một số hạn chế cũn tồn tại.

KẾT LUẬN

GIS là một lĩnh vực ứng dụng rất rộng, hầu như mọi chuyờn ngành đều cú dớnh dỏn đến tọa độ địa lý thỡ ắt cú dựng đến GIS. Hiện nay ở nước ta GIS đó được sử dụng khỏ phổ biến. Tuy nhiờn cần phải sử dụng đỳng và trỏnh lóng phớ, chẳng hạn khụng nờn dựng cỏc hệ CAD để quản lý thụng tin địa lý, hoặc khụng nờn chọn cỏc hệ GIS cú khả năng mở kộm và ớt phổ dụng... Muốn dựng GIS tốt, thỡ việc tỡm hiểu giải phỏp Quản trị CSDL của cỏc hệ GIS là hết sức quan trọng và chủ chốt để cú thể sử dụng đỳng, cú giải phỏp hợp lý về chi phớ, đỏp ứng vừa đủ nhu cầu và thuận tiện phỏt triển mở rộng cho cỏc chuyờn gia khụng chuyờn tin muốn sử dụng GIS cho cụng việc chuyờn mụn. Việc tỡm hiểu này cũng là bước đầu hết sức căn bản và cần thiết cho sự phỏt triển ứng dụng phần mềm cú những giải phỏp đỳng đắn khi muốn phỏt triển một hệ thống phần mềm GIS cho riờng mỡnh.

Xuất phỏt từ thực tế đú Luận văn nhằm tỡm hiểu tổng quan về hệ thống thụng tin địa lý và cơ sở dữ liệu khụng gian, cỏc kỹ thuật lưu trữ dữ liệu khụng gian và ứng dụng của chỳng. Cụ thể luận văn đó đạt được cỏc kết quả chớnh sau:

 Trỡnh bày tổng quan về hệ thống thụng tin địa lý và cơ sở dữ liệu khụng gian.

 Hệ thống húa cỏc kỹ thuật chỉ mục và tỡm kiếm trong CSDL khụng gian.  Trỡnh bày một số ứng dụng của cỏc kỹ thuật chỉ mục và tỡm kiếm trong

CSDL khụng gian và cài đặt kỹ thuật cõy tứ phõn điểm (Point Quadtree). Một số vấn đề cũn tồn tại trong luận văn là chưa đỏnh giỏ được hiệu suất lưu trữ của những kỹ thuật đó nờu.

Hướng nghiờn cứu tiếp theo sẽ cài đặt cỏc kỹ thuật cũn lại và xõy dựng phương phỏp phõn cụm dữ liệu trong cơ sở dữ liệu khụng gian.

Mặc dự em đó rất cố gắng nhưng do thời gian và trỡnh độ cú hạn nờn luận văn chắc chắn khụng trỏnh khỏi những thiếu sút nhất định. Trong tương lai, em sẽ cố gắng để hoàn thiện cỏc hạn chế và phỏt triển những vấn đề đó nờu. Em rất mong nhận được ý kiến đúng gúp của quý thầy cụ và bạn bố để luận văn ngày càng hoàn thiện hơn.

TÀI LIỆU THAM KHẢO

Tiếng Việt

[1] PGS. TS Đặng văn Đức (2001), Hệ thống thụng tin địa lý, NXB Khoa học và kỹ thuật, Hà Nội.

[2] TS. Đỗ Phỳc (2005) , Giỏo trỡnh Chuyờn đờ̀ Cơ sở dữ liệu nõng cao, Đại ho ̣c quụ́c gia Thành phụ́ Hụ̀ Chí Minh , Chương trình đào ta ̣o thạc sĩ CNTT qua mạng.

[3] Jeffrey D.Ullman, Nguyờn lý cỏc hệ Cơ sở dữ liệu và Cơ sở tri thức, bản dịch Tiếng Việt – dịch giả Trần Đức Quang, Nhà xuất bản thống kờ.

Tiếng Anh

[4] Aref W.G., and Samet H.: “Optimization Strategies for Spatial Query Processing”, Proc. 17th Int. Conf. on Very Large Data Bases, Barcelona, Spain, 1991, pp. 81-90.

[5] Berchtold S., Bửhm C., Keim D., Kriegel H.-P.: “A Cost Model For Nearest Neighbor Search in High-Dimensional Data Space”, ACM PODS Symposium on Principles of Database Systems, Tucson, Arizona, 1997.

[6] Berchthold S., Keim D., Kriegel H.-P.: “The X-Tree: An Index Structure for High-Dimensional Data”, 22nd Conf. on Very Large Databases, Bombay, India, 1996, pp. 28-39.

[7] Beckmann N., Kriegel H.-P., Schneider R., Seeger B.: “The R*-tree: An Efficient and Robust Access Method for Points and Rectangles”, Proc. ACM SIGMOD Int. Conf. on Management of Data, Atlantic City, NJ, ACM Press, New York, 1990, pp. 322-331.

[8] Ciaccia P., Patella M., Zezula P.: “M-tree: An Efficient Access Method for Similarity Search in Metric Spaces”, Proc. 23rd Int. Conf. on Very Large Data Bases, Athens, Greece, 1997, pp. 426-435.

[9] Cyrus Shahabi, Introduction to Spatial Database Systems, Ralf Hart Hartmut Guting’s VLDB Journal v3, n4, October 1994

[10] Ester M., Kriegel H.-P., Sander J., Xu X.: “A Density-Based Algorithm for Discovering Clusters in Large Spatial Databases with Noise”. Proc. 2nd Int. Conf. on Knowledge Discovery and Data Mining. Portland, Oregon, AAAI Press, Menlo Park, California, 1996, pp. 226-231.

[11] Ester, M., Kriegel, H.-P., Xu, X.: “A Database Interface for Clustering in Large Spatial Databases”, Proc. 1st Int. Conf. on Knowledge Discovery and Data Mining, Montreal, Canada, AAAI Press, Menlo Park, California, 1995. [12] Gueting R. H.: “An Introduction to Spatial Database Systems”, in: The VLDB Journal, Vol. 3, No. 4, October 1994, pp.357-399.

[13] Guttman A.: “R-trees: A Dynamic Index Structure for Spatial Searching“,

Proc. ACM SIGMOD Int. Conf. on Management of Data, 1984, pp. 47-54. [14] Jain A. K. and Dubes R. C.: “Algorithms for Clustering Data,” Prentice- Hall, Inc., 1988.

[15] Hanan Samet, The Design and Analysis of Spatial Data Structures, Addison-Wesley Publishing Company, 1990.

[16] Nievergelt, J., Hinterberger, H., and Sevcik, K. C. 1984: “The Grid file: An Adaptable, Symmetric Multikey File Structure”, ACM Trans. Database Systems 9(1), pp.38-71.

[17] Schikuta, E.: “Grid clustering: An efficient hierarchical clustering method for very large data sets”, In Proc. 13th Int. Conf. on Pattern Recognition, Vol 2, IEEE Computer Society Press, Los Alamitos, California, pp. 101-105.

[18] Von Jửrg Sander (1998), Generalized Density-Based Clustering for Spatial Data Mining

PHỤ LỤC A

Một số đoạn mó xõy dựng cõy tứ phõn điểm

{ Khởi tạo}

namespace SharpMap.Utilities.SpatialIndexing {

public class PointQuadTree {

private PointQuadTree NW=null;//Tõy Bắc private PointQuadTree SW=null;//Tõy Nam private PointQuadTree NE=null;//Đụng Bắc private PointQuadTree SE=null;//Đụng Nam public ItemValue Info;

public Point Val;

public struct ItemValue {

public String Value; public uint Id;

public ItemValue(String value, uint id) {

Value = value; Id = id; }

}

{ Phộp chốn }

public void Insert(PointQuadTree node, PointQuadTree root) {

if (node.Val.X < root.Val.X && node.Val.Y > root.Val.Y) { if (root.NW == null) { root.NW = node; return; } Insert(node, root.NW); }

if (node.Val.X <root.Val.X && node.Val.Y < root.Val.Y) {

if (root.SW == null) { root.SW = node; return; } Insert(node, root.SW); }

if (node.Val.X > root.Val.X && node.Val.Y > root.Val.Y) { if (root.NE == null) { root.NE = node; return; } Insert(node, root.NE); }

if (node.Val.X > root.Val.X && node.Val.Y < root.Val.Y) { if (root.SE == null) { root.SE = node; return; } Insert(node, root.SE); } } { Duyệt cõy }

public void scan(List<PointQuadTree> result, PointQuadTree root,

BoundingBox box) { if (box.Contains(root.Val)) result.Add(root); if (root.NE != null) { if(root.Val.X<box.Min.X) return; if(root.Val.Y<box.Min.Y) return;

scan(result, root.NE, box); }

{

if (root.Val.X > box.Max.X) return;

if (root.Val.Y > box.Max.Y) return;

scan(result, root.SW, box); }

if (root.NW != null)

scan(result, root.NW, box); if (root.SE != null)

scan(result, root.SE, box); }

Ngoài ra cũn cú một số thủ tục đọc nỳt(node) và lưu nỳt (node) trong cõy tứ phõn điểm như sau:

{ thủ tục đọc nỳt}

private static PointQuadTree ReadNode(ref System.IO.BinaryReader br) {

PointQuadTree node = new PointQuadTree();

node.Info = new ItemValue(br.ReadString(),br.ReadUInt32()); node.Val=new Point(br.ReadDouble(),br.ReadDouble());

int type = br.ReadInt32(); if (type == 1) node.NW = ReadNode(ref br); else if(type==2) node.SW = ReadNode(ref br); else if (type == 3) node.NE = ReadNode(ref br); else if (type == 4) node.SE = ReadNode(ref br); //NW, SW, NE, SE return node; } { thủ tục lưu nỳt}

private void SaveNode(PointQuadTree node, ref System.IO.BinaryWriter sw) {

//Write node boundingbox sw.Write(node.Info.Value); sw.Write(node.Info.Id); sw.Write(node.Val.X); sw.Write(node.Val.Y); //NW, SW, NE, SE int type = 0;

{ type = 1; sw.Write(type); SaveNode(node.NW, ref sw); }

if (node.SW != null) //Save SW node {

type = 2;

sw.Write(type);

SaveNode(node.SW, ref sw); }

if (node.NE != null) //Save NE node {

type = 3;

sw.Write(type);

SaveNode(node.NE, ref sw); }

if (node.SE != null) //Save SE node { type = 4; sw.Write(type); SaveNode(node.SE, ref sw); } }

PDF Merger

Thank you for evaluating AnyBizSoft PDF Merger! To remove this page, please

register your program!

Go to Purchase Now>>

 Merge multiple PDF files into one

 Select page range of PDF to merge

 Select specific page(s) to merge

 Extract page(s) from different PDF

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Một số vấn đề về lưu trữ và chỉ mục trong cơ sở dữ liệu không gian Luận văn ThS. Công nghệ thông tin 60 48 05 (Trang 61 - 70)

Tải bản đầy đủ (PDF)

(70 trang)