从加载的高程数据生成等高线,并创建一个新的矢量图层来保存结果。在使用完毕后,必须使用GM_CloseLayer关闭aContourLayer中返回的图层句柄。
请参考GlobalMapperInterface.h头文件中的GM_ContourParams_t类型定义,了解生成等高线、等高线区域和/或最小/最大点高程时可用的选项的描述。
GM_Error_t32 __stdcall GM_GenerateContours
(
GM_LayerHandle_t32 aLayer, // IN: Layer to get elevations from or NULL for topmost layer at each point
const GM_ContourParams_t* aContourParms, // IN: Parameters for generating contours
GM_LayerHandle_t32* aContourLayer // OUT: Created contour layer
);
GM_Error_t32 __stdcall GM_GenerateContoursEx
(
GM_LayerHandle_t32* aLayerList, // IN: List of layers to use or NULL for all
uint32 aLayerCount, // IN: Number of layers in list (0 for all)
const GM_ContourParams_t* aContourParms, // IN: Parameters for generating contours
GM_LayerHandle_t32* aContourLayer // OUT: Created contour layer
);
根据图层中的点要素生成密度(热力)网格。值将基于点要素数量或某个属性的值。在使用完毕后,必须使用GM_CloseLayer关闭aGridLayer中返回的图层句柄。
请参考GlobalMapperInterface.h头文件中的GM_DensityGridParams_t类型定义,了解生成密度网格时可用的选项的描述。默认选项均为零,因此如果需要默认值,只需传入零结构即可。
GM_Error_t32 __stdcall GM_GenerateDensityGrid
(
GM_LayerHandle_t32 aPointLayer, // IN: Layer to get points from
const GM_DensityGridParams_t* aGridParms, // IN: Parameters for generating density grid
GM_LayerHandle_t32* aGridLayer // OUT: Created density grid layer
)
根据加载的3D矢量数据生成高程网格,可选生成3D区域TIN图层。在完成使用后,必须使用GM_CloseLayer关闭aGridLayer和(可选)aTinLayer返回的图层句柄。
有关生成高程网格时可用选项的描述,请参阅GlobalMapperInterface.h头文件中的GM_GridGenSetup_t类型定义。默认选项的所有值都为零,或者可以将aGridSetup参数传递为NULL以获取默认选项。
GM_Error_t32 __stdcall GM_GenerateElevationGrid
(
GM_LayerHandle_t32* aLayerList, // IN: List of layers to use or NULL for all
uint32 aLayerCount, // IN: Number of layers in list (0 for all)
const GM_GridGenSetup_t* aGridSetup, // IN: Grid setup parameters (pass NULL for default options)
GM_LayerHandle_t32* aGridLayer, // OUT: Created grid layer
GM_LayerHandle_t32* aTinLayer // OUT: Created TIN area layer (optional, set to NULL if you don't want)
);
基于提供的栅格地表覆盖图层,生成粗糙长度网格。在完成使用后,必须使用GM_CloseLayer关闭aGridLayer返回的图层句柄。它将是一个"高程"网格图层,因此可以对其进行任何与高程相关的操作。
粗糙长度的值是根据提供的地表覆盖到粗糙长度数值的表格生成的。内置了几个粗糙度表格,但如果您在应用程序文件夹中提供了一个roughness_tables.txt文件,则可以提供该粗糙度表格。该文件中的第一个粗糙度表格的索引为GM_Roughness_NumTypes,后续自定义表格依次递增。
有关生成粗糙度网格时可用选项的描述,请参阅GlobalMapperInterface.h头文件中的GM_RoughnessGridParams_t类型定义。默认选项的所有值都为零,因此如果需要使用默认选项,可以传递一个零值结构,尽管您至少应确保设置正确的粗糙度表格。
GM_Error_t32 __stdcall GM_GenerateRoughnessGrid
(
GM_LayerHandle_t32 aLandCoverLayer,// IN: Raster land-use Layer to generate roughness from
const GM_RoughnessGridParams_t* aGridParms, // IN: Parameters for generating roughness grid
GM_LayerHandle_t32* aGridLayer, // OUT: Created roughness grid layer
void* aReserved // IN: Reserved for later use, must be NULL
);
对加载的地形图层执行分水岭计算,生成河流网络,并可选择为每条河流生成一组排水区域要素。还可以通过寻找山脊线而不是生成河流网络的方式进行计算。
在完成使用后,必须使用GM_CloseLayer关闭aStreamLayer和aDrainageAreaLayer返回的图层句柄。
有关生成分水岭时可用选项的描述,请参阅GlobalMapperInterface.h头文件中的GM_WatershedParams_t类型定义。默认选项的所有值都为零,因此如果需要使用默认选项,可以传递一个零值结构,但通常您至少要设置mMaxDepressionDepth值,除非地形已经填平了凹陷区域。对于大多数数据集,通常选择约5米左右的值。
如果您希望寻找山脊线而不是排水网络,请在GM_WatershedParams_t.mFlags参数中传递GM_Watershed_FindRidgeLines标志。山脊线计算与对反转地形进行的流计算相同,因此参数的基本意义是相同的。
GM_DLL_EXPORTED GM_Error_t32 __stdcall GM_GenerateWatershed
(
GM_LayerHandle_t32* aLayerList, // IN: List of elevation layers to use or NULL for all
uint32 aLayerCount, // IN: Number of layers in list (0 for all)
const GM_WatershedParams_t* aWatershedParms, // IN: Parameters for generating watershed
GM_LayerHandle_t32* aStreamLayer, // OUT: Created stream layer
GM_LayerHandle_t32* aDrainageAreaLayer, // OUT: Created drainage area layer (if created)
void* aReserved // IN: Reserved for later use, must be NULL
)
返回图层中给定索引处的区域要素。如果图层中没有给定索引处的区域或未找到注册密钥,并且aAreaIndex大于GM_MAX_NON_REGISTERED_VECTOR_IDX,则返回NULL。
从此函数返回的任何要素在访问完成后必须使用GM_FreeAreaFeature函数释放。
GM_AreaFeature_t* GM_GetAreaFeature
(
GM_LayerHandle_t32 aLayer, // Layer to get area from
uint32 aAreaIndex // Index of area feature to retrieve
)
设置给定区域要素分类的默认绘制样式。
GM_Error_t32 GM_GetAreaFeatureClassDrawStyle
(
AreaFeatureClass_t16 aFeatureClass, // IN: Feature class to get draw style for
GM_AreaStyle_t* aAreaStyle // OUT: Current draw style for area classification
);
返回图层中给定索引处的区域要素。如果图层不包含给定索引处的区域或者找不到注册密钥并且aAreaIndex大于GM_MAX_NON_REGISTERED_VECTOR_IDX,则返回NULL。
使用aFlags参数,您可以控制要素的坐标是以图层的原生投影还是以当前设置的投影返回。您还可以指示不返回坐标。
从该函数返回的任何要素在完成访问后必须使用GM_FreeAreaFeature调用进行释放。
GM_DLL_EXPORTED GM_AreaFeature_t* __stdcall GM_GetAreaFeatureEx
(
GM_LayerHandle_t32 aLayer, // Layer to get area from
uint32 aAreaIndex, // Index of area feature to retrieve
GM_GetFeatureFlags_t32 aFlags, // Flags for getting feature
void* aReserved // Reserved for future use, must be 0
);
返回可用的在线来源列表。这将是一个GM_OnlineSourceInfo_t结构的数组。返回的列表中条目的数量将在aSourceCnt参数中返回。
const GM_OnlineSourceInfo_t* __stdcall GM_GetAvailableOnlineSourceList
(
uint32* aSourceCnt // OUT: Number of sources returned in list
)
获取所有可用投影及其可用参数、数据、单位等的列表,包括这些值的名称。返回的列表中条目的数量将在aProjCnt参数中返回。返回的指针在程序运行的剩余时间内保持有效,或者直到再次调用此函数,在此期间可能返回一个新的指针。
const GM_ProjectionInfo_t* __stdcall GM_GetAvailableProjectionList
(
uint32* aProjCnt // OUT: Number of projections returned in list
)
返回可用符号名称的列表。这将是一个const char*值的数组。返回列表中的条目数将在aNumSymbols参数中返回。如果您不想单独跟踪列表的大小,符号名称列表也是以NULL结尾的。
char** __stdcall GM_GetAvailableSymbolNames
(
uint32* aNumSymbols // OUT: Number of symbols in returned list
);
获取给定数据基准所使用的基准转换的信息。
GM_DLL_EXPORTED GM_Error_t32 __stdcall GM_GetDatumInfo
(
DATUM aDatumCode, // IN: Datum code to get information about
GM_DatumInfo_t* aDatumInfo // OUT: Information about datum transformation for datum
);
获取当前应用于给定高程图层的高程调整选项。
GM_Error_t32 __stdcall GM_GetElevationOverrides
(
GM_LayerHandle_t32 aLayer, // in: layer to get options for
GM_ElevationOverrides_t* aOptions // out: elevation adjustments
);
获取有关给定要素类的信息。
GM_Error_t32 GM_GetFeatureClassInfo
(
FeatureClass_t16 aFeatureClass, // IN: Feature class to get info for
GM_FeatureClassType_t8 aFeatureClassType, // IN: Type of feature class (area, point, line)
GM_FeatureClassInfo_t* aFeatureClassInfo // OUT: Info about the feature class
)
获取此要素的海拔(使用米作单位)。如果没有适用于此要素的单个海拔值,则返回错误代码。
GM_Error_t32 __stdcall GM_GetFeatureElevation
(
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
float* aElev // OUT: Elevation of feature (in meters)
)
返回一个指向包含此DLL支持的所有类型的过滤器的字符串的常量指针。此过滤器字符串可用作标准Windows打开文件对话框的输入。
GM_DLL_EXPORTED const char* GM_GetFilterString
(
void
);
获取最近绘制的地图范围(仅在Global Mapper Extension SDK中支持)
GM_Error_t32 GM_GetLastDrawnMapBounds
(
GM_Rectangle_t* aWorldBounds, // OUT: World bounds of last drawn view
GM_PixelRect_t* aPixelRect // OUT: Pixel bounds of last drawn view
);
获取最近绘制的地图范围,包括旋转(仅在Global Mapper Extension SDK中支持)
GM_Error_t32 GM_GetLastDrawnMapBoundsEx
(
GM_Rectangle_t* aWorldBounds, // OUT: World bounds of last drawn view
GM_PixelRect_t* aPixelRect, // OUT: Pixel bounds of last drawn view
GM_RotatedRect_t* aWorldBoundsRotated, // OUT: World bounds of last drawn view rotated
void* aReserved // Reserved for future use, must be NULL
);
获取最近绘制的比例尺(即1:XXXX中的XXXX部分)。如果没有进行绘制,则返回0.0。
double GM_GetLastDrawnScale
(
HDC aDC // Device context that was drawn to
);
获取给定图层的信息。如果图层未加载,则返回NULL。否则,返回指向图层元数据的常量指针。有关详细信息,请参阅头文件中的GM_LayerInfo_t定义。
const GM_LayerInfo_t* GM_GetLayerInfo
(
GM_LayerHandle_t32 aLayer
);
Retrieves Lidar statistics for a layer with lidar data.
GM_DLL_EXPORTED GM_Error_t32 __stdcall GM_GetLayerLidarStats
(
GM_LayerHandle_t32 aLayer, // IN: Lidar point cloud layer to get stats from
GM_LidarStats_t* aLidarStats, // OUT: Buffer to hold stats in
void* aReserved // IN: Reserved for future use, must be NULL
)
Retrieves information (name, color, group mask) for the given Lidar classification. You can optionally get the default information for the class.
GM_Error_t32 GM_GetLidarClassInfo
(
GM_LidarClass_t8 aLidarClass, // IN: Lidar class to set info for
GM_LidarClassInfo_t* aClassInfo, // OUT: New type info to use for Lidar class
boolean aGetDefault // IN: Return default class info rather than current settings?
);
Retrieves a Lidar point feature from the given layer. The indexes should be in the range [0, GM_LayerInfo_t.mNumLidarPoints). Returns an error if the layer does not contain a Lidar point feature at the given index or if a valid license was not found and aPointIndex was greater than GM_MAX_NON_REGISTERED_VECTOR_IDX.
GM_Error_t32 GM_GetLidarPoint
(
GM_LayerHandle_t32 aLayer, // IN: Layer to get point from
uint64 aPointIndex, // IN: Index of Lidar point feature to retrieve
GM_LidarPoint_t* aLidarPoint, // OUT: Lidar point to fill in
GM_GetFeatureFlags_t32 aFlags, // IN: Flags for fetching Lidar point
void* aReserved // IN: Reserved for future use, must be NULL
)
Retrieves information about the query, like the number of points and layer list.
GM_DLL_EXPORTED GM_Error_t32 __stdcall GM_GetLidarQueryInfo
(
GM_LidarQueryHandle_t aLidarQuery, // IN: Lidar query to update
GM_LidarQueryInfo_t* aQueryInfo // OUT: Information about query
)
获取图层中给定索引的线要素。如果图层在给定索引处不包含线要素或未找到注册密钥且aLineIndex大于GM_MAX_NON_REGISTERED_VECTOR_IDX,则返回NULL。
从此函数返回的任何要素在使用完毕后必须通过调用GM_FreeLineFeature进行释放。
GM_LineFeature_t* GM_GetLineFeature
(
GM_LayerHandle_t32 aLayer, // Layer to get line from
uint32 aLineIndex // Index of line feature to retrieve
)
设置给定线要素分类使用的默认绘制样式。
GM_Error_t32 GM_GetLineFeatureClassDrawStyle
(
LineFeatureClass_t16 aFeatureClass, // IN: Feature class to get draw style for
GM_LineStyle_t* aLineStyle // OUT: Current draw style for line classification
);
返回给定图层中指定索引处的线要素。如果图层在给定索引处不包含线要素,或者未找到注册密钥并且aLineIndex大于GM_MAX_NON_REGISTERED_VECTOR_IDX,则返回NULL。
使用aFlags参数,您可以控制要素的坐标是以图层的本地投影还是当前设置的投影返回,还可以指示您不需要坐标。
任何从此函数返回的要素在完成访问后必须使用GM_FreeLineFeature进行释放。
GM_DLL_EXPORTED GM_LineFeature_t* __stdcall GM_GetLineFeatureEx
(
GM_LayerHandle_t32 aLayer, // Layer to get line from
uint32 aLineIndex, // Index of line feature to retrieve
GM_GetFeatureFlags_t32 aFlags, // Flags for getting feature
void* aReserved // Reserved for future use, must be 0
);
返回已加载图层的列表。在调用后,您应该将列表复制到自己的本地结构中,因为指针在下一次调用时可能会变为无效。如果您在C++示例应用程序中使用GM_MapWindow类,则无需使用此功能,因为它自己会跟踪图层。
const GM_LayerHandle_t32* __stdcall GM_GetLoadedLayerList
(
uint32* aLayerCount // OUT: count of layers in returned list
)
获取提供的图层或当前加载的栅格和高程图层列表(先上层后下层)中给定位置的颜色。
GM_DLL_EXPORTED GM_Error_t32 GM_GetLocationColor
(
GM_LayerHandle_t32 aLayer, // IN: Layer to get color from or NULL for topmost
double aXCoord, // IN: X coord in current projection
double aYCoord, // IN: Y coord in current projection
GM_Color_t* aColor // OUT: Color of pixel at location
);
获取提供的图层或当前加载的高程图层列表(最上面的高程图层优先)中给定位置的高程。
GM_DLL_EXPORTED GM_Error_t32 GM_GetLocationElevation
(
GM_LayerHandle_t32 aLayer, // IN: Layer to get elevation from or NULL for topmost
double aXCoord, // IN: X coord in current projection
double aYCoord, // IN: Y coord in current projection
float* aElev // OUT: Elevation at location in meters
);
获取当前计算机的唯一机器ID(MAC地址)。这用于生成许可文件,您可能需要调用它来提供MAC地址以生成您产品的.lic文件。
const char* GM_GetMACAddress
(
void
);
根据以当前投影或纬度/经度度坐标提供的坐标,获取相应的MGRS坐标字符串。MGRS坐标字符串将存储在
GM_Error_t32 __stdcall GM_GetMGRSCoordinates
(
double aX, // IN: point X/longitude coordinate
double aY, // IN: point Y/latitude coordinate
boolean aLatLon, // IN: TRUE - coordinates are lat/lon, FALSE - coordinates are in the current projection?
char* aMgrsStr // OUT: buffer to store MGRS coordinate text in
);
获取高级/其他选项的当前值。通常返回的值是GM_MiscOptVal_t8类型,但对于使用字符串值的选项,返回值将是const char*类型。
GM_DLL_EXPORTED void* _stdcall GM_GetMiscOption
(
GM_MiscOpt_t32 aOpt, // IN: Option to get
void* aReserved // IN: Reserved for future use
)
Retrieves the next block of points from the Lidar query. You should repeatedly call this function to iterate through all of the points matching the original Lidar query from the GM_CreateLidarQuery call. The returned aNumPointsRead value will match the aListSize value until you reach the end of the points.
GM_DLL_EXPORTED GM_Error_t32 __stdcall GM_GetNextLidarQueryPoints
(
GM_LidarQueryHandle_t aLidarQuery, // IN: Lidar query to get data from
GM_LidarPoint_t* aPointList, // OUT: Lidar point(s) to fill in
uint32 aListSize, // IN: Max number of points to fetch
GM_GetFeatureFlags_t32 aFlags, // IN: Flags for fetching Lidar point
uint32* aNumPointsRead, // OUT: Number of points actually read
void* aReserved // IN: Reserved for future use, must be NULL
)
获取用于绘制/导出给定边界的瓦片在线图层的缩放比例。很少有人需要使用此函数。只有在您要为本地瓦片化的“在线”源预获取一些瓦片,因此需要事先知道缩放比例时才会使用此功能。
GM_DLL_EXPORTED GM_Error_t32 __stdcall GM_GetOnlineLayerZoomScale
(
GM_LayerHandle_t32 aLayer, // IN: Tiled online layer to query
const GM_Rectangle_t* aWorldBounds, // IN: World bounds to convert from or NULL for last drawn
const GM_PixelRect_t* aPixelRect, // IN: Pixel bounds to convert from or NULL for last drawn
boolean aForExport, // IN: Get zoom scale for an export (TRUE) or draw (FALSE)
const char* aExtraOpts, // IN: String with extra options, like RES_MULT
uint32* aZoomScale, // OUT: Zoom scale that will be used
void* aReserved // IN: Reserved for future use
);
通过名称获取源的详细信息,并确定该源是否可用。您可以使用此函数来判断某个源是否因为诸如中国防火墙之类的原因而不可用。如果无法连接到该源,则返回GM_Error_OnlineConnect。如果找不到该源,则返回GM_Error_OnlineUnknownSource。
GM_DLL_EXPORTED GM_Error_t32 __stdcall GM_GetOnlineSourceInfo
(
const char* aSourceName, // IN: Name of online source to get detail info for
GM_OnlineSourceInfo_t* aSourceInfo, // OUT: Detailed information about provided source, mostly in attributes
void* aReserved // IN: Reserved for future use, must be NULL
);
返回给定程序包中的图层列表。返回的指针是临时的,在下一次调用此函数时将变为无效。该包必须使用GM_LoadPackage函数打开。
GM_LayerHandle_t32* GM_GetPackageLayerList
(
GM_PackageHandle_t32 aPackage, // IN: package to get list of layers from
uint32* aLayerCount // OUT: Number of layers in returned list
);
获取在提供的图层或当前加载的高程图层列表中(从最上面的高程图层开始)沿路径的高程列表。
GM_DLL_EXPORTED GM_Error_t32 GM_GetPathProfile
(
GM_LayerHandle_t32 aLayer, // IN: Layer to get elevation from or NULL for topmost
double aStartX, // IN: Start X coord in current projection
double aStartY, // IN: Start Y coord in current projection
double aEndX, // IN: End X coord in current projection
double aEndY, // IN: End Y coord in current projection
float* aElevList, // OUT: Buffer to hold list of elevations
uint32 aListSize, // IN: Number of elevations to retrieve
float aDfltElev // IN: Elev to use when none could be found
);
获取在提供的图层或当前加载的高程图层列表中(从最上面的高程图层开始)沿路径的高程列表。还可以执行视线计算并返回关于3D路径的其他信息。
注意:如果您需要传入要考虑的路径配置文件的图层列表,请使用GM_GetPathProfileLOSEx。
GM_DLL_EXPORTED GM_Error_t32 __stdcall GM_GetPathProfileLOS
(
GM_LayerHandle_t32 aLayer, // IN: Layer to get elevation from or NULL for topmost
GM_PathProfileLOSParams_t* aParams // IN/OUT: Calculation parameters
);
获取在提供的图层列表中或当前加载的高程图层列表中(从最上面的高程图层开始)沿路径的高程列表。还可以执行视线计算并返回关于3D路径的其他信息。
GM_DLL_EXPORTED GM_Error_t32 __stdcall GM_GetPathProfileLOSEx
(
GM_LayerHandle_t32* aLayerList, // IN: List of layers to get elevation from or NULL for topmost
uint32 aLayerCount, // IN: Number of layers in list
GM_PathProfileLOSParams_t* aParams // IN/OUT: Calculation parameters
);
获取所提供的栅格图层中给定像素位置处的原始波段值。如果图层在提供的像素位置处不包含有效样本(即为“无数据”或透明值),将返回GM_Error_NoDataAtLocation。使用此功能访问高位深度和多波段图像图层的原始值。
GM_DLL_EXPORTED GM_Error_t32 __stdcall GM_GetPixelBandValue
(
GM_LayerHandle_t32 aLayer, // IN: Layer to get color from
sint32 aRow, // IN: Y coord of pixel (0 is topmost)
sint32 aCol, // IN: X coord of pixel (0 is leftmost)
sint32 aBand, // IN: Band to get value for (0-based, so first band is 1)
sint32* aVal // OUT: Color of pixel at location
)
获取所提供的栅格图层中给定像素位置处的颜色。如果图层在提供的像素位置处不包含有效的颜色值(即为“无数据”或透明值),将返回GM_Error_NoDataAtLocation。
GM_DLL_EXPORTED GM_Error_t32 GM_GetPixelColor
(
GM_LayerHandle_t32 aLayer, // IN: Layer to get color from or NULL for topmost
sint32 aRow, // IN: Y coord of pixel (0 is topmost)
sint32 aCol, // IN: X coord of pixel (0 is leftmost)
GM_Color_t* aColor // OUT: Color of pixel at location
);
从所提供的图层中获取整行的颜色值。如果任何像素没有有效值,它们将被替换为aInvalidVal。这个函数比使用GM_GetPixelColor函数逐个检索像素颜色值要快得多,因此在访问加载图层的大部分时使用该函数。
GM_DLL_EXPORTED GM_Error_t32 __stdcall GM_GetPixelColorRow
(
GM_LayerHandle_t32 aLayer, // IN: Layer to get color from
sint32 aRow, // IN: Y coord of pixel (0 is topmost)
COLORREF* aColorRow, // OUT: Buffer to hold color values
COLORREF aInvalidVal // IN: Value to use for invalid pixels
);
从提供的高程图层中获取给定像素位置的高程值。如果图层在提供的像素位置上不包含有效的高程样本(即它是一个“无数据”值),则会返回GM_Error_NoDataAtLocation。
GM_DLL_EXPORTED GM_Error_t32 GM_GetPixelElevation
(
GM_LayerHandle_t32 aLayer, // IN: Layer to get elevation from or NULL for topmost
sint32 aRow, // IN: Y coord of pixel (0 is topmost)
sint32 aCol, // IN: X coord of pixel (0 is leftmost)
float* aElev // OUT: Elevation at location in meters
);
从提供的图层中获取整行的高程值。如果任何高程值不具有有效值,则将被替换为aInvalidVal。这个函数比使用GM_GetPixelElevation函数逐个获取像素的高程值要快得多,因此可以使用它来访问加载图层的大部分内容。
GM_DLL_EXPORTED GM_Error_t32 __stdcall GM_GetPixelElevationRow
(
GM_LayerHandle_t32 aLayer, // IN: Layer to get elevation from
sint32 aRow, // IN: Y coord of pixel (0 is topmost)
float* aElevRow, // OUT: Buffer to hold elevation values for row in meters
float aInvalidVal // IN: Value to use for invalid samples (i.e. -9999.9)
);
返回图层中给定索引处的点要素。如果图层在给定索引处没有点要素或者没有找到注册密钥且aPointIndex大于GM_MAX_NON_REGISTERED_VECTOR_IDX,则返回NULL。
从此函数返回的任何要素都必须在访问完要素后使用GM_FreePointFeature函数进行释放。
GM_PointFeature_t* GM_GetPointFeature
(
GM_LayerHandle_t32 aLayer, // Layer to get point from
uint32 aPointIndex // Index of point feature to retrieve
)
获取给定点要素分类的默认绘制样式。
GM_Error_t32 GM_GetPointFeatureClassDrawStyle
(
PointFeatureClass_t16 aFeatureClass, // IN: Feature class to get draw style for
GM_PointStyle_t* aPointStyle // OUT: Current draw style for point classification
);
获取在图层中给定索引处的点要素。如果图层在给定索引处不包含点要素,或者找不到注册密钥并且aPointIndex大于GM_MAX_NON_REGISTERED_VECTOR_IDX,则返回NULL。
使用aFlags参数,您可以控制要素的坐标是以图层的原始投影还是当前设置的投影返回。您还可以指示不返回坐标。
从此函数返回的任何要素在访问完成后必须使用GM_FreePointFeature调用进行释放。
GM_DLL_EXPORTED GM_PointFeature_t* __stdcall GM_GetPointFeatureEx
(
GM_LayerHandle_t32 aLayer, // Layer to get point from
uint32 aPointIndex, // Index of point feature to retrieve
GM_GetFeatureFlags_t32 aFlags, // Flags for getting feature
void* aReserved // Reserved for future use, must be 0
);
获取当前的进度回调函数,如果没有设置进度回调,则返回NULL。如果您希望暂时更改进度回调函数,则此函数很有用。
GM_ProgressCallbackFunc GM_GetProgressCallback
(
void
);
获取用于所有渲染和导出的全局投影。
GM_Error_t32 GM_GetProjection
(
GM_Projection_t* aProj // OUT: Current view/export projection
);
获取显示给定栅格图层时使用的选项。这包括图层的透明度和不透明度(如果有)、图层的颜色强度以及是否裁剪图层的边缘等内容。
GM_Error_t32 GM_GetRasterDisplayOptions
(
GM_LayerHandle_t32 aLayer, // in: layer to get options for
GM_RasterDisplayOptions_t* aOptions // out: display options for raster layer
);
返回此SDK发布的日期。使用它可以为比GM_GetSDKVersion提供的beta版本提供更多详细信息。
GM_DLL_EXPORTED time_t __stdcall GM_GetSDKBuildDate
(
void
)
返回此SDK的版本。版本是通过将主要版本号乘以100并加上次要版本号来获得的。例如,版本1.04将返回为104。
uint32 GM_GetSDKVersion
(
void
);
获取当前选择的要素列表。在使用完成后,必须使用GM_FreeFeatureResultList调用释放从此函数返回的任何要素。
注意:此函数仅在Global Mapper扩展DLL中受支持。
GM_DLL_EXPORTED GM_Error_t32 __stdcall GM_GetSelectedFeatures
(
GM_FoundFeatureResults_t* aResults, // OUT: Structure that will get list of selected features
GM_SelectFlags_t32 aFlags, // IN: Flags controlling what to select (like areas, lines, points, etc.)
void* aReserved // Reserved for future use; must be 0.
);
获取指向当前渲染格网高程数据时使用的着色器显示选项的指针。返回的指针是临时的,如果在客户端上长时间使用,应该进行复制。
const GM_ShaderOptions_t* GM_GetShaderDisplayOptions
(
void
);
获取指向渲染格网高程数据时使用的当前垂直显示选项的指针。返回的指针是临时的,如果在客户端上长时间使用,应该进行复制。
const GM_VerticalDisplayOptions_t* GM_GetVerticalDisplayOptions
(
void
);
获取当前的GPS高度值(以米为单位)。如果没有使用3D修正对GPS设备进行跟踪,则会返回GM_Error_GPSDataNotValid。
GM_Error_t32 GM_GPSGetAltitude
(
float* aAltitude // out: current GPS altitude in meters
);
获取当前的GPS方位值。如果我们没有跟踪GPS设备或者方位不可知,将返回GM_Error_GPSDataNotValid。
GM_Error_t32 GM_GPSGetBearing
(
float* aBearing // out: current GPS bearing in radians from due north
);
获取当前GPS修正精度统计信息。
GM_DLL_EXPORTED GM_Error_t32 __stdcall GM_GPSGetFixInfo
(
float* aHorzPosError, // out: current horizontal position error in meters (0.0 if unknown)
float* aVertPosError, // out: current vertical position error in meters (0.0 if unknown)
float* aPDOP, // out: current position DOP in meters (0.0 if unknown)
uint32* aNumSats // out: number of satellites used in fix (0 if unknown)
);
获取当前GPS修正类型。
GM_gps_fix_t8 GM_GPSGetFixType
(
void
);
获取当前GPS位置的值。如果我们未跟踪GPS设备或没有位置固定,将返回GM_Error_GPSDataNotValid。
如果aGetLatLon为TRUE,则返回的位置将以WGS84数据中的十进制度表示纬度和经度。如果aGetLatLon为FALSE,则位置将以当前全球坐标系返回,该系统由GM_GetProjection返回并由GM_SetProjection修改。
GM_Error_t32 GM_GPSGetLocation
(
GM_Point_t* aCurPos, // out: current GPS location
boolean aGetLatLon // in: retrieve coordinates in lat/lon/WGS84 rather than global coords
);
获取最后一次GPS修复的UTC时间。如果我们未跟踪GPS设备或时间未知,将返回GM_Error_GPSDataNotValid。
GM_Error_t32 __stdcall GM_GPSGetTime
(
time_t* aFixTime
);
获取最后一次GPS修复的UTC时间,可选择性地包括时间的秒部分。大多数设备每秒报告一次位置,因此对于大多数设备来说,这将是0.0,但是一些高频率报告设备将在一秒钟内提供多次更新,此时分秒值将为非零。如果我们未跟踪GPS设备或时间未知,将返回GM_Error_GPSDataNotValid。
GM_DLL_EXPORTED GM_Error_t32 __stdcall GM_GPSGetTimeEx
(
time_t* aFixTime, // out: fix time
double* aFractionalSeconds // out: fractional seconds to add to fix time
);
获取当前的GPS速度值,单位为米/秒。如果我们未跟踪GPS设备或者速度未知,将返回GM_Error_GPSDataNotValid。
GM_Error_t32 GM_GPSGetVelocity
(
float* aVelocity // out: current GPS velocity in m/s
);
在当前GPS位置将GPS船舶渲染到提供的设备上下文中。
GM_Error_t32 GM_GPSRenderVessel
(
HDC aDC, // Device context to draw to
const GM_Rectangle_t* aWorldBounds, // IN: World bounds to convert from or NULL for last drawn
const GM_PixelRect_t* aPixelRect, // IN: Pixel bounds to convert from or NULL for last drawn
uint32 aVesselHeight, // IN: The vessel height in pixels
uint32 aVesselWidth, // IN: The vessel width in pixels
COLORREF aVesselColor // IN: The color to render the vessel in
);
从包含一系列NMEA句子的文件中开始模拟跟踪GPS设备。
如果提供了回调函数,每当从文件解码出新的GPS位置,并且基于文件中的句子GPS跟踪状态发生变化时,将在GPS线程上调用该回调函数。
GM_DLL_EXPORTED GM_Error_t32 __stdcall GM_GPSStartTrackingNMEAFile
(
const char* aFilename, // full path to NMEA file to use
GM_gps_nmea_flags_t32 aNmeaFlags, // flags controlling NMEA playback
GM_GPSCallbackFunc aCallbackFunc, // optional callback function
void* aReserved // reserved value (must be NULL)
);
开始跟踪连接到串口的GPS设备。实际上,GPS将在后台线程上进行跟踪,因此此函数将快速返回,并且可能在建立连接之前返回。
如果提供了回调函数,每当接收到新的GPS位置信息,并且GPS跟踪状态发生变化时,将在GPS线程上调用该回调函数。
如果您提供了GPS_FORMAT_AUTODETECT的格式值,则会自动检查已连接的串口和USB设备上是否存在GPS连接。
GM_Error_t32 GM_GPSStartTrackingSerial
(
GM_gps_format_t8 aFormat, // format (NMEA or Garmin)
uint8 aPort, // COM port for serial connections
uint32 aBaud, // baud rate for serial port
GM_GPSCallbackFunc aCallbackFunc, // optional callback function
uint32 aReserved // 32-bit reserved value (must be 0)
);
开始跟踪连接到USB端口的GPS设备。实际上,GPS将在后台线程上进行跟踪,因此此函数将快速返回,并且可能在建立连接之前返回。
如果提供了回调函数,每当接收到新的GPS位置信息,并且GPS跟踪状态发生变化时,将在GPS线程上调用该回调函数。
注意:目前仅支持Garmin USB设备。
GM_Error_t32 GM_GPSStartTrackingUSB
(
GM_GPSCallbackFunc aCallbackFunc, // optional callback function
uint32 aReserved // 32-bit reserved value (must be 0)
);
停止跟踪当前连接的任何GPS设备。
GM_Error_t32 GM_GPSStopTracking
(
void
);