|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#ifndef __GISMANAGER_H__
|
|
|
|
|
#define __GISMANAGER_H__
|
|
|
|
|
|
|
|
|
|
#include "map.h"
|
|
|
|
|
#include <iostream>
|
|
|
|
|
#include <vector>
|
|
|
|
|
|
|
|
|
|
#include "shapedrawingoptions.h"
|
|
|
|
|
#include "labelcategory.h"
|
|
|
|
|
#include "shapefilecategory.h"
|
|
|
|
|
#include "shapefilecategories.h"
|
|
|
|
|
#include "table.h"
|
|
|
|
|
#include "shape.h"
|
|
|
|
|
|
|
|
|
|
//<2F>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>
|
|
|
|
|
#pragma pack(1)
|
|
|
|
|
struct PtPixel
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
PtPixel()
|
|
|
|
|
{
|
|
|
|
|
_ptX = 0;
|
|
|
|
|
_ptY = 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
PtPixel(int x, int y)
|
|
|
|
|
{
|
|
|
|
|
_ptX = x;
|
|
|
|
|
_ptY = y;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int _ptX;
|
|
|
|
|
int _ptY;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
//<2F>Զ<EFBFBD><D4B6><EFBFBD>˫<EFBFBD><CBAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
struct PointXY
|
|
|
|
|
{
|
|
|
|
|
PointXY()
|
|
|
|
|
{
|
|
|
|
|
x=0;
|
|
|
|
|
y=0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
PointXY(double px, double py)
|
|
|
|
|
{
|
|
|
|
|
x = px;
|
|
|
|
|
y = py;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
double x;
|
|
|
|
|
double y;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
//<2F>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
struct GeoCoord
|
|
|
|
|
{
|
|
|
|
|
GeoCoord()
|
|
|
|
|
{
|
|
|
|
|
lon = lat = alt = 0.0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
GeoCoord(double x, double y, double z)
|
|
|
|
|
{
|
|
|
|
|
lon = x;
|
|
|
|
|
lat = y;
|
|
|
|
|
alt = z;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
double lon;
|
|
|
|
|
double lat;
|
|
|
|
|
double alt;
|
|
|
|
|
};
|
|
|
|
|
#pragma pack()
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD>Χ<EFBFBD><CEA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
enum EtcFenceType
|
|
|
|
|
{
|
|
|
|
|
ForbidFly, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
SafeArea, //<2F><>ȫ<EFBFBD><C8AB>
|
|
|
|
|
NoDef //<2F><EFBFBD><DEB6><EFBFBD>
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class EtcFenceManager;
|
|
|
|
|
|
|
|
|
|
class EditAttributes;
|
|
|
|
|
|
|
|
|
|
typedef std::vector<PointXY> PointVec;
|
|
|
|
|
|
|
|
|
|
class GISManager
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
|
|
|
|
|
GISManager();
|
|
|
|
|
|
|
|
|
|
~GISManager();
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD>ʵ<EFBFBD><CAB5>
|
|
|
|
|
static GISManager* getInstance();
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD>ٺ<EFBFBD><D9BA><EFBFBD>
|
|
|
|
|
static void DestroyObject();
|
|
|
|
|
|
|
|
|
|
void init();
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
brief:<EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD>ͼ<EFBFBD>ؼ<EFBFBD>
|
|
|
|
|
param:CMap1*
|
|
|
|
|
*/
|
|
|
|
|
void setMap(CMap1* pMap);
|
|
|
|
|
|
|
|
|
|
//<2F><EFBFBD>ͼ<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
void Openlocalfile(CString file);
|
|
|
|
|
CString GetFileType(CString file);
|
|
|
|
|
CString GetFileName(CString file);
|
|
|
|
|
|
|
|
|
|
void Redraw();
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>
|
|
|
|
|
void RemoveAllLayers();
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
brief<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ijһͼ<EFBFBD><EFBFBD>
|
|
|
|
|
param: shapeIDͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
return<EFBFBD><EFBFBD>void
|
|
|
|
|
*/
|
|
|
|
|
void EraseShape(long& shapeID);
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
brief:<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>յĵ<EFBFBD>ͼ<EFBFBD><EFBFBD>
|
|
|
|
|
param:shpLayerIDͼ<EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD>ptStyle<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD>drawColor<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
|
|
|
|
|
param:ptSize<EFBFBD><EFBFBD><EFBFBD><EFBFBD>С
|
|
|
|
|
return:void
|
|
|
|
|
*/
|
|
|
|
|
void CreateEmptyPointShapefile(long &shpLayerID,mapWindow::tkDefaultPointSymbol ptStyle = mapWindow::tkDefaultPointSymbol::dpsSquare,
|
|
|
|
|
const unsigned long drawColor = RGB(255,0,0), int ptSize = 20);
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
brief:<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD><EFBFBD><EFBFBD>Shapefileͼ<EFBFBD><EFBFBD>
|
|
|
|
|
param:layerHandleͼ<EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD>drawColor<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ<EFBFBD><EFBFBD>fillColor<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
|
|
|
|
|
param:fillTransparency<EFBFBD><EFBFBD><EFBFBD>ȣ<EFBFBD>0-255<EFBFBD><EFBFBD>
|
|
|
|
|
return:void
|
|
|
|
|
*/
|
|
|
|
|
void CreateEmptyAreaShapfile(long& layerHandle, const unsigned long drawColor, const unsigned long& fillColor = RGB(0,100,100),
|
|
|
|
|
const float& fillTransparency = 60);
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
brief:<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD>shpfile<EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD>
|
|
|
|
|
param:<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫlineColor
|
|
|
|
|
param:lineWidth<EFBFBD>߿<EFBFBD><EFBFBD><EFBFBD>Ĭ<EFBFBD><EFBFBD>Ϊ1
|
|
|
|
|
param:<EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD>ʸ<EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD>ID<EFBFBD><EFBFBD>shpLayerID
|
|
|
|
|
return:void
|
|
|
|
|
*/
|
|
|
|
|
void CreateEmptyLineShapfile(long &shpLayerID, const unsigned long lineColor, float lineWidth = 1,
|
|
|
|
|
mapWindow::tkDashStyle lineStyle = mapWindow::tkDashStyle::dsCustom);
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD>shpfileͼ<65><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
//<2F><><EFBFBD>룺ʸ<EBA3BA><CAB8>ͼ<EFBFBD><CDBC>ID<49><44>shpLayerID<49><44>shp<68><70><EFBFBD><EFBFBD>shpType
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD><EFBFBD>ȡ<EFBFBD>lon; γ<>ȡ<EFBFBD>lat
|
|
|
|
|
void AddOnePoint2Shapfile(const long shpLayerID, const int shpType, const double lon, const double lat);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD>ڵ<EFBFBD>ʸ<EFBFBD><CAB8>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD>
|
|
|
|
|
//<2F><><EFBFBD>룺<EFBFBD><EBA3BA>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>drawLayerID
|
|
|
|
|
// <09><><EFBFBD><EFBFBD><EFBFBD>꣬<EFBFBD><EAA3AC><EFBFBD><EFBFBD>lon, γ<><CEB3>lat
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>strPtName
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫstrColor
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ<EFBFBD><C9AB>ֵfontColor
|
|
|
|
|
void DrawPointShapeLayer(long &drawLayerID, const double lon, const double lat,
|
|
|
|
|
CString strPtName, const CString strColor, unsigned long fontColor);
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
brief:<EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD>Ƕ<EFBFBD>
|
|
|
|
|
param:shapeLayerID<EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD>
|
|
|
|
|
param:rotation<EFBFBD><EFBFBD>ת<EFBFBD>Ƕ<EFBFBD>
|
|
|
|
|
*/
|
|
|
|
|
void setPointRotation(const long& shapeLayerID, double rotation);
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
brief:<EFBFBD><EFBFBD><EFBFBD>ñ<EFBFBD>ע<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԣ<EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڸ<EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>עʱʹ<EFBFBD><EFBFBD>
|
|
|
|
|
param: shapeIDͼ<EFBFBD><EFBFBD>ID<EFBFBD><EFBFBD>, fontSize<EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><EFBFBD>colorName<EFBFBD><EFBFBD>ɫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,fontColor<EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
|
|
|
|
|
param: XOffset/YOffset<EFBFBD><EFBFBD>עλ<EFBFBD><EFBFBD>ƫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
return: void
|
|
|
|
|
*/
|
|
|
|
|
void SetLabelCategory(const long& shapeID, int fontSize = 12, CString colorName = _T("<EFBFBD><EFBFBD>ɫ"), unsigned long fontColor = RGB(255,0,0), double XOffset = 0, double YOffset = 0);
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
brief:<EFBFBD><EFBFBD><EFBFBD>ñ<EFBFBD>ע<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԣ<EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڸ<EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>עʱʹ<EFBFBD><EFBFBD>
|
|
|
|
|
param: shapeIDͼ<EFBFBD><EFBFBD>ID<EFBFBD><EFBFBD>, fontSize<EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><EFBFBD>colorName<EFBFBD><EFBFBD>ɫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,fontColor<EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
|
|
|
|
|
param: XOffset/YOffset<EFBFBD><EFBFBD>עλ<EFBFBD><EFBFBD>ƫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
return: void
|
|
|
|
|
*/
|
|
|
|
|
void SetLabelCategory2(const long& shapeID, int fontSize = 12, unsigned long fontColor = RGB(255,0,0),
|
|
|
|
|
unsigned long frameBackColor = RGB(0,0,0), double XOffset = 0, double YOffset = 0);
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
brief:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĭ<EFBFBD>ϱ<EFBFBD>ע<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
param:layerHandle,
|
|
|
|
|
return:void
|
|
|
|
|
*/
|
|
|
|
|
void SetInnerLabelCategory(const long& layerHandle,int fontSize = 12, unsigned long fontColor = RGB(255,0,0),
|
|
|
|
|
double XOffset = 0, double YOffset = 0);
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
brief:<EFBFBD><EFBFBD><EFBFBD>Ʊ<EFBFBD>ע<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>SetLabelCategory
|
|
|
|
|
param: isAdd true<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>false<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>棬shapefileIDͼ<EFBFBD><EFBFBD>ID<EFBFBD>ţ<EFBFBD>labelName<EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD>lon<EFBFBD><EFBFBD>lat<EFBFBD><EFBFBD>עλ<EFBFBD><EFBFBD>
|
|
|
|
|
param:rotation<EFBFBD><EFBFBD>ת<EFBFBD>Ƕȣ<EFBFBD>labalCatIndexʹ<EFBFBD><EFBFBD>label<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
return: void
|
|
|
|
|
*/
|
|
|
|
|
void drawLabel(bool isAdd, const long& shapefileID, const CString& labelName, const double& lon, const double& lat,
|
|
|
|
|
const double& rotation = 0, const long& labalCatIndex = 0);
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
brief:<EFBFBD><EFBFBD><EFBFBD>ݾ<EFBFBD>γ<EFBFBD>ȡ<EFBFBD><EFBFBD>Ƕȼ<EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ε<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
param:lon lat yaw<EFBFBD><EFBFBD>γ<EFBFBD>ȺͽǶ<EFBFBD>
|
|
|
|
|
param:pArrayData<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ά<EFBFBD><EFBFBD><EFBFBD>飬pvec<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״<EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
*/
|
|
|
|
|
void CalculatePolygonCoordinate(const double lon, const double lat, const double yaw,
|
|
|
|
|
double (*pArrayData)[2], const std::vector<PtPixel>& pvec);
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
brief:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ijһͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>shape
|
|
|
|
|
param:shapeLayerIDͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
ruturn: void
|
|
|
|
|
*/
|
|
|
|
|
void clearShapefileShape(const long& shapeLayerID);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
brief:<EFBFBD><EFBFBD>ȡͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼԪ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
param:layerHandleͼ<EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD>elementIDԪ<EFBFBD><EFBFBD>ID<EFBFBD><EFBFBD>selѡ<EFBFBD><EFBFBD>Ĭ<EFBFBD><EFBFBD>0
|
|
|
|
|
return:long
|
|
|
|
|
*/
|
|
|
|
|
long getLayerShapeIndex(const long& layerHandle, const int& elementID, const int& sel = 0);
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
brief:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD>ȡԪ<EFBFBD><EFBFBD>ID
|
|
|
|
|
param:layerHandleͼ<EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD>shapeIndexͼԪ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>selѡ<EFBFBD><EFBFBD>Ĭ<EFBFBD><EFBFBD>0
|
|
|
|
|
return:long
|
|
|
|
|
*/
|
|
|
|
|
int getLayerShapeEleID(const long& layerHandle, const long& shapeIndex, const int& sel = 0);
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
brief:ɾ<EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD>ͼԪ
|
|
|
|
|
param:layerhandleͼ<EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD>shapeIndexͼԪ<EFBFBD><EFBFBD>
|
|
|
|
|
return:bool
|
|
|
|
|
*/
|
|
|
|
|
bool deleteShape(const long& layerHandle, const long& shapeIndex);
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
brief:<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼԪ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
|
|
|
|
param:layerHandleͼ<EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD>shapeIndexͼԪ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
param:lineColor<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ<EFBFBD><EFBFBD>lineWidth<EFBFBD>߿<EFBFBD><EFBFBD>ȣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ
|
|
|
|
|
*/
|
|
|
|
|
void changeLayerShapeLineStyle(const long& layerHandle, const long& shapeIndex, const CString& styleName, unsigned long lineColor,float lineWidth = 1,
|
|
|
|
|
mapWindow::tkLineStipple lineStyle = mapWindow::tkLineStipple::lsDashed);
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
brief:<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼԪ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ
|
|
|
|
|
param:layerHandleͼ<EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD>shapeIndexͼԪ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
param:styleName<EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD>drawColor<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ<EFBFBD><EFBFBD>fillColor<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
|
|
|
|
|
param: fillTransparency<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȣ<EFBFBD>fillType<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
return:void
|
|
|
|
|
*/
|
|
|
|
|
void changeAreaLayerShapeStyle(const long& layerHandle, const long& shapeIndex, const CString& styleName, const unsigned long drawColor,
|
|
|
|
|
const unsigned long& fillColor, const float& fillTransparency);
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
brief:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼԪij<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֶ<EFBFBD>ֵ
|
|
|
|
|
param:layerhandleͼ<EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD>shapeIndexͼԪ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, fieldName<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD>value<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֶ<EFBFBD>ֵ
|
|
|
|
|
return:void
|
|
|
|
|
*/
|
|
|
|
|
void editAttributeValue(const long& layerHandler, const long& shapeIndex, const CString& fieldName, const CString& value);
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
brief:<EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD>ͼԪ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼԪ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
param:layerHandleͼ<EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD>x y<EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>, x2 y2<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD>½<EFBFBD>λ<EFBFBD><EFBFBD>
|
|
|
|
|
param:ѡ<EFBFBD><EFBFBD>ģʽ
|
|
|
|
|
return:long<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼԪ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
*/
|
|
|
|
|
long selectShape(const long& layerHandle, long x, long y, long x2 = -1, long y2 = -1, bool isPt = false,
|
|
|
|
|
mapWindow::SelectMode selectMode = mapWindow::SelectMode::INCLUSION);
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
brief:<EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD>ѡ<EFBFBD><EFBFBD>Χѡ<EFBFBD><EFBFBD>ͼԪ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼԪ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
param:layerHandleͼ<EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD>x1 y1<EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD>Ͻ<EFBFBD>λ<EFBFBD>ã<EFBFBD>x2 y2<EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD>Ͻ<EFBFBD>λ<EFBFBD><EFBFBD>
|
|
|
|
|
param:selectedIndexVec<EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>ͼԪ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
return:void
|
|
|
|
|
*/
|
|
|
|
|
void selectShapes(const long& layerHandle, long x1, long y1, long x2, long y2, std::vector<long>& selectedIndexVec);
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
brief:<EFBFBD><EFBFBD>ѡѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼԪ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD>
|
|
|
|
|
param:x<EFBFBD><EFBFBD>y<EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>
|
|
|
|
|
return:long
|
|
|
|
|
*/
|
|
|
|
|
long selectAreaShape(const long& layerHandle, long x, long y);
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
brief:<EFBFBD>ͷ<EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>ѡ<EFBFBD>е<EFBFBD>ͼԪ
|
|
|
|
|
parma:ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
return:void
|
|
|
|
|
*/
|
|
|
|
|
void releaseSelected(const long& layerHandle);
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
brief:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Σ<EFBFBD>
|
|
|
|
|
param:x y<EFBFBD><EFBFBD>λ<EFBFBD>ã<EFBFBD>lenOfSide<EFBFBD>߳<EFBFBD>, extents<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
|
|
|
|
|
return:void
|
|
|
|
|
*/
|
|
|
|
|
void calculateExtents(const double& x, const double& y, double lenOfSide, mapWindow::IExtentsPtr extents);
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
|
|
|
|
CMap1* m_map;
|
|
|
|
|
|
|
|
|
|
//<2F>Ƿ<EFBFBD><C7B7><EFBFBD>ͼ
|
|
|
|
|
bool m_bHaveAddMap;
|
|
|
|
|
|
|
|
|
|
//<2F><>ͼ<EFBFBD>ռ<EFBFBD><D5BC><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
CWnd* m_pMapCwnd;
|
|
|
|
|
|
|
|
|
|
/*!<21><><EFBFBD><EFBFBD>Χ<EFBFBD><CEA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
|
|
|
|
|
EtcFenceManager* m_etcFenceManager;
|
|
|
|
|
|
|
|
|
|
/*!<21><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>༭<EFBFBD><E0BCAD>*/
|
|
|
|
|
EditAttributes* m_editAttributes;
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
|
|
|
|
|
static GISManager* m_gisMananger; //<2F><>̬<EFBFBD><CCAC><EFBFBD><EFBFBD>
|
|
|
|
|
static int m_iCounter;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
#endif
|