GM_DBTestConnection
测试输入的连接字符串,以验证是否可以用于连接到数据库。
GM_DLL_EXPORTED GM_Error_t32 __stdcall GM_DBTestConnection
(
const char* aConnectionStr // IN: Connection parameter string
);
GM_DBTableList_GetTableName
获取指定索引处的表名称。
GM_DLL_EXPORTED GM_Error_t32 __stdcall GM_DBTableList_GetTableName
(
char* aTableName, // OUT: Buffer in which table name will be placed
uint32 aIndex, // IN: The zero-based index for the table name
GM_DB_TableList_t32 aTableList // IN: Table list handle
);
GM_DBTableList_GetCount
获取表列表中的表数量。
GM_DLL_EXPORTED GM_Error_t32 __stdcall GM_DBTableList_GetCount
(
uint32* aCount, // OUT: The number of table names in the list
GM_DB_TableList_t32 aTableList // IN: Table list handle
);
GM_DBTableList_Free
释放与表列表关联的内存。
GM_DLL_EXPORTED GM_Error_t32 __stdcall GM_DBTableList_Free
(
GM_DB_TableList_t32* aTableList // IN: Table list handle to be freed
);
GM_DBSelectTable
显示一个对话框,允许用户选择一个或多个要加载的表。
GM_DLL_EXPORTED GM_Error_t32 __stdcall GM_DBSelectTable
(
GM_DB_TableList_t32* aTableList, // OUT: Handle for list of selected table names
const char* aConnectionStr // IN: Connection parameter string or database file name
);
GM_DBSelectExportTable
显示一个对话框,允许用户选择要导出数据的表。
GM_DLL_EXPORTED GM_Error_t32 __stdcall GM_DBSelectExportTable
(
char* aTable, // OUT: Buffer for storing table name
uint32 aBufferLength, // IN: The length of the table name buffer
boolean* aTableExists, // OUT: Indicates whether or not the selected table exists
const char* aConnectionStr // IN: Connection parameter string or database file name
);
GM_DBMakeConnectionString
根据输入的连接参数生成连接字符串。
GM_DLL_EXPORTED GM_Error_t32 __stdcall GM_DBMakeConnectionString
(
char* aConnectionStr, // OUT: The connection string buffer
uint32 aBufferLength, // IN: The length of the connection string buffer
const GM_DBConnectionParms_t* aConnectionParms // IN: The connection parameters
);
GM_DBIsDatabaseFile
判断输入文件是否为数据库(Esri地理数据库、Spatialite等)。
GM_DLL_EXPORTED boolean __stdcall GM_DBIsDatabaseFile
(
const char* aFileName // IN: The file name
);
GM_DBGetTableList
获取指定空间数据库中的表列表。
GM_DLL_EXPORTED GM_Error_t32 __stdcall GM_DBGetTableList
(
GM_DB_TableList_t32* aTableList, // OUT: Table list handle
const char* aConnectionInfo // IN: Connection string or database file name
);
GM_DecodeMGRSCoordinates
将 MGRS(军事网格参考系统)坐标字符串解码为 X/Y 或经纬度位置。
GM_Error_t32 __stdcall GM_DecodeMGRSCoordinates
(
const char* aMgrsStr, // IN: buffer with MGRS coordinate text
double* aX, // OUT: point X/longitude coordinate
double* aY, // OUT: point Y/latitude coordinate
boolean aLatLon // IN: TRUE - return coordinates are lat/lon, FALSE - return coordinates are in the current projection
)
GM_DeleteFeature
更改图层中给定索引处区域、线或点要素的删除状态。请注意,“删除”要素实际上并不会释放它或从图层的要素列表中删除它,而是将其标记为已删除,并在绘制时使其无效。要重新激活已标记为删除的要素,只需将 aDelete 值设置为 FALSE,再次调用此方法。
GM_Error_t32 GM_DeleteFeature
(
GM_LayerHandle_t32 aLayer, // IN: Layer the point is in
GM_FeatureClassType_t8 aFeatureClassType, // IN: Type of feature class (area, point, line)
uint32 aFeatureIndex, // IN: Index of feature in layer
boolean aDelete // IN: Use TRUE to mark as deleted, FALSE to clear delete flag
);
GM_DrawGridLines
在给定位置将网格线(经度/纬度或视图投影中的)绘制到提供的设备上下文中。如果aWorldBounds参数不为空,则至少绘制指定区域。屏幕像素的纵横比将保持不变,所以可能会绘制比指定区域稍大的世界边界。如果aWorldBounds参数为空,将绘制所有加载图层的网格边界。
GM_Error_t32 GM_DrawGridLines
(
HDC aDC, // Device context to draw to
boolean aLatLonGrid, // Draw a lat/lon grid or a view projection grid
double aGridSpacing, // Grid spacing (use 0.0 for default)
const GM_Rectangle_t* aWorldBounds, // World bounds to draw or NULL for all
sint32 aLeftPixel, // Left pixel coordinate to draw to
sint32 aTopPixel, // Top pixel coordinate to draw to
sint32 aPixelWidth, // Width in pixels to draw
sint32 aPixelHeight // Height in pixels to draw
);
GM_DrawGridLinesEx
将指定位置的网格线(经度/纬度或视图投影中的)绘制到提供的设备上下文中。如果aWorldBounds参数不为空,则至少绘制指定区域。屏幕像素的纵横比将保持不变,因此可能会绘制比指定区域稍大的世界边界。如果aWorldBounds参数为空,将绘制所有加载图层的网格边界。
如果指定了aMaxGridBounds参数,网格线将被允许在指定的范围内绘制。否则,网格线将被限制在所有加载数据的边界范围内。
GM_Error_t32 GM_DrawGridLinesEx
(
HDC aDC, // Device context to draw to
boolean aLatLonGrid, // Draw a lat/lon grid or a view projection grid
double aGridSpacing, // Grid spacing (use 0.0 for default)
const GM_Rectangle_t* aWorldBounds, // World bounds to draw or NULL for all
sint32 aLeftPixel, // Left pixel coordinate to draw to
sint32 aTopPixel, // Top pixel coordinate to draw to
sint32 aPixelWidth, // Width in pixels to draw
sint32 aPixelHeight, // Height in pixels to draw
const GM_Rectangle_t* aMaxGridBounds // Maximum grid bounds (NULL for loaded data bounds)
);
GM_DrawLayer
将一个或多个图层绘制到提供的设备上下文中,并在给定位置进行显示。如果aWorldBounds参数不为空,则至少绘制指定区域。屏幕像素的纵横比将保持不变,因此可能会绘制比指定区域稍大的世界边界。如果aWorldBounds参数为空,则将渲染整个指定的图层或所有加载的图层。
GM_Error_t32 GM_DrawLayer
(
HDC aDC, // Device context to draw to
GM_LayerHandle_t32 aLayer, // Layer to draw or NULL for all
const GM_Rectangle_t* aWorldBounds, // World bounds to draw or NULL for all
sint32 aLeftPixel, // Left pixel coordinate to draw to
sint32 aTopPixel, // Top pixel coordinate to draw to
sint32 aPixelWidth, // Width in pixels to draw
sint32 aPixelHeight // Height in pixels to draw
);
GM_DrawLayerList
将一个或多个图层绘制到提供的设备上下文中,并在给定位置进行显示。如果aWorldBounds参数不为空,则至少绘制指定区域。屏幕像素的纵横比将保持不变,因此可能会绘制比指定区域稍大的世界边界。如果aWorldBounds参数为空,则将渲染整个指定的图层或所有加载的图层。
GM_Error_t32 GM_DrawLayerList
(
HDC aDC, // Device context to draw to
GM_LayerHandle_t32* aLayerList, // List of layers to draw or NULL for all
uint32 aLayerCount, // Number of layers in list (0 for all)
GM_DrawFlags_t32 aDrawFlags, // Flags controlling how the draw is performed
const GM_Rectangle_t* aWorldBounds, // World bounds to draw or NULL for all
sint32 aLeftPixel, // Left pixel coordinate to draw to
sint32 aTopPixel, // Top pixel coordinate to draw to
sint32 aPixelWidth, // Width in pixels to draw
sint32 aPixelHeight // Height in pixels to draw
);
GM_DrawLayerListToMemory
将一个或多个图层绘制到提供的内存缓冲区中,并在给定位置进行显示。如果aWorldBounds参数不为空,则至少绘制指定区域。屏幕像素的纵横比将保持不变,因此可能会绘制比指定区域稍大的世界边界。如果aWorldBounds参数为空,则将渲染整个指定的图层或所有加载的图层。
GM_Error_t32 GM_DrawLayerListToMemory
(
GM_LayerHandle_t32* aLayerList, // List of layers to draw or NULL for all
uint32 aLayerCount, // Number of layers in list (0 for all)
GM_DrawFlags_t32 aDrawFlags, // Flags controlling how the draw is performed
const GM_Rectangle_t* aWorldBounds, // World bounds to draw or NULL for all
GM_ColorFormat_t32 aColorFormat, // Color format used in data buffer
sint32 aPixelWidth, // Width in pixels to draw
sint32 aPixelHeight, // Height in pixels to draw
void* aDataBuf, // Buffer to hold output color data
sint32 aRowWidthBytes // Width of a single row in the array in bytes
);
GM_DrawPackageList
将指定的部分指定的package绘制到设备上下文中。如果没有明确指定package,则会绘制使用GM_LoadPackage函数加载的所有package。
GM_Error_t32 GM_DrawPackageList
(
HDC aDC, // Device context to draw to
GM_PackageHandle_t32* aPackageList, // List of packages to draw or NULL for all
uint32 aPackageCount, // Number of packages in list (0 for all)
GM_DrawFlags_t32 aDrawFlags, // Flags controlling how the draw is performed
const GM_Rectangle_t* aWorldBounds, // World bounds to draw or NULL for all
sint32 aLeftPixel, // Left pixel coordinate to draw to
sint32 aTopPixel, // Top pixel coordinate to draw to
sint32 aPixelWidth, // Width in pixels to draw
sint32 aPixelHeight // Height in pixels to draw
);
GM_ExportElevation
将一个或多个图层导出到一个新的栅格化高程文件中。如果传递 NULL 作为图层句柄,则所有高程图层将保存到新的高程文件中,否则只会导出指定的图层。如果提供 NULL 作为世界范围,将导出所有可用的数据,否则只会导出指定范围内的数据。
新的高程文件将以当前视图投影为基础创建,即通过 GM_GetProjection 函数返回的投影。您可以通过调用 GM_SetProjection 函数来更改视图投影,从而更改导出投影。
GM_Error_t32 GM_ExportElevation
(
const char* aFilename, // Name of new file to create
GM_ElevationExportFormat_t32 aFormat, // Format to export
GM_LayerHandle_t32 aLayer, // Layer to export or NULL for all
const GM_Rectangle_t* aWorldBounds, // World bounds to export or NULL for all
sint32 aPixelWidth, // Width in samples of new image
sint32 aPixelHeight, // Height in samples of new image
GM_RasterExportFlags_t32 aFlags, // Export flags
GM_ElevUnits_t8 aElevUnits // Elevation units for export, if applicable
);
GM_ExportElevationEx
将一个或多个图层导出到一个新的栅格化高程文件中。如果传递 NULL 作为图层列表,则所有高程图层将保存到新的高程文件中,否则只会导出指定的图层。如果提供 NULL 作为世界范围,将导出所有可用的数据,否则只会导出指定范围内的数据。
新的高程文件将以当前视图投影为基础创建,即通过 GM_GetProjection 函数返回的投影。您可以通过调用 GM_SetProjection 函数来更改视图投影,从而更改导出投影。
aExtraFlags 参数允许指定在 aFlags 参数中不支持的任何额外选项。选项应该以选项名称开头,后跟等号,然后是选项值。除非需要额外选项的非默认值,否则大多数用户将传递 NULL 给这个值。当前支持以下额外选项:
- VOID_VALUE(仅适用于 GeoTIFF 格式)- 指定导出时要使用的无效值。默认情况下,使用常用的 -32767,但可以添加此参数来指定要使用的任何有效的带符号 16 位整数,例如 VOID_VALUE=-9999 来使用 -9999。
- ROUGHNESS_LAYER_LIST(仅适用于 WindSim GWS 格式)- 指定在提供的高程图层列表中是粗糙度而不是高程的图层索引(从0开始)。例如,如果列表中的第二个和第三个图层是粗糙度图层,则使用 "ROUGHNESS_LAYER_LIST=1,2"。仅在粗糙度栅格是在 SDK 外部创建并作为高程栅格加载时需要。否则,这将自动确定。
- ADD_COLORS(仅适用于 VRML 格式)- 控制是否为输入图层的每个 VRML 顶点写入颜色值。默认情况下,此选项已启用,使用 "ADD_COLORS=NO" 禁用添加颜色。
- DELIM(仅适用于 XYZ ASCII grid 格式)- 指定要使用的坐标分隔符。默认值是逗号,但支持特殊关键字 COMMA、SPACE 和 TAB。例如,要使用空格作为分隔符,请使用 "DELIM=SPACE"。此功能在 SDK v13.2.0 及更高版本中支持。
GM_DLL_EXPORTED GM_Error_t32 __stdcall GM_ExportElevationEx
(
const char* aFilename, // Name of new file to create
GM_ElevationExportFormat_t32 aFormat, // Format to export
GM_LayerHandle_t32* aLayerList, // List of layers to export or NULL for all
uint32 aLayerCount, // Number of layers in list (0 for all)
const GM_Rectangle_t* aWorldBounds, // World bounds to export or NULL for all
sint32 aPixelWidth, // Width in samples of new image
sint32 aPixelHeight, // Height in samples of new image
GM_RasterExportFlags_t32 aFlags, // Export flags
GM_ElevUnits_t8 aElevUnits, // Elevation units for export, if applicable
const char* aExtraFlags // Additional text-based flags for some formats (use NULL for defaults)
)
GM_ExportMapLayoutComponent
将当前设置的地图布局的一个组件(使用 GM_LoadMapLayoutFile 加载布局定义)导出为位图(BMP)文件。您指定的边界框和像素尺寸与您在 GM_DrawLayerList 函数中提供的相同,用于确定 BMP 文件的像素大小。如果您始终在绘制后调用此函数,只需为世界范围传入 NULL,并将像素尺寸都设置为 0。
GM_DLL_EXPORTED GM_Error_t32 __stdcall GM_ExportMapLayoutComponent
(
const char* aFilename, // in: name of bitmap file to save to
GM_MapLayoutPiece_t8 aPiece, // in: which piece of the map layout to save
const GM_Rectangle_t* aWorldBounds, // in: World bounds to use for rendering layout or NULL for last drawn
sint32 aPixelWidth, // in: Width in pixels of FULL RENDER SCREEN (NOT LAYOUT PIECE) to use for generating map layout. Use 0 for last drawn.
sint32 aPixelHeight, // in: Height in pixels of FULL RENDER SCREEN (NOT LAYOUT PIECE) to use for generating map layout. Use 0 for last drawn.
void* aReserved // reserved for later use, must be NULL
)
GM_ExportPackage
将一个或多个图层导出为新的 Global Mapper 包文件。如果将图层列表句柄设置为 NULL,则会将所有加载的图层保存到新的包文件中,否则只会导出指定的图层。如果将世界范围设置为 NULL,则会导出每个图层的全部数据,否则只会导出指定范围内的数据。
GM_Error_t32 __stdcall GM_ExportPackage
(
const char* aFilename, // Name of new file to create
GM_LayerHandle_t32* aLayerList, // List of layers to export or NULL for all
uint32 aLayerCount, // Number of layers in list (0 for all)
const GM_Rectangle_t* aWorldBounds, // World bounds to export or NULL for all
double aSimpThreshold, // Simplification threshold, use 0.0 for no simplification
GM_PackageExportFlags_t32 aFlags // Export flags
);
GM_ExportPDF
将一个或多个图层导出为新的启用地理信息的 PDF 文件。如果将图层列表句柄设置为 NULL,则会将所有加载的图层保存到新的包文件中,否则只会导出指定的图层。如果将世界范围设置为 NULL,则会导出每个图层的全部数据,否则只会导出指定范围内的数据。
重要提示:在调用此函数之前,您必须从 http://www.quickpdflibrary.com/ 购买 QuickPDF 库的许可证,并使用 GM_SetQuickPDFUnlockCode 函数提供您的注册码。对于 SDK v1.37 及更早版本,您需要 QuickPDF v7 的许可证,对于 v1.38 及更高版本,您需要 QuickPDF v8 的许可证。
GM_Error_t32 __stdcall GM_ExportPDF
(
const char* aFilename, // Name of new file to create
GM_LayerHandle_t32* aLayerList, // List of layers to export or NULL for all
uint32 aLayerCount, // Number of layers in list (0 for all)
const GM_Rectangle_t* aWorldBounds, // World bounds to export or NULL for all
const GM_ExportOptsPDF_t* aExportOpts // PDF export options (NULL for default)
);
例子:从所有加载的文件中导出启用地理信息的 PDF 文件,并设置一些选项
// Setup PDF export options
GM_ExportOptsPDF_t thePdfOpts;
::memset( &thePdfOpts, 0, sizeof thePdfOpts );
thePdfOpts.mFlags = GM_PDF_FillPage | GM_PDF_BorderStyleValid;
thePdfOpts.mPageSizeName = "Letter"; // Use 8 1/2" by 11" letter paper
thePdfOpts.mDPI = 150;
thePdfOpts.mMarginRect.mMinX = 0.5; // 1/2" left margin
thePdfOpts.mMarginRect.mMaxX = 0.5; // 1/2" right margin
thePdfOpts.mMarginRect.mMaxY = 1.0; // 1" top margin
thePdfOpts.mMarginRect.mMinY = 0.5; // 1/2" bottom margin
thePdfOpts.mBorderStyle = GM_PEN_SOLID; // solid pen
thePdfOpts.mBorderWidth = 3; // border pen 3 PDF points (pixels) wide
thePdfOpts.mBorderColor = RGB(255,0,0); // border color is red
thePdfOpts.mHeaderStr = "My Map Name";
// Do export
GM_Error_t32 theErr = GM_ExportPDF
(
"c:\\temp\\export test\\test.pdf",
NULL, 0, // export all loaded layers
NULL, // export entire bounds of loaded data
&thePdfOpts
);
GM_ExportRaster
将一个或多个图层导出为新的栅格文件。如果传递的图层句柄为NULL,则所有加载的图层都将保存到新的栅格文件中,否则只导出指定的图层。如果world bounds为NULL,则导出所有可用数据,否则只导出指定边界内的数据。
新创建的栅格文件将采用通过GM_GetProjection函数返回的当前视图投影。您可以通过调用GM_SetProjection函数来更改视图投影,从而更改导出投影。
GM_Error_t32 GM_ExportRaster
(
const char* aFilename, // Name of new file to create
GM_RasterExportFormat_t32 aFormat, // Format to export
GM_LayerHandle_t32 aLayer, // Layer to export or NULL for all
const GM_Rectangle_t* aWorldBounds, // World bounds to export or NULL for all
sint32 aPixelWidth, // Width in pixels of new image
sint32 aPixelHeight, // Height in pixels of new image
GM_RasterExportFlags_t32 aFlags // Export flags
);
GM_ExportRasterEx
将一个或多个图层导出为新的栅格文件。如果传递的图层句柄为NULL,则所有加载的图层都将保存到新的栅格文件中,否则只导出指定的图层。如果world bounds为NULL,则导出所有可用数据,否则只导出指定边界内的数据。
新创建的栅格文件将采用通过GM_GetProjection函数返回的当前视图投影。您可以通过调用GM_SetProjection函数来更改视图投影,从而更改导出投影。
aExtraFlags参数允许指定aFlags参数不支持的任何其他选项。选项应该使用选项名称,后跟等号,再跟上选项值进行指定。除非需要非默认值的额外选项,否则大多数用户将向此值传递NULL。目前支持以下额外选项:
- QUALITY(仅适用于JPG或GeoTIFF格式) - 指定导出的质量值。值应在1到100之间。默认值为75。较高的值会导致更高的质量,但文件大小更大。例如,要将质量设置为90,请将"QUALITY=90"作为额外标志值。对于使用JPG-in-TIFF压缩进行导出的GeoTIFF,仅使用此选项。
- COMPRESSION(仅适用于ECW和JPG2000格式) - 指定导出的目标压缩比。值应在1(无损)到100之间。默认值为10。较高的值会导致文件更小,但质量较低。例如,要将目标压缩比设置为1:20,请将"COMPRESSION=20"作为额外标志值。
- DPI(仅适用于BMP,GeoTIFF和JPG格式) - 指定要存储在文件中的DPI值。默认值为0,表示文件中不存储DPI值。
- PALETTE(仅适用于GeoTIFF格式) - 指定要在导出中使用的调色板文件的名称。如果路径中的任何部分包含空格,请使用%20代替空格。
- TILE_SIZE(仅适用于GeoTIFF格式) - 指定导出的GeoTIFF文件应使用瓦片而不是条带定位,并指定瓦片的大小。例如,要在GeoTIFF文件内部创建512x512的瓦片,请使用TILE_SIZE=512。
- HEADER(仅适用于GeoTIFF格式) - 指定是否应写入生成的GeoTIFF文件的GeoTIFF头。默认情况下启用,添加HEADER=NO以禁用保存头。
- OPTIMIZE_CODING(仅适用于JPG格式) - 指定是否应为JPEG压缩优化熵编码。这仅适用于高级用户。使用OPTIMIZE_CODING=1启用优化熵编码。
- WRITE_JFIF_HEADER(仅适用于JPG格式) - 指定是否应将JFIF头写入导出的JPEG文件。这仅适用于高级用户。使用WRITE_JFIF_HEADER=1启用写入JFIF头。
- DCT_METHOD(仅适用于JPG格式) - 指定用于JPEG压缩的DCT方法。这仅适用于高级用户。有效值为0(JDCT_ISLOW),1(JDCT_IFAST)和2(JDCT_FLOAT)。
- VALID_ALPHA(仅适用于PNG格式) - 指定用于有效像素的alpha值(介于1和255之间)。默认情况下,任何有效像素都将完全不透明(即alpha = 255)。
- RES_MULT - (高级用户)指定在选择在线源的哪个图层进行拉取时,应将导出分辨率乘以的倍数。例如,添加RES_MULT=2将导致每个像素5m的导出选择更适合每个像素10m的导出的在线缩放级别。小于1的值会导致拉取更详细的图层。
CADRG/CIB导出格式具有一组描述导出的必需值。另外,提供的文件名应该是数据集的a.toc(目录)文件。帧文件将保存在该文件夹的子文件夹中。以下标志值将被使用:
- MAP_NAME - 地图名称,通常为6个字符的名称
- SERIES - 图表系列的两个字母代码,参考[MIL-STD-2411-1,第5.1.4节]。以下列表包括一些常用的支持的值(请注意,任何两个字母的代码都支持):
- GN - 1:5M 比例的GNC(全球导航图)
- JN - 1:2M 比例的JNC(喷气导航图)
- TP - 1:500K 比例的TPC(战术驾驶员航图)
- I1 - 10米分辨率CIB图像
- I2 - 5米分辨率CIB图像
- I3 - 2米分辨率CIB图像
- I4 - 1米分辨率CIB图像
- I5 - 0.5米分辨率CIB图像
- SCALE - 导出的比例。在大多数情况下,系列隐含了比例,所以此值被忽略。但是如果您使用具有可变比例的系列,则此值是必需的。 PRODUCER_CODE - 来自[MIL-STD-2411-1,第5.2.1节]的生产者代码ID,例如AFACC(美国空军战斗司令部)的1。
- SECURITY_CLASS - 来自[MIL-STD-2411-1,第5.1.8节]的1个字符的安全分类。默认值为SECURITY_CLASS=U表示未分类。
- SECURITY_COUNTRY - 来自[MIL-STD-2411-1,第5.1.7节]的两个字符的安全国家代码。默认值为SECURITY_COUNTRY=US表示美国。
- SECURITY_MARKING - 来自[MIL-STD-2411-1,第5.1.9节]的两个字符的安全标记。默认值为SECURITY_MARKING=uu表示未分类。
- VERSION - 文件版本。如果不提供值,默认为1。
例如,如果要从DMAAC导出1:500K比例尺的TPC CADRG,可以传递以下额外的标志字符串:
"MAP_NAME=ABC123 SERIES=TP PRODUCER_CODE=3 SECURITY_CLASS=U SECURITY_COUNTRY=US SECURITY_MARKING=uu VERSION=1"
GM_Error_t32 __stdcall GM_ExportRasterEx
(
const char* aFilename, // Name of new file to create
GM_RasterExportFormat_t32 aFormat, // Format to export
GM_LayerHandle_t32* aLayerList, // List of layers to export or NULL for all
uint32 aLayerCount, // Number of layers in list (0 for all)
const GM_Rectangle_t* aWorldBounds, // World bounds to export or NULL for all
sint32 aPixelWidth, // Width in pixels of new image
sint32 aPixelHeight, // Height in pixels of new image
GM_RasterExportFlags_t32 aFlags, // Export flags
const char* aExtraFlags // Additional text-based flags for some formats (use NULL for defaults)
)
GM_ExportRasterFromBitmap
生成一个新的栅格图像,从一个位图句柄。新的栅格图像将与位图具有相同数量的像素。aFormat参数指定新的栅格使用的图像格式。如果aWorldBounds不是NULL,将使用提供的范围来填充新文件的空间信息(如果新文件格式支持的话)。
GM_Error_t32 GM_ExportRasterFromBitmap
(
const char* aFilename, // Name of new file to create
HBITMAP aBitmap, // Handle to bitmap to export
HDC aDC, // Handle to compatible device context
GM_RasterExportFormat_t32 aFormat, // Format to export
const GM_Rectangle_t* aWorldBounds, // World bounds of bitmap or NULL for empty
GM_RasterExportFlags_t32 aFlags // Export flags
);
GM_ExportVector(Ex)/GM_ExportVectorList
将一个或多个图层导出为新的矢量文件。如果为图层句柄列表传递NULL,则所有矢量图层将保存到新的矢量文件中,否则只导出指定的图层。如果为worldBounds提供NULL,则将导出所有可用数据,否则只导出指定范围内的数据。
新创建的矢量文件将使用GM_GetProjection函数返回的当前视图投影。您可以通过调用GM_SetProjection函数更改视图投影,从而更改导出投影。
GM_Error_t32 __stdcall GM_ExportVector
(
const char* aFilename, // Name of new file to create
GM_VectorExportFormat_t32 aFormat, // Format to export
GM_LayerHandle_t32 aLayer, // Layer to export or NULL for all
const GM_Rectangle_t* aWorldBounds, // World bounds to export or NULL for all
GM_VectorExportFlags_t32 aFlags, // Export flags
void* aFormatOptions // Format-specific options (NULL for defaults)
);
GM_Error_t32 __stdcall GM_ExportVectorEx
(
const char* aFilename, // Name of new file to create
GM_VectorExportFormat_t32 aFormat, // Format to export
GM_LayerHandle_t32 aLayer, // Layer to export or NULL for all
const GM_Rectangle_t* aWorldBounds, // World bounds to export or NULL for all
GM_VectorExportFlags_t32 aFlags, // Export flags
void* aFormatOptions, // Format-specific options (NULL for defaults)
const char* aExtraFlags // Additional text-based flags for some formats (use NULL for defaults)
);
GM_Error_t32 __stdcall GM_ExportVectorList
(
const char* aFilename, // Name of new file to create
GM_VectorExportFormat_t32 aFormat, // Format to export
GM_LayerHandle_t32* aLayerList, // List of layers to export or NULL for all
uint32 aLayerCount, // Number of layers in list (0 for all)
const GM_Rectangle_t* aWorldBounds, // World bounds to export or NULL for all
GM_VectorExportFlags_t32 aFlags, // Export flags
void* aFormatOptions, // Format-specific options (NULL for defaults)
const char* aExtraFlags, // Additional text-based flags for some formats (use NULL for defaults)
void* aReserved // Reserved for future use, must be NULL
);
GM_ExportWebFormat
将一个或多个图层导出为Web格式的文件,以在Web浏览器或其他基于Web的工具中显示。如果为图层句柄列表传递NULL,则所有图层将保存到新的数据集中,否则只导出指定的图层。如果为worldBounds提供NULL,则将导出所有可用数据,否则只导出指定范围内的数据。
aExtraFlags参数允许指定在aExportOpts参数中不支持的任何额外选项。选项应该以选项名称开始,后跟等号,然后是选项值。除非用户需要非默认值的额外选项,否则大多数用户将为此值传递NULL或空字符串。目前支持以下额外选项:
- QUALITY(仅适用于JPG或GeoTIFF格式)-指定导出质量值。值应该在1到100之间。默认值为75。较高的值会导致更高的质量,但结果文件大小较大。例如,要将质量设置为90,请将"QUALITY=90"作为额外标志的值。对于使用JPG-in-TIFF压缩的GeoTIFF导出,只有在导出时才会使用此选项。
GM_Error_t32 __stdcall GM_ExportWebFormat
(
const char* aFilename, // Name of HTML/XML file to create
GM_WebExportFormat_t32 aWebFormat, // Format to export
GM_LayerHandle_t32* aLayerList, // List of layers to export or NULL for all
uint32 aLayerCount, // Number of layers in list (0 for all)
const GM_Rectangle_t* aWorldBounds, // World bounds to export or NULL for all
const GM_WebFormatExportOpts_t* aExportOpts, // Export options
const char* aExtraFlags // Additional text-based flags for some formats (use NULL for defaults)
);
GM_FindFeaturesInArea
在提供的图层列表中搜索在提供的区域要素内的任何可见矢量要素。您可以找到完全在提供的区域要素内的面、线和/或点要素。
结果将返回到aResultList值中。在使用完结果列表后,请使用GM_FreeFeatureResultList释放结果列表。
GM_DLL_EXPORTED GM_Error_t32 __stdcall GM_FindFeaturesInArea
(
GM_LayerHandle_t32* aLayerList, // IN: List of layers to search for points or NULL for all vector layers
uint32 aLayerCount, // IN: Number of layers in list (0 for all)
GM_FindFlags_t32 aFindFlags, // IN: Flags controlling how the find is performed
const GM_AreaFeature_t* aAreaToSearch, // IN: Area feature to search (use GM_GetAreaFeature to get from loaded layer)
const GM_Projection_t* aAreaProj, // IN: Projection of coordinates in area feature (use GM_GetLayerInfo()->mNativeProj to get layer projection)
GM_FoundFeatureResults_t** aResultList, // OUT: Results of find operation (use GM_FreeFeatureResultList to free when done)
void* aReserved // IN: Reserved for future use, must be NULL
)
GM_FindNearestAddress
在提供的图层列表中搜索在提供的搜索距离(aMaxDistMeters)内的任何可见矢量线要素,该要素具有支持的地址信息格式(例如Tiger / Line数据)。
GM_Error_t32 __stdcall GM_FindNearestAddress
(
const GM_Point_t* aSearchPt, // IN: Search location in current view projection (as returned by GM_SetProjection)
GM_LayerHandle_t32* aLayerList, // IN: List of layers to search or NULL for all vector layers
uint32 aLayerCount, // IN: Number of layers in list (0 for all)
char* aAddressStr, // I/O: Buffer to hold string for nearest address
uint32 aMaxAddressLen, // IN: Maximum length of string to store in output
double aMaxDistMeters, // IN: Maximum distance in meters to search around search point
void* aReserved // IN: Reserved for later use, must be NULL (0)
);
GM_FindNearestFeatures
在提供的图层列表中搜索在像素搜索位置(aPixelSearchPt)的提供搜索距离(aMaxDistPixels)内的任何可见矢量要素。aFindFlags参数指定要搜索的要素类型。
GM_Error_t32 __stdcall GM_FindNearestFeatures
(
const GM_Point_t* aPixelSearchPt, // IN: Search location in pixel coordinates
GM_LayerHandle_t32* aLayerList, // IN: List of layers to search or NULL for all vector layers
uint32 aLayerCount, // IN: Number of layers in list (0 for all)
GM_FindFlags_t32 aFindFlags, // IN: Flags controlling how the find is performed
const GM_Rectangle_t* aWorldBounds, // IN: World bounds for search space or NULL for last drawn
const GM_PixelRect_t* aPixelRect, // IN: Pixel bounds for search space or NULL for last drawn
GM_FoundFeature_t* aNearestFeatures, // OUT: List of nearest features
uint32 aMaxFeatures, // IN: Max number of nearest features to find
uint32* aFoundFeatureCnt, // OUT: Number of nearest features returned in list
uint32 aMaxDistPixels // IN: Max distance in pixels to search
);
GM_FlushLayerCache
清除图层的任何内存缓存。这在低内存环境(如Windows CE)中非常有用,通常只对像GeoTIFF文件这样的栅格格式执行某些操作。大多数用户不需要调用此函数。
GM_Error_t32 __stdcall GM_FlushLayerCache
(
GM_LayerHandle_t32 aLayer
)
GM_FreeAreaFeature
释放给定区域要素使用的资源。应该对通过GM_GetAreaFeature返回的每个区域要素调用此函数。
void GM_FreeAreaFeature
(
GM_AreaFeature_t* aAreaFeature // Area feature to free
)
GM_FreeFeatureResultList
释放由搜索函数(如GM_FindFeaturesInArea)返回的结果列表相关的资源。
GM_DLL_EXPORTED GM_Error_t32 __stdcall GM_FreeFeatureResultList
(
GM_FoundFeatureResults_t* aResultList // IN: Previously fetched result set
)
GM_FreeLidarQuery
Frees a Lidar query created with GM_CreateLidarQuery.
GM_DLL_EXPORTED GM_Error_t32 __stdcall GM_FreeLidarQuery
(
GM_LidarQueryHandle_t aLidarQuery
)
GM_FreeLineFeature
释放使用GM_GetLineFeature返回的每个线要素使用的资源。
void GM_FreeLineFeature
(
GM_LineFeature_t* aLineFeature // Line feature to free
)
GM_FreePointFeature
释放使用GM_GetPointFeature返回的每个点要素使用的资源。
void GM_FreePointFeature
(
GM_PointFeature_t* aPointFeature // Point feature to free
)