MapInfo là phần mềm cụng cụ để xõy dựng bản đồ trờn mỏy tớnh kốm với cỏc chức năng phõn tớch địa lý.
Đõy là cụng cụ hoàn hảo để vẽ bản đồ trờn mỏy tớnh , nú cho phộp chỳng ta thực hiện cỏc phõn tớch địa lý phức tạp chẳng hạn như phõn chia khu vực , liờn kết dữ liệu từ xa, việc kộo thả hoặc loại bỏ cỏc đối tượng bản đồ trong ứng dụng và cho phộp tạo bản đồ dựa theo bản đồ.
Phần mềm MapInfo do cụng ty MapInfo Corporation của Mỹ xõy dựng , cụng ty ra đời từ năm 1986 và được biết đến chớnh thức từ năm 1994. Phần mềm MapInfo cú giao diện khỏ thõn thiện, dễ sử dụng nờn tương đối phụ̉ biến trờn thế giới cũng như ở Việt Nam (theo kết quả một khảo sỏt thống kờ cho biết cú 80% sử dụng phần mềm này trong nghiờn cứu và ứng dụng).
b) Tổ chức thụng tin trong tập tin
Thụng tin MapInfo quản lý và khai thỏc là thụng tin địa lý, tức là thụng tin cú phần thuộc tớnh và phần khụng gian.
Cấu trỳc dữ liệu
Phần thụng tin khụng gian cú cấu trỳc khụng gian theo mụ hỡnh vector – spaghetti. Điều này khiến cho dữ liệu MapInfo thường khỏ gọn nhẹ, nhưng cũng chớnh điều này khiến cho cỏc chức năng phõn tớch khụng gian của MapInfo cú hạn chế. Phần thuộc tớnh của thụng tin trong MapInfo được lưu dưới dạng bảng với cỏc cột và hàng theo kiểu mụ hỡnh quan hệ.
Về tổ chức
Thụng tin trong MapInfo tụ̉ chức theo từng table. Mỗi table là một tập hợp cỏc tập tin về dữ liệu khụng gian, thuộc tớnh và mối liờn kết giữa chỳng do hệ thống tạo ra. Mỗi table thường được tụ̉ chức theo cỏc tập tin sau:
• (table).tab: chứa thụng tin mụ tả cấu trỳc dữ liệu thuộc tớnh. Đú là file ở dạng văn bản mụ tả khuụn dạng của file lưu trữ thụng tin của bạn.
• (table).dat: chứa thụng tin thuộc tớnh, phần mở rộng của cỏc tập tin này cú thẻ là .dbf,…xls khi thụng tin được lấy từ FoxBase, Excel qua hoặc .bmp, .jpg… khi thụng tin được lấy từ là ảnh quột.
• (table).map: thụng tin khụng gian.
• (table).id : thụng tin về sự liờn kết giữa thụng tin khụng gian và thuộc tớnh của chỳng.
• (table).ind: chứa cỏc thụng tin về chỉ số ( index ) của đối tượng. Tập tin này chỉ cú khi trong cấu trỳc của table cú ớt nhất một trường dữ liệu ( field ) được chọn làm index.
Tập tin workspace (*.wor): cho phộp bạn lưu lại tất cả những Table và cửa sụ̉ ở mỗi lần làm việc. Điều này giỳp bạn tự động thực hiện những lệnh khụng cần thiết, tiết kiệm thời gian và trỏnh những thiếu sút.
Tổ chức thụng tin địa lý theo lớp đối tượng í niệm về layer
Trong bản đồ số, thụng tin khụng được hiển thị , trỡnh bày trờn cựng một mặt giấy như ở bản đồ truyền thống, ngược lại, nú được tụ̉ chức thành từng lớp riờng mà trong MapInfo ta gọi là layer . Cú thể hiểu layer như một tấm giấy trong suốt, trờn đú thể hiện hỡnh ảnh của cỏc đối tượng khỏc nhau, cỏc nội dung khỏc nhau của một bản đồ . Mỗi layer thường chỉ thể hiện một khớa cạnh nội dung của bản đồ truyền thống, là một tập hợp cỏc đối tượng bản đồ thuần nhất, thể hiện và quản lý cỏc đối tượng địa lý trong khụng gian theo một chủ đề cụ thể, phục vụ một mục đớch nhất định trong hệ thống. Với việc chồng cỏc layer này lờn nhau, ta sẽ cú được một bản đồ đầy đủ như bản đồ truyền thống, nhưng lại rất tiện lợi trong việc khai thỏc sau này .
Như vậy, layer chớnh là hỡnh ảnh cụ thể về dữ liệu khụng gian của 1 table. Vớ dụ như để đưa vào quản lý bản đồ của một khu vực dõn cư thực tế như hỡnh bờn ta cú thể chia làm 3 lớp thụng tin cơ bản sau:
• Lớp thụng tin về đường xỏ.
• Lớp thụng tin về nhà cửa.
• Lớp thụng tin về dõn cư.
Với cỏch tụ̉ chức thụng tin theo từng lớp đối tượng như vậy đó giỳp cho phần mềm MapInfo xõy dựng thành cỏc khối thụng tin độc lập cho cỏc mảnh
của bản đồ số. Điều đú sẽ giỳp thành lập cỏc bản đồ số linh hoạt hơn theo tập hợp cỏc layer khỏc nhau.
Đối tượng địa lý
Cỏc đối tượng địa lý, dữ liệu khụng gian cuối cựng cũng đưa về cỏc ý niệm cơ bản là điểm, đường, và vựng (miền). Trong MapInfo, cỏc đối tượng này được xõy dựng như sau:
• Đối tượng điểm ( point )
Cỏc đối tượng mà với tỉ lệ cụ thể của bản đồ kớch thước trở nờn nhỏ đến mức vị trớ của nú cú thể chỉ được xỏc định qua một cặp toạ độ x, y.
Hỡnh ảnh của đối tượng lỳc này chỉ mang tớnh quy ước ( cũn vị trớ thật thỡ được xỏc định bởi một điểm duy nhất ở tõm của hỡnh ảnh đú ) mà trong MapInfo, người ta gọi là Symbol.
Một đối tượng là Symbol thỡ cú cỏc thuộc tớnh sau :
o Vị trớ của đối tượng (xỏc định bởi cặp toạ độ x, y). o Hỡnh ảnh kớ hiệu : bao gồm:
Loại, kiểu ký hiệu (cú cỏc hiệu ứng khỏc nhau) Màu sắc
Kớch thước
• Đối tượng đường (line)
Cỏc đối tượng trải theo một tuyến, vị trớ được xỏc định bởi cỏc cặp toạ độ liờn tiếp. Hỡnh thức thể hiện của đối tượng đường cú tớnh quy ước về bề rộng.
Đối tượng đường trong MapInfo cú cỏc thuộc tớnh sau: o Cỏc cặp toạ độ xỏc định vị trớ.
o Hỡnh thức thể hiện đường , bao gồm : Kiểu đường .
Màu sắc .
Độ dày (độ dày này cú tớnh quy ước).
• Đối tượng vựng (region)
Được hiểu là một phần của bề mặt được giới hạn bởi một đường khộp kớn. Đối tượng vựng trong MapInfo cú cỏc thuộc tớnh sau:
o Cỏc cặp toạ độ xỏc định vị trớ của đường biờn của vựng. o Tõm của vựng.
Hỡnh thức thể hiện của vựng:
o Hỡnh thức thể hiện đường biờn (kiểu, màu, độ dày) o Hỡnh thức thể hiện phần bờn trong vựng, bao gồm:
Màu nền
Kiểu nột gạch (pattern) Màu của kiểu nột
• Chữ (text)
Chữ khụng phải là một đối tượng địa lý, nhưng trong MapInfo nú cũng là một thành phần độc lập khi hiển thị thụng tin khụng gian.
Chữ cú cỏc thuộc tớnh sau:
o Vị trớ của chữ ( xỏc định bởi một ụ chữ nhật chứa toàn bộ chữ ).
o Hỡnh thức thể hiện chữ :
Kiểu chữ (kể cả cỏc hiệu ứng khỏc nhau) Kớch thước chữ
Màu sắc
2.2.2. Mapxtreme
a) Sơ lược về MapXtreme 2005
MapXtreme 2005 là bộ cụng cụ phỏt triển phần mềm Window hàng đầu của tập đoàn MapInfo. Nú cho phộp người phỏt triển đó cú nhiều kinh nghiệm về .NET tạo cỏc ứng dụng Destop, cũng như Client/ Server mạnh mẽ, đặc biệt là về vấn đề định vị.
Để hỗ trợ .NET Framework trờn Window, MapXtreme 2005 đưa ra một mụ hỡnh đối tượng đơn nhằm phỏt triển và mở rộng cỏc ứng dụng bản đồ trờn Destop, mụi trường Client/ Server cụ̉ điển và Web.
MapXtreme 2005 là một cụng cụ phỏt triển ứng dụng vụ cựng cần thiết với cỏc tụ̉ chức, cơ quan mà cỏc cỏc dữ liệu trụng thấy được và cú thể vẽ bản đồ được cú thể giỳp họ cú những quyết định thương mại tốt hơn, quản lý tài nguyờn và cỏc hoạt động một cỏch hiệu quả hơn nhiều. MapXtreme cú thể được sử dụng như một bộ cụng cụ phõn tớch mạnh mẽ để đưa ra những quyết định thương mại hiệu quả nhất, chẳng hạn như :
• Vị trớ tốt nhất của cửa hàng buụn bỏn?
• Làm thế nào để vận chuyển cỏc sản phẩm hiệu quả nhất?
• Làm thế nào để quản lý và bảo vệ tài nguyờn?
Người phỏt triển cú thể sử dụng MapXtreme 2005 để rỳt ngắn thời gian hoàn thiện sản phẩm cũng như cải thiện hiệu suất, độ tin cậy và tớnh bảo mật. Từ bộ phỏt triển phần mềm (SDK _ Software Development Kit) đơn này, bạn cú thể phỏt triển cỏc ứng dụng sử dụng ngụn ngữ lập trỡnh .NET của riờng bạn ( như VB.NET, C# …..), chia sẻ và sử dụng lại code giữa cỏc triển khai của ứng dụng Destop và Web, truy xuất dữ liệu từ nhiều nguồn rộng rói khỏc nhau nhờ sử dụng cỏc giao thức chuẩn…
MapXtreme 2005 là một giao diện lập trỡnh ứng dụng cú 100% code quản lý được phỏt triển trờn nền Microsoft.NET Framework. Framework’s Common Language Runtime (RLC) cung cấp cỏc nền tảng cơ bản để giỳp bạn phỏt triển cỏc ứng dụng một cỏch đơn giản hơn.
b) Khỏi Niệm Về Mapping (Bản Đồ)
Bản đồ là thành phần trung tõm của một ứng dụng bản đồ. Thuật ngữ mapping là thuật ngữ quan trọng nhất mà ta sẽ bắt gặp khi xõy dựng một ứng
dụng với MapXtreme 2005. Sau đõy là cỏc khỏi niệm cơ bản giỳp chỳng ta tỡm hiểu trước khi xõy dựng một ứng dụng bản đồ:
• Maps
• Tables
• Layers
• Features
• Labels and Legends
• Themes
Maps
Một Map(Bản đồ) biểu diễn mối quan hệ hỡnh học giữa cỏc nột đặc trưng bản đồ (map features) như: ranh giới giữa cỏc thị xó, thành phố và cỏc quốc gia; định vị khỏch hàng. Bản đồ định hướng cho bạn một cỏi nhỡn trực quan về những đặc tớnh này như thế nào và chỳng trỡnh bày về cỏi gỡ. Thờm vào cỏc nột đặc trưng trờn thỡ cú cỏc thành phần trờn bản đồ bao gồm: label (cỏc nhón), titles(cỏc tiờu đề), legends (cỏc chỳ thớch) và themes (cỏc chủ đề).
Themes được tạo ra dựa trờn một số sự kiện diễn ra liờn quan đến cỏc features và thụng tin trờn bản đồ.
Bản đồ được chứa trong một MapControl. MapControl cung cấp cỏc cụng cụ cơ bản cho việc hiệu chỉnh về việc nhỡn bản đồ (pan, zoom in, zoom out, center).
Cú 3 cỏch để tạo một bản đồ khi xõy dựng ứng dụng với MapXtreme 2005:
• Dựng MapXtreme 2005 Workspace Manager để xõy dựng và lưu một map workspace.
• Dựng MapXtreme 2005 template cung cấp MapControl để rờ và kộo thả vào một form Visual Studio .NET
Tables
Cỏc Table chứa dữ liệu mà bạn muốn hiển thị lờn bản đồ. Cỏc Table lưu chứa cỏc hàng và cỏc cột, cỏc hàng và cột này dựng để mụ tả cỏc features bao gồm: phần hỡnh học, loại (kiểu) và cỏc thuộc tớnh của chỳng. MapXtreme 2005 hỗ trợ cỏc bảng từ nhiều nguồn khỏch nhau bao gồm : MapInfo.TAB, relational database management systems (RDBMS), dBase, MS Access, ASCII files, and ESRI ShapeFiles. Cỏc bảng đặc biệt bao gồm : raster, grid, seamless, views, WMS, and ADO.NET. Cỏc bảng được mở và đúng thụng qua lớp Catalog trong khụng gian tờn miền MapInfo.Data.
Layers
Trong bản đồ số thụng tin khụng được hiển thị, trỡnh bày trờn cựng một mặt giấy như trong bản đồ truyền thống mà nú được tụ̉ chức thành từng lớp riờng mà trong MapInfo ta gọi là Layer. Cú thể hiểu layer như một tấm giấy trong suốt, trờn đú thể hiện hỡnh ảnh cỏc đối tượng khỏc nhau và nội dung khỏc nhau của một bản đồ. Mỗi layer thường chỉ thể hiện một khớa cạnh nội dung của bản đồ truyền thống, với việc chồng cỏc layer này lờn nhau, ta sẽ cú được một bản đồ đầy đủ như bản đồ truyền thống.
Như vậy layer chớnh là hỡnh ảnh cụ thể về dữ liệu khụng gian của một Table. cỏc bản đồ được tạo từ cỏc Layers, cũn Layers thỡ chứa cỏc map features.
Thứ tự cỏc Layers rất quan trọng, Layer ở tầng thấp nhất thỡ được vẽ trước tiờn cũn layer ở tầng cao nhất thỡ được vẽ sau cựng. Một layer chứa cỏc features mà che lắp cỏc features của layer khỏc thỡ phải được đặt ở dưới. vớ dụ : layer của đối tuợng là vựng ranh giới phải được đặt dưới layer của cỏc đối tượng điểm.
Features
Cỏc Feature được mụ tả bởi phần hỡnh học, loại, dữ liệu nguồn, khúa vàcỏc thuộc tớnh của chỳng. Một feature tiờu biểu là một hàng trong Table. Phần hỡnh học bao gồm cỏc đối tượng đúng (đa giỏc, ellipse, hỡnh trũn, hỡnh chữ nhật, hỡnh vuụng), đối tượng điểm và đối tượng đường(đường thẳng, đường gắp khỳc) . Loại là chỉ đến kiểu kớ hiệu biểu diễn cho đối tượng hỡnh học. Cỏc thuộc tớnh gồm màu sắc, kớch thước, độ dày…
Trong MapXtreme 2005 thỡ lớp Feature thuộc khụng gian MapInfo.Data
Label và Legend
Một bản đồ khụng cú cỏc yếu tố để diễn tả cỏi gỡ được hiển thị trờn nú thỡ sẽ khụng thể là một bản đồ hữu ớch. Do đú cỏc bản đồ cần cú phần văn bản hiển thị như cỏc nhón và cỏc chỳ thớch. Trong MapXtreme 2005 hỗ trợ cỏc lớp làm việc với cỏc nhón như LabelSource, LablelProperties và LabelModifiers thuộc MapInfo.Mapping namspace
Legend (chỳ thớch): chứa một tiờu đề để mụ tả bản đồ biểu diễn cỏi gỡ. Trong MapXtreme 2005 Legen là một phần của lớp Adornments thuộc MapInfo.Mapping namespace
Themes
Bản đồ số khụng chỉ hữu dụng trong việc biểu diễn mối quan hệ giữa cỏc map feature mà chỳng ta cũn cú thể phõn tớch dưới dạng dữ liệu, dữ liệu này được kết hợp với cỏc feature để biết được nhiều thụng tin hơn về những gỡ mà chỳng ta thấy trờn bản đồ. Một kỹ thuật dựng phộp phõn tớch phụ̉ biến là tạo một theme dựa trờn cỏc feature của Layer với cỏc dữ liệu được sắp xếp theo một trật tự đó được chỉ định. Vớ dụ: một dóy cỏc theme biểu diễn cỏc khối màu, mỗi màu biễu diễn cỏc features trờn bản đồ theo cựng một tiờu chuẩn. Vớ dụ một kớ hiệu hỡnh trũn đó phõn chia tỉ lệ dựng để biểu diễn sự phõn bố dõn số, kớ hiệu lớn nhất dựng để biểu diễn dõn số lớn nhất.
Hỡnh 2.4. Biểu diễn bằng theme
Cỏc theme cũng cú thể được tạo bởi cỏc nhón . vớ dụ dựng một dóy cỏc nhón để biểu mối quan hệ về mật độ dõn số của cỏc thành phố, nhón lớn nhất sẽ biểu diễn thành phố cú dõn số lớn nhất.
MapInfo.Mapping.Thematics namespace chứa cỏc lớp để hiện thực cỏc themes.
c) Kiến Trỳc MapXtreme 2005
MapXtreme 2005 được xõy dựng dựa trờn nền .NET framework của Microsoft. Điều này tạo cho bạn một thế mạnh về khả năng đỏp ứng trong việc phỏt triển cỏc ứng dụng dựa trờn nền NET Framework.
Với cỏc mó lệnh giống nhau bạn cú thể phỏt triển một ứng dụng desktop hoặc ứng dụng web, nếu bạn phỏt triển ứng dụng cho desktop bạn cú thể chỉ cần hiệu chỉnh ứng dụng với sự thay đụ̉i rất ớt phần mó lệnh.
Hỡnh bờn dưới minh họa kiến trỳc MapXtreme 2005. MapInfoCoreEngine.dll assembly và MapInfo.CoreTypes.dll assembly chứa hầu hết cỏc hàm cốt lừi để truy xuất bản đồ và dữ liệu. Trờn đỉnh của Core Engine là namespace MapInfo.Windows và namespaces MapInfo.Web chứa cỏc controls, tools và cỏc hàm giỳp cho việc phỏt triển ứng dụng. Bất kỡ ứng dụng nào được phỏt triển trờn mụ hỡnh đối tượng MapXtreme 2005 thỡ đều dựa trờn namespace MapInfo.Windows hoặc namespace MapInfo.Web.
d) Danh Sỏch Cỏc Namespace Trong MapXtreme 2005
• MapInfo.Data • MapInfo.Engine • MapInfo.Mapping • MapInfo.Data.Find • MapInfo.Geometry • MapInfo.Persistence • MapInfo.Raster • MapInfo.Styles • Mapinfo.Tools • MapInfo.Windows.Controls • MapInfo.WebControls
• MapInfo.Geocoding
•MapInfo.Routing
MapInfo.Data Namespace
MapInfo.Data namespace chứa cỏc lớp và giao diện được cài đặt từ trỡnh điều khiển kết nối cơ sở dữ liệu của MapInfo (MapInfo .NET Data Provider). Để truy xuất dữ liệu trong MapInfo cú 2 cỏch : dựng ADO.NET Data Provider tương tỏc với dữ liệu dựng SQL hoặc dựng mụ hỡnh đối tượng Feature để tương tỏc với dữ liệu dựng cỏc lớp.
MapInfo ADO.NET Data Provider được hiện thực dựng cỏc lớp sau: MIConnection, MICommand, MIDataReader và MIParameter
MapInfo ADO.NET Data Provider
Mụ hỡnh đối tượng Feature bao gồm cỏc lớp sau: Catalog, Table, Feature, IFeatureCollection, ITableFeatureCollection, FeatureCollection,
IResultSetFeatureCollection, MultiResultSetFeatureCollection, SearchInfo và QueryDefinition.
Table
Lớp Table là thành phần cơ sở của tất cả dữ liệu được truy xuất. Table, Column và tất cả cỏc tập tin thụng tin siờu dữ liệu *.TAB được truy xuất từ bảng MapInfo. Cỏc Table chứa dữ liệu mà bạn muốn hiển thị lờn bản đồ. Cỏc Table lưu chứa cỏc hàng và cỏc cột, cỏc hàng và cột này dựng để mụ tả cỏc features bao gồm: phần hỡnh học, loại (kiểu) và cỏc thuộc tớnh của chỳng. cỏc Table cũng cú thể được mở và truy xuất mà khụng cú hiển thị trong bản đồ.
Table Alias
Khi Table được mở thỡ chỳng cú thể được gỏn một tờn (alias), tờn này được dựng để tham khảo đến một table khi table đó mở.vớ dụ Table cú thể được tham khảo tới trong cõu truy vấn SQL. Một Table được mở từ file .TAB thỡ được gỏn một alias mặc định nếu như khụng cú alias nào được chỉ định.