创建地理坐标类型


    'nType 创建地理坐标类型
    Public Function CreateProject(ByVal pSpatRefFact As ISpatialReferenceFactory, ByVal nType As Integer, ByVal strNameBZ As String) As IProjectedCoordinateSystem

        '投影坐标系
        Dim spatialReferenceFactory As ISpatialReferenceFactory2 = New SpatialReferenceEnvironmentClass()
        Dim projection As IProjectionGEN = pSpatRefFact.CreateProjection(esriSRProjectionType.esriSRProjection_GaussKruger)


        '地理坐标系统

        '定义地理坐标,由输入的对象决定,也可以自己定义,参考: esriSRGeoCSType
        Dim pGCS As IGeographicCoordinateSystem = New GeographicCoordinateSystem()

        '定义投影方式
        pGCS = spatialReferenceFactory.CreateGeographicCoordinateSystem(nType)

        '定义投影单位,参考:esriSRUnitType
        Dim pUnit As ILinearUnit = New LinearUnitClass()
        pUnit = spatialReferenceFactory.CreateUnit(esriSRUnitType.esriSRUnit_Meter)


        '定义其他参数,参考:esriSRParameterType
        Dim pParm(5) As IParameter
        pParm(0) = spatialReferenceFactory.CreateParameter(esriSRParameterType.esriSRParameter_FalseEasting)
        pParm(0).Value = CDbl(m_strEasting)

        pParm(1) = spatialReferenceFactory.CreateParameter(esriSRParameterType.esriSRParameter_FalseNorthing)
        pParm(1).Value = 0

        Dim dCentrel As Double = CDbl(Me.TextBox_D.Text) + CDbl(Me.TextBox_F.Text) / 60 + CDbl(Me.TextBox_M.Text) / 3600


        pParm(2) = spatialReferenceFactory.CreateParameter(esriSRParameterType.esriSRParameter_CentralMeridian)
        pParm(2).Value = dCentrel

        pParm(3) = spatialReferenceFactory.CreateParameter(esriSRParameterType.esriSRParameter_ScaleFactor)
        pParm(3).Value = 1
        ' pParm(4) = spatialReferenceFactory.CreateParameter(esriSRParameterType.esriSRParameter_StandardParallel2)
        ' pParm(4).Value = 47

        pParm(4) = spatialReferenceFactory.CreateParameter(esriSRParameterType.esriSRParameter_LatitudeOfOrigin)
        pParm(4).Value = 0

        '设置投影相关信息


        Dim projectedCoordinateSystemEdit As IProjectedCoordinateSystemEdit = New ProjectedCoordinateSystem

        Dim name As Object = strNameBZ + CStr(dCentrel)
        Dim aliasFL As Object = "Albers"
        Dim abbreviation As Object = "Albers"
        Dim remarks As Object = "User_Defined_Albers is the projection"
        Dim usage As Object = ""
        Dim parametersObject As Object = pParm
        projectedCoordinateSystemEdit.Define(name, aliasFL, abbreviation, remarks, _
        usage, pGCS, pUnit, _
   projection, parametersObject)

        Return projectedCoordinateSystemEdit

    End Function

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值