Global Mapper SDK 19 中文开发文档(五)

GM_GenerateContours(Ex) 

从加载的高程数据生成等高线,并创建一个新的矢量图层来保存结果。在使用完毕后,必须使用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_GenerateDensityGrid 

根据图层中的点要素生成密度(热力)网格。值将基于点要素数量或某个属性的值。在使用完毕后,必须使用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
)

GM_GenerateElevationGrid

根据加载的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_GenerateRoughnessGrid

基于提供的栅格地表覆盖图层,生成粗糙长度网格。在完成使用后,必须使用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_GenerateWatershed

对加载的地形图层执行分水岭计算,生成河流网络,并可选择为每条河流生成一组排水区域要素。还可以通过寻找山脊线而不是生成河流网络的方式进行计算。

在完成使用后,必须使用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
)

 GM_GetAreaFeature

返回图层中给定索引处的区域要素。如果图层中没有给定索引处的区域或未找到注册密钥,并且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_GetAreaFeatureClassDrawStyle

设置给定区域要素分类的默认绘制样式。

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
);

GM_GetAreaFeatureEx

返回图层中给定索引处的区域要素。如果图层不包含给定索引处的区域或者找不到注册密钥并且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_GetAvailableOnlineSourceList

返回可用的在线来源列表。这将是一个GM_OnlineSourceInfo_t结构的数组。返回的列表中条目的数量将在aSourceCnt参数中返回。

const GM_OnlineSourceInfo_t* __stdcall GM_GetAvailableOnlineSourceList
(
    uint32*                 aSourceCnt        // OUT: Number of sources returned in list
)

GM_GetAvailableProjectionList

获取所有可用投影及其可用参数、数据、单位等的列表,包括这些值的名称。返回的列表中条目的数量将在aProjCnt参数中返回。返回的指针在程序运行的剩余时间内保持有效,或者直到再次调用此函数,在此期间可能返回一个新的指针。

const GM_ProjectionInfo_t* __stdcall GM_GetAvailableProjectionList
(
    uint32*             aProjCnt        // OUT: Number of projections returned in list
)

GM_GetAvailableSymbolNames

返回可用符号名称的列表。这将是一个const char*值的数组。返回列表中的条目数将在aNumSymbols参数中返回。如果您不想单独跟踪列表的大小,符号名称列表也是以NULL结尾的。

char** __stdcall GM_GetAvailableSymbolNames
(
    uint32* aNumSymbols                         // OUT: Number of symbols in returned list
);

GM_GetDatumInfo

获取给定数据基准所使用的基准转换的信息。

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_GetElevationOverrides

获取当前应用于给定高程图层的高程调整选项。

GM_Error_t32 __stdcall GM_GetElevationOverrides
(
    GM_LayerHandle_t32          aLayer,     // in: layer to get options for
    GM_ElevationOverrides_t*    aOptions    // out: elevation adjustments
);

GM_GetFeatureClassInfo

获取有关给定要素类的信息。

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_GetFeatureElevation

获取此要素的海拔(使用米作单位)。如果没有适用于此要素的单个海拔值,则返回错误代码。

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)
)

GM_GetFilterString

返回一个指向包含此DLL支持的所有类型的过滤器的字符串的常量指针。此过滤器字符串可用作标准Windows打开文件对话框的输入。

GM_DLL_EXPORTED const char* GM_GetFilterString
(
    void
);

GM_GetLastDrawnMapBounds

获取最近绘制的地图范围(仅在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
);

GM_GetLastDrawnMapBoundsEx

获取最近绘制的地图范围,包括旋转(仅在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
);

GM_GetLastDrawnScale

获取最近绘制的比例尺(即1:XXXX中的XXXX部分)。如果没有进行绘制,则返回0.0。

double GM_GetLastDrawnScale
(
    HDC    aDC             // Device context that was drawn to
);

GM_GetLayerInfo

获取给定图层的信息。如果图层未加载,则返回NULL。否则,返回指向图层元数据的常量指针。有关详细信息,请参阅头文件中的GM_LayerInfo_t定义。

const GM_LayerInfo_t* GM_GetLayerInfo
(
    GM_LayerHandle_t32    aLayer
);

GM_GetLayerLidarStats

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
)

GM_GetLidarClassInfo

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?
);

GM_GetLidarPoint 

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
)

GM_GetLidarQueryInfo

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
)

GM_GetLineFeature

获取图层中给定索引的线要素。如果图层在给定索引处不包含线要素或未找到注册密钥且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_GetLineFeatureClassDrawStyle

设置给定线要素分类使用的默认绘制样式。

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
);

GM_GetLineFeatureEx

返回给定图层中指定索引处的线要素。如果图层在给定索引处不包含线要素,或者未找到注册密钥并且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
);

GM_GetLoadedLayerList

返回已加载图层的列表。在调用后,您应该将列表复制到自己的本地结构中,因为指针在下一次调用时可能会变为无效。如果您在C++示例应用程序中使用GM_MapWindow类,则无需使用此功能,因为它自己会跟踪图层。

const GM_LayerHandle_t32* __stdcall GM_GetLoadedLayerList
(
    uint32* aLayerCount // OUT: count of layers in returned list
)

GM_GetLocationColor

获取提供的图层或当前加载的栅格和高程图层列表(先上层后下层)中给定位置的颜色。

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_GetLocationElevation

获取提供的图层或当前加载的高程图层列表(最上面的高程图层优先)中给定位置的高程。

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
);

GM_GetMACAddress

获取当前计算机的唯一机器ID(MAC地址)。这用于生成许可文件,您可能需要调用它来提供MAC地址以生成您产品的.lic文件。

const char* GM_GetMACAddress
(
    void
);

GM_GetMGRSCoordinates

根据以当前投影或纬度/经度度坐标提供的坐标,获取相应的MGRS坐标字符串。MGRS坐标字符串将存储在变量中,它应该是一个足够大以容纳完整的MGRS坐标的字符串缓冲区的指针(通常30个或更多的空间足够)。

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_GetMiscOption

获取高级/其他选项的当前值。通常返回的值是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
)

GM_GetNextLidarQueryPoints

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_GetOnlineLayerZoomScale

获取用于绘制/导出给定边界的瓦片在线图层的缩放比例。很少有人需要使用此函数。只有在您要为本地瓦片化的“在线”源预获取一些瓦片,因此需要事先知道缩放比例时才会使用此功能。

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_GetOnlineSourceInfo

通过名称获取源的详细信息,并确定该源是否可用。您可以使用此函数来判断某个源是否因为诸如中国防火墙之类的原因而不可用。如果无法连接到该源,则返回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_GetPackageLayerList

返回给定程序包中的图层列表。返回的指针是临时的,在下一次调用此函数时将变为无效。该包必须使用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_GetPathProfile

获取在提供的图层或当前加载的高程图层列表中(从最上面的高程图层开始)沿路径的高程列表。

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
);

GM_GetPathProfileLOS

获取在提供的图层或当前加载的高程图层列表中(从最上面的高程图层开始)沿路径的高程列表。还可以执行视线计算并返回关于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
);

GM_GetPathProfileLOSEx

获取在提供的图层列表中或当前加载的高程图层列表中(从最上面的高程图层开始)沿路径的高程列表。还可以执行视线计算并返回关于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_GetPixelBandValue

获取所提供的栅格图层中给定像素位置处的原始波段值。如果图层在提供的像素位置处不包含有效样本(即为“无数据”或透明值),将返回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_GetPixelColor

获取所提供的栅格图层中给定像素位置处的颜色。如果图层在提供的像素位置处不包含有效的颜色值(即为“无数据”或透明值),将返回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    
);

GM_GetPixelColorRow

从所提供的图层中获取整行的颜色值。如果任何像素没有有效值,它们将被替换为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_GetPixelElevation

从提供的高程图层中获取给定像素位置的高程值。如果图层在提供的像素位置上不包含有效的高程样本(即它是一个“无数据”值),则会返回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
);

GM_GetPixelElevationRow

从提供的图层中获取整行的高程值。如果任何高程值不具有有效值,则将被替换为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)
);

GM_GetPointFeature

返回图层中给定索引处的点要素。如果图层在给定索引处没有点要素或者没有找到注册密钥且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_GetPointFeatureClassDrawStyle

获取给定点要素分类的默认绘制样式。

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
);

GM_GetPointFeatureEx

获取在图层中给定索引处的点要素。如果图层在给定索引处不包含点要素,或者找不到注册密钥并且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
);

GM_GetProgressCallback

获取当前的进度回调函数,如果没有设置进度回调,则返回NULL。如果您希望暂时更改进度回调函数,则此函数很有用。

GM_ProgressCallbackFunc GM_GetProgressCallback
(
    void
);

GM_GetProjection

获取用于所有渲染和导出的全局投影。

GM_Error_t32 GM_GetProjection
(
    GM_Projection_t*    aProj           // OUT: Current view/export projection
);

GM_GetRasterDisplayOptions

获取显示给定栅格图层时使用的选项。这包括图层的透明度和不透明度(如果有)、图层的颜色强度以及是否裁剪图层的边缘等内容。

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
);

GM_GetSDKBuildDate

返回此SDK发布的日期。使用它可以为比GM_GetSDKVersion提供的beta版本提供更多详细信息。

GM_DLL_EXPORTED time_t __stdcall GM_GetSDKBuildDate
(
    void
)

GM_GetSDKVersion

返回此SDK的版本。版本是通过将主要版本号乘以100并加上次要版本号来获得的。例如,版本1.04将返回为104。

uint32 GM_GetSDKVersion
(
    void
);

GM_GetSelectedFeatures

获取当前选择的要素列表。在使用完成后,必须使用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.
);

GM_GetShaderDisplayOptions

获取指向当前渲染格网高程数据时使用的着色器显示选项的指针。返回的指针是临时的,如果在客户端上长时间使用,应该进行复制。

const GM_ShaderOptions_t* GM_GetShaderDisplayOptions
(
    void
);

GM_GetVerticalDisplayOptions

获取指向渲染格网高程数据时使用的当前垂直显示选项的指针。返回的指针是临时的,如果在客户端上长时间使用,应该进行复制。

const GM_VerticalDisplayOptions_t* GM_GetVerticalDisplayOptions
(
    void
);

GM_GPSGetAltitude

获取当前的GPS高度值(以米为单位)。如果没有使用3D修正对GPS设备进行跟踪,则会返回GM_Error_GPSDataNotValid。

GM_Error_t32 GM_GPSGetAltitude
(
    float*                  aAltitude       // out: current GPS altitude in meters
);

GM_GPSGetBearing

获取当前的GPS方位值。如果我们没有跟踪GPS设备或者方位不可知,将返回GM_Error_GPSDataNotValid。

GM_Error_t32 GM_GPSGetBearing
(
    float*                  aBearing        // out: current GPS bearing in radians from due north
);

GM_GPSGetFixInfo

获取当前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)
);

GM_GPSGetFixType

获取当前GPS修正类型。

GM_gps_fix_t8 GM_GPSGetFixType
(
    void
);

GM_GPSGetLocation

获取当前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
);

GM_GPSGetTime

获取最后一次GPS修复的UTC时间。如果我们未跟踪GPS设备或时间未知,将返回GM_Error_GPSDataNotValid。

GM_Error_t32 __stdcall GM_GPSGetTime
(
    time_t*    aFixTime
);

GM_GPSGetTimeEx

获取最后一次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
);

GM_GPSGetVelocity

获取当前的GPS速度值,单位为米/秒。如果我们未跟踪GPS设备或者速度未知,将返回GM_Error_GPSDataNotValid。

GM_Error_t32 GM_GPSGetVelocity
(
    float*    aVelocity       // out: current GPS velocity in m/s
);

GM_GPSRenderVessel

在当前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
);

GM_GPSStartTrackingNMEAFile

从包含一系列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)
);

GM_GPSStartTrackingSerial

开始跟踪连接到串口的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)
);

GM_GPSStartTrackingUSB

开始跟踪连接到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)
);

GM_GPSStopTracking

停止跟踪当前连接的任何GPS设备。

GM_Error_t32 GM_GPSStopTracking
(
    void
);

你可能感兴趣的:(技术文章,个人开发)