MapXtreme v9.4 Developer Guide - Precisely
[Pages:791]MapXtreme
Developer Guide
Version 9.4
Information in this document is subject to change without notice and does not represent a commitment on the part of the vendor or its representatives. No part of this document may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, without the written permission of Precisely, 2 Blue Hill Plaza, #1563, Pearl River, NY 10965. ? 2004, 2020 Precisely. All rights reserved. Contact and support information is located at: . This product contains SpatiaLite v 3.1.0, which is licensed under GNU Lesser General Public License, Version 2.1, February 1999. The license can be downloaded from: . The source code for this software is available from http:// gaia-gis.it/gaia-sins/win-binx86-test/spatialite-3.1.0b-test-win-x86.zip and . This product contains Feature Data Objects v 3.6.0, which is licensed under GNU Lesser General Public License, Version 2.1, February 1999. The license can be downloaded from: . The source code for this software is available from http:// fdo.content/fdo-360-downloads. This product contains HelpLibraryManagerLauncher.exe v 1.0.0.1, which is licensed under Microsoft Public License. The license can be downloaded from: . The source code for this software is available from . November 2020
Table of Contents
Table of Contents
Table of Contents 3
1 - Introduction to MapXtreme
13
Overview of MapXtreme
14
Key Features
15
Migrating to MapXtreme
17
Learning to Use MapXtreme
19
Support Resources
19
2 - Getting Started
21
Installation Requirements
22
Minimum System Requirements
23
Types of Installations
24
Development (SDK) Installations
24
Deployment (Runtime) Installations
24
Side-By-Side Installations and Use
24
Before You Install
25
Administrator Privileges
25
Install .NET Framework and Visual Studio First
25
IIS 7/8.5/10 Support
25
Default Install Directories for MapXtreme 27
Additional Installation Features
27
Installing MapXtreme in Your Environment 29
Upgrading MapXtreme
32
Migrating Web Sites to 64-bit Web Applications
33
Updating Existing Web Sites
33
Updating Existing Desktop Applications
34
Creating Applications in Visual Studio
35
Map Applications
36
Web Applications
38
MapXtreme Controls
40
Building Web Applications Without a
Template
40
Deploying Your Application
43
Deploying With the Runtime Installer
43
Deploying With Your Own Installer
44
Deploying a Web Application
49
Deploying Applications that Access Data 49
MapXtreme Web Applications Behind Proxy
Servers
49
Permissions to Temp Directory for Deployed
Web Applications
49
Application Data Files
49
Deployment Installation Troubleshooting 50
3 - Mapping Concepts
51
Mapping and MapXtreme
52
Maps
52
Tables
53
Layers
53
Features
54
Labels and Legends
54
Themes
55
Tools
56
Workspaces
56
Coordinate Systems and Projections
56
Geocoding with MapXtreme
57
Routing with MapXtreme
58
4 - Understanding the MapXtreme
Architecture
59
MapXtreme Architecture
60
Object Model Overview
61
MapInfo.Data Namespace
61
MapInfo.Data.Find Namespace
62
MapInfo.Engine Namespace
62
MapInfo.Geometry Namespace
62
MapInfo.Mapping Namespace
62
MapInfo.Mapping.Legends Namespace
62
MapInfo.Mapping.Thematics Namespace 63
MapInfo.Persistence Namespace
63
MapInfo.Raster Namespace
63
MapInfo.Styles Namespace
63
MapInfo.WebControls Namespace
63
MapInfo.Windows Namespace
63
MapInfo.Tools Namespace
64
MapInfo.Geocoding Namespace
64
MapInfo.Routing Namespace
64
Application Architectures
64
Web Application Architecture
65
Desktop Application Architecture
67
5 - Web Applications, Controls, and
MapXtreme 9.4
3
Developer Guide
MapXtreme 9.4 Developer Guide
Tools
69
Web Application Request/Response Lifecycle
70
Components of a MapXtreme Web Application
70
MapXtreme Session
70
Background Map
71
MapControl
71
Map Tools
73
State Management and Pooling Capabilities 73
MapXtreme Web Controls and Tools
74
Description of Web Controls and Tools
76
Web Control Architecture
78
Map Tools Architecture
79
How a Map Tool Works
81
Using the MapXtreme Web Controls
82
Managing Your Web Controls
83
Event Handling
83
Error Management
84
State Management
84
Creating a Custom Tool
84
Using and Distributing Custom Web Controls
87
Creating a Web Assembly
88
Adding an InfoTool to a Web Application 89
AJAX and MapXtreme Web
Applications
90
Adding AJAX Controls to a MapXtreme
Web Application
90
MapXtreme Tile Handler
92
Using the MapXtreme Tile Handler
93
Caching
95
HTML/XHTML Validation Issues
97
Migrating Post-back Web Controls to
JavaScript Web Controls
98
Loading Data
98
Replacing Controls
98
State and Event Management
99
Specialized Topics for Web Controls
99
Using Web Controls in Frames
99
Using the MapControl in Table Cells
100
Web Control Localization
100
6 - Understanding State Management 103
Overview
104
Terminology
104
What is State Management?
106
What State Management Options are Available?
106
Questions to Ask Before Writing Your Application
107
InProc Development Model
109
Pros and Cons of the InProc Development Model
110
InProc Management: A Walk-Through
110
Configuring an Application to Use the InProc
Development Model
111
Using the MapXtreme Template with the InProc
Development Model
112
State Management For Pooled Objects 113
What is Pooling?
113
Pros and Cons of Pooling
114
Saving State for Pooled Applications
114
Manual State Management: A Walk-Through
116
Configuring a Pooled Application to Use Manual
State Management
117
A Detailed Look at Manual State Management
119
Overview of the Thematics Sample
119
Application Settings
120
Implementing a StateManager
121
Serializing MapXtreme Objects in the Proper
Order
123
Automatically Deserializing MapXtreme Objects
124
Handling Initial Requests
124
Handling Subsequent Requests
125
A Closer Look at the MapXtreme Session 126
Configuring Microsoft COM+ Object Pooling 126
7 - Desktop Applications, Controls,
Dialogs, and Tools
129
Planning a Desktop Application
130
Best Practices for Desktop Applications 130
MapXtreme and COM
131
Sample Applications and Project Templates 131
MapInfo.Windows.Controls Namespace 132
Key Controls to Use in Desktop Applications
133
MapControl
134
MapToolStripButtons
135
The MapToolBar
137
Layer Control
139
MapInfo.Windows.Dialogs Namespace 141
MapXtreme 9.4
4
Developer Guide
CreateThemeWizard
142
Customizing Controls and Dialog Boxes 147
Overview of the MapInfo.Tools Namespace
147
MapXtreme Desktop Tools API
149
View Tools
150
Select Tools
150
Add Tools
151
Custom Tools
152
Shape Tools
152
Distance Map Tool
154
Using InfoTips
154
Customizing Tools
155
Tool Events
156
Editing a FeatureGeometry with the Select Tool
157
Reshaping a Feature
158
Adding Nodes
160
Reshaping and Adding Nodes Programmatically
160
8 - Working with Data
163
Overview of MapInfo.Data Namespace 164
Catalog and Tables
165
Tables
165
Catalog
170
Supported Table Types
172
Working with Catalog and Tables
175
Locating Open Tables
176
Closing a Table
177
Packing a Table
177
Listening to Table and Catalog Events
178
Table Metadata (TableInfo)
179
Examining TAB File Metadata
180
Creating a New Table
181
Adding Expression Columns to a Table 183
Data Sources
185
Choosing the Correct Data Source
185
Methods for Accessing Data
186
Data Readers, MemTables and Result Sets 187
Using an Data Provider
188
Data Binding
192
Making Tables Mappable
196
MapInfo Data Provider
199
MIConnection
199
MICommand
200
MIDataReader
202
MapInfo SQL
203
Features and Feature Collections
204
Table of Contents
Feature
204
Feature Collections
205
Searching for Features
205
Catalog Search Methods
206
SearchInfo and SearchInfoFactory
207
Saving Opened Table as GeoJson File
211
Analyzing Data
211
Improving Data Access Performance
214
9 - Working with Core MapXtreme
Classes
215
Session Interface
216
Session Management
216
Using Session.Dispose Method
217
ISessionEventHandlers
218
Serialization and Persistence
219
Serialization
219
Persistence
220
Opening and Saving a Workspace Containing
Named Resources
221
Opening an MWS: ResolveResource()
222
Saving an MWS: GetResourceName()
222
Registering Your Implementation with
MapXtreme
222
Setting Preferences
222
Selection Class
223
Using Selection Properties
223
Selection Highlighting and Exporting
224
SelectionChangedEvent
224
ISerializable Interface on Selection and
Selections Classes
224
Selection Code Examples
225
Selecting Features Within Another Feature 225
Checking a Table for Selections
225
Returning All Columns From a Table
226
Changing the Map View Following a Selection
226
Event Arguments
226
Exceptions
227
10 - Creating Expressions
229
Expressions Overview
230
Creating Expressions
230
Where Clause ? Boolean Expressions 231
Functions In Expressions
232
DateTIme and Time Expressions
232
Expression Examples
232
MapXtreme 9.4
5
Developer Guide
MapXtreme 9.4 Developer Guide
11 - Accessing Data from a DBMS 237
Accessing Remote Spatial Data
238
Accessing Remote Tables Through a .TAB File
238
Accessing Remote Tables Without a .TAB File
238
Mapping DBMS Data with X/Y Columns 239
Accessing Data from Oracle
239
Geometry Conversion
239
Oracle Support for Z and M Values
241
SDO_GEOMETRY Arc and Circle Translation
241
Visualization of Non-translatable Oracle Objects
242
Centroid Support
242
Oracle Spatial Reference Support (SRID) 242
OCI Connection Dialog
243
Accessing Data from MS SQL Server
243
SQL Server 2008 Support
243
DBMS Connection String Format
246
ODBC Connection String Format
246
ODBC Layers and Pooling in Web Applications
247
Oracle Spatial Connection String Format 248
Sample Connection Strings
248
Defining Mappable Tables in Server Table
Queries
248
The Geometry Column
249
The Key Column(s)
250
Accessing Attribute Data
251
Performance Issues
251
Working with the Cache
252
What Is the Cache?
252
How the Cache Works
252
The TableInfoServer Object and the
CacheSettings Property
253
Cache Storage Type:
256
The MapInfo_MapCatalog
256
Loading Spatial Data to DBMS
257
Manually Creating a MapInfo MapCatalog 257
Adding Rows to the MapInfo_MapCatalog 259
Per-Record Styles
264
Symbol, Pen, Brush Clause Syntax
264
Text Objects Limitation
265
Troubleshooting
266
12 - Adding Mapping Capability to
Your Applications
267
Introduction to the MapInfo.Mapping
Namespace
268
Base Mapping Classes
268
MapExport
268
Map
269
MapFactory
270
MapLoader
270
MapViewList, MapView
270
MapControl
271
Layers
271
FeatureLayer
272
Layers
272
MapLayer
272
UserDrawLayer
272
ObjectThemeLayer
273
GroupLayer
273
LabelLayer
273
GraticuleLayer
273
Layer Filters
273
IVisibilityConstraint
273
Code Example: Animation Layer
273
Labels
275
LabelLayer
276
LabelSource
276
LabelModifier
276
ILabelSourceFilter
277
LabelProperties
277
Generating Labels
277
Label Priorities
278
Label Layer Selectability
279
Code Example: Creating a LabelLayer
279
Curved Labels
280
Adornments
280
Legends
280
ScaleBar Adornment
281
Title Adornment
282
Feature Style Modifiers
282
FeatureStyleModifier
283
FeatureStyleModifiers
283
FeatureOverrideStyleModifier
283
Printing Your Map
284
13 - Finding Locations
285
Functional Overview of Find
286
The Find Process
286
Matching Address Numbers
288
Matching with a Refining Boundary Table 289
MapXtreme 9.4
6
Developer Guide
Find Results
289
Overview of the Data.Find Namespace 289
Find
290
.FindAddressRange
292
FindCloseMatch
293
FindResult
294
Fine Tuning the Find Process
297
Editing the Mapinfow.abb File
297
14 - Using Themes and Legends 305
Thematics Overview
306
Mapping.Thematics Namespace
306
Modifier Themes
306
Object Themes
307
GraduatedSymbolTheme
308
When To Use a Graduated Symbol Theme 308
PieTheme
309
When To Use a Pie Theme
309
Printing a Map Containing Pie/Bar Themes 310
BarTheme
310
When To Use a Bar Theme
310
Controlling Display Size for Pie and Bar Themes
311
RangedTheme
311
When To Use a Ranged Theme
312
Types of Ranged Values
312
RangedLabelTheme
314
When To Use a RangedLabelTheme Class 314
Ranged Themes and Serialization
315
IndividualValueTheme
315
When To Use an IndividualValueTheme Class
315
Creating an IndividualValueTheme with
Custom Bitmap Symbols
316
IndividualValueLabelTheme
317
When To Use an IndividualValueLabelTheme
Class
317
IndividualValue Themes and Serialization 318
DotDensityTheme
318
When To Use a DotDensityTheme Class 318
Bivariate Thematic Maps
319
Legends Overview
320
Theme Legends
320
Cartographic Legends
321
Formatting a Legend
322
Export/Import Theme and Style
322
Table of Contents
15 - Stylizing Your Maps
323
Overview of the MapInfo.Styles Namespace
324
StyleFactory
325
Style Descriptions
325
AreaStyle
325
BitmapPointStyle
326
CompositeStyle
326
SimpleInterior
326
Font
327
FontPointStyle
327
GridStyle
327
RasterStyle
327
Hillshade
327
Inflection
328
SimpleLineStyle
328
BasePointStyle
328
BaseLineStyle
328
BaseInterior
328
StockStyles
328
TextStyle
329
SimpleVectorPointStyle
329
Pre-defined Styles and the StyleRepository
Class
329
StyleRepository Class
329
Using Styles
330
Styles and Layer Control
330
Creating a Custom Bitmap Style
330
Overriding Styles
331
FeatureOverrideStyleModifiers
331
16 - Spatial Objects and Coordinate
Systems
333
Introduction to MapInfo.Geometry Namespace
334
Geometries
334
Geometry Objects
335
FeatureGeometry Objects
336
Geometry Objects
341
Including Your FeatureGeometry in a Map 342
Checking for Points in Polygons
343
Coordinate Systems
345
Creating a CoordSys Object
345
Changing the Coordinate System of a Geometry
Object
346
Determining the Coordinate System of a Map in
MapControl
347
Adding Coordinate Systems to MapXtreme 347
MapXtreme 9.4
7
Developer Guide
MapXtreme 9.4 Developer Guide
17 - Working with Rasters and Grids 351
Overview of the MapInfo.Raster Namespace
352
Raster Images
352
Raster Classes
354
Raster Images and Coordinate Systems 354
Raster Reprojection
354
Raster Image Limitations
355
Code Sample: Adding a Raster Image to a Map
355
Raster Handlers
356
Raster Handler Properties
358
MRR - Multi Resolution Raster Format 358
Benefits of MRR Technology
359
Data Storage in MRR
360
MRR support in MapXtreme
362
Configuring Custom Raster Handlers
364
Grid Images
365
Grid Classes
366
Code Sample: Adding a Grid Image to a Map
366
Code Sample: Retrieving Data from a Grid Map
367
Grid Creation
368
Grid Interpolators
369
Inverse Distance Weighted (IDW) Interpolator
369
Triangulated Irregular Network (TIN) Interpolator
369
IInterpolator Interface
370
Grid Style
370
Grid Images and Inflections
371
Inflection Methods
371
Calculating Inflection Values and Colors for a
Grid Layer
372
Relief Shading
373
Grid Style Dialog
373
GridInfoForm Sample Application
376
18 - Working with Maps from Tile
Servers
377
Tile Server Images
378
Tile Caching
378
Map Behavior with a Tile Server Layer 379
Using Tile Server Images
379
QuadKey
379
LevelRowColumn
380
WMTS (Web Map Tile Service)
380
Custom Resolution Tile Service
381
Consuming Tile Layers via APIs (without .tab/
.xml file)
382
TileServerType Enumeration
386
Sample Code Snippets
386
Opening Tile Server via APIs
386
Opening WMTS via APIs
387
Opening Custom Tile Server via APIs
388
Authentication to Tile Server
389
Tile Server Settings
389
License Key for Bing Maps
389
Via the Web or Desktop Configuration File 390
Via MapInfo.Engine.TileServerSettings Class
390
Sample Code for TileServerSettings class 390
Using TableInfoTileServer Class
391
Tile Server Sample Application
391
19 - Working with GeoPackage 393
Overview
394
Opening a GeoPackage file
394
Opening a GeoPackage Tab file
396
Enable GeoPackage as cache for RDB (SQL/
Oracle) tables
396
Create and Save GeoPackage file
programmatically
397
20 - Geocoding
399
Overview of the MapInfo.Geocoding
Namespace
400
Main Geocoding Classes
401
GeocodeRequest
402
GeocodeResponse
402
GeocodeClientFactory
402
GeocodingConstraints
402
AddressCandidates
402
BaseGeocodeMatchCode and
GeocodeMatchCode
402
CandidateAddress
403
Understanding the Geocoding Model
403
Geocoding Trade-offs
403
A Few Words About Addresses
404
What are Custom User Dictionaries?
405
What is World Geocoding?
405
Geocoding a Location
405
MapXtreme 9.4
8
Developer Guide
................
................
In order to avoid copyright disputes, this page is only a partial summary.
To fulfill the demand for quickly locating and searching documents.
It is intelligent file search solution for home and business.
Related download
- database administration sql server standards centers for medicare
- sql mp reference manual nonstoptools
- sql cast date format dd mm yyyy
- structured query language
- oracle database sql language quick reference
- datetime in where clause sql
- managing tables in microsoft sql server using sas
- mapxtreme v9 4 developer guide precisely
- paper 1334 2015 the essentials of sas dates and times
- getting the information you need from cdw sql starter language
Related searches
- salesforce platform developer 2 certificati
- biology 4.2 study guide answers
- 4 2 study guide overview of photosynthesis
- 4 3 study guide biology answers
- biology 4 2 study guide answers
- 6 4 biology study guide answers
- 11 4 study guide answers biology
- salesforce lightning developer guide
- microsoft visual web developer express
- business developer job description
- developer tools microsoft word
- salesforce developer edition