目录
WGS1984:
private void wGS1954ToolStripMenuItem_Click(object sender, EventArgs e)
{
ChoseLayer Choseform = new ChoseLayer();
int layerName;
IFeatureLayer pFeatureLayer;
if (Choseform.ShowDialog() == DialogResult.OK)
{
layerName = Choseform.layerindex;
pFeatureLayer = axMapControl1.get_Layer(layerName) as IFeatureLayer;
try
{
IFeatureClass pFeatureClass = pFeatureLayer.FeatureClass;
IGeoDataset pGeoDataset = pFeatureClass as IGeoDataset;
IGeoDatasetSchemaEdit pGeoDatasetSchemaEdit = pGeoDataset as IGeoDatasetSchemaEdit;
if (pGeoDatasetSchemaEdit.CanAlterSpatialReference == true)
{
ISpatialReferenceFactory2 pSpaRefFactory = new SpatialReferenceEnvironmentClass();
IGeographicCoordinateSystem pNewGeoSys = pSpaRefFactory.CreateGeographicCoordinateSystem((int)esriSRGeoCSType.esriSRGeoCS_WGS1984);
pGeoDatasetSchemaEdit.AlterSpatialReference(pNewGeoSys);
}
Choseform.Dispose();
MessageBox.Show("已将图层坐标系定义为WGS1984", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch (Exception Err)
{
MessageBox.Show(Err.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
}
Beijing1954:
private void beijing1954ToolStripMenuItem_Click(object sender, EventArgs e)
{
ChoseLayer Choseform = new ChoseLayer();
int layerName;
IFeatureLayer pFeatureLayer;
if (Choseform.ShowDialog() == DialogResult.OK)
{
layerName = Choseform.layerindex;
pFeatureLayer = axMapControl1.get_Layer(layerName) as IFeatureLayer;
try
{
IFeatureClass pFeatureClass = pFeatureLayer.FeatureClass;
IGeoDataset pGeoDataset = pFeatureClass as IGeoDataset;
IGeoDatasetSchemaEdit pGeoDatasetSchemaEdit = pGeoDataset as IGeoDatasetSchemaEdit;
if (pGeoDatasetSchemaEdit.CanAlterSpatialReference == true)
{
ISpatialReferenceFactory2 pSpaRefFactory = new SpatialReferenceEnvironmentClass();
IGeographicCoordinateSystem pNewGeoSys = pSpaRefFactory.CreateGeographicCoordinateSystem((int)esriSRGeoCSType.esriSRGeoCS_Beijing1954);
pGeoDatasetSchemaEdit.AlterSpatialReference(pNewGeoSys);
}
Choseform.Dispose();
MessageBox.Show("已将图层坐标系定义为Beijing1954", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch (Exception Err)
{
MessageBox.Show(Err.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
}