地图投影转换工具:proj 的实用应用

版权申诉
0 下载量 183 浏览量 更新于2024-11-09 收藏 2.31MB RAR 举报
资源摘要信息:"proj.rar_proj_投影转换是一个小巧实用的地图投影转换工具,它允许用户在不同地图投影系统之间进行转换,例如从1954年北京坐标系统(通常称为54坐标系统)转换到1980年西安坐标系统(通常称为80坐标系统),反之亦然。该工具的实用之处在于它提供了在不同历史时期和不同地理信息系统中常用的地图数据转换能力,使得数据可以在不同的应用场景中保持一致性。" 知识点详细说明: 1. 地图投影转换概念: 地图投影转换是指将地理坐标(通常是经纬度)转换到平面坐标的过程。不同国家和地区由于历史、测绘技术等原因,采用了不同的投影系统和坐标系统,这使得数据在不同系统间不兼容。为了保证数据的通用性和准确性,就需要进行坐标系统的转换。 2. 常用坐标系统: - 54坐标系统(1954年北京坐标系):这是中国在1954年建立的基于克拉索夫斯基椭球体的坐标系统,主要用于当时的测绘工作。 - 80坐标系统(1980年西安坐标系):为了适应现代测绘技术的发展和满足精度需求,中国在1980年建立了一个新的基于国际地理参考系统(ITRF)的坐标系统。 - WGS84坐标系:这是目前国际上广泛使用的一个坐标系统,它是全球定位系统(GPS)的基础坐标系。 3. 投影转换的应用场景: - 地理信息系统(GIS)数据整合:不同来源的GIS数据可能基于不同的坐标系统,转换是实现数据融合和比较的先决条件。 - 地图制作:在进行地图制作时,需要根据目标用户的坐标系统需求进行转换,以确保地图的正确性和适用性。 - 工程设计:工程设计中,尤其是在大型基础设施项目中,需要确保各阶段数据的一致性,涉及坐标系统转换的处理。 4. 投影转换的方法和技术: - 数学转换方法:通过数学公式计算新的坐标值,通常需要知道原坐标系统和目标坐标系统之间的参数差异。 - 软件工具:存在多种软件和程序可以自动完成投影转换的过程,用户只需要提供原坐标数据和目标坐标系统即可。 - 在线服务:互联网上有提供在线投影转换的服务,用户可以上传数据,服务器处理后返回转换结果。 5. "proj"软件包介绍: "proj"是一个开源的地理空间数据处理库,用于处理坐标系转换(又称作投影转换)。它支持多种地理坐标系统和地图投影,并且可以通过命令行工具或编程接口(如Python中的pyproj库)方便地嵌入到其他应用程序中。"proj"广泛用于GIS、遥感、制图等领域,是转换地理坐标的一个重要工具。 6. 使用"proj"进行转换的步骤(以命令行为例): - 首先需要安装"proj"软件包。 - 找到"proj"中定义的源坐标系统和目标坐标系统的标识符。 - 使用命令行执行转换命令,例如:`proj -r -I +proj=merc +a=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs < 输入坐标 > 输出坐标`。 - 确认输入坐标和输出坐标,转换结果将会输出到指定位置。 总结而言,地图投影转换是地理信息系统中不可或缺的一个环节,它涉及到大量的技术细节和专业知识。通过投影转换,可以确保不同系统和应用间的兼容性与准确性,为地理数据分析和决策提供支持。"proj"作为一个强大的工具,其稳定性和高效性在该领域内受到广泛认可。

优化这条sql 解决bug select a.*,rownum num from ( SELECT t.PROJ_ID,t.PROJ_CODE,t.PROJ_NAME,t.CLIENT_CODE,t.CLIENT_NAME,t.SPEC_CODE,t.SPEC_NAME,t.BUS_UNIT_CODE,t.BUS_UNIT,t.PROJ_DEP_CODE,t.PROJ_DEP,t.PROJECT_MANAGER_CODE,t.PROJECT_MANAGER,t.PROJECT_DEP_MANAGER_CODE,t.PROJECT_DEP_MANAGER,t.IS_SUB_PROJ,t.SUB_PROJ_TYPE_CODE,t.SUB_PROJ_TYPE,t.PARENT_CODE,t.PROJ_GROSS,t.CLIENT_AREA_CODE,t.CLIENT_AREA,t.CLIENT_TYPE_FULL_PATH_CODE,t.CLIENT_TYPE_PULL_PATH,t.BUSINESS_TYPE_CODE,t.BUSINESS_TYPE,t.BUSINESS_LEVEL_CODE,t.BUSINESS_LEVEL,t.BUSINESS_AREA_CODE,t.BUSINESS_AREA_NAME,t.IS_CLOSE,t.IS_IN_COO,t.TAX_RATE,t.IS_AUTHORIZED,t.AUTHORIZED_AMOUNT,t.IS_VIRTUAL,t.INCOME_BUDGET,t.EXPENDITURE_BUDGET,t.P_VALUE,t.CREATE_TIME,t.P_BUD_VALUE,t.P1_BUD_VALUE,t.P2_BUD_VALUE,t.ORG_CODE,t.ORG_NAME,t.PROD_RES_TYPE,t.IS_TECH_COO,t.COO_UNIT_RATIO,t.PROJ_ACHIEVEMENTS_BUD,t.REIMBURSEMENT_COST_BUD,t.COO_COST_BUD,t.MATERIAL_COST_BUD,t.PERFORMANCE_PERCENT,t.SCHE_START_TIME,t.SCHE_END_TIME,t.PROJECT_ACCOUNT_CODE,t.CUSTOMER_TYPE_CODE,t.CUSTOMER_TYPE,t.IS_PURE_OUT_PROJ,t.PROJECT_CREATE_TIME,t.IS_RELATE,t.IS_QUOTA,t.MAIN_PROJECT_CODE,t.PROJ_STATUS,t.IS_LARGE_PROJECT,t.MARKET_DIS_COUNT_RATE,t.PROJECT_CAT,t.MGR_PER_FORMANCE_RATIO,t.P1_VALUE,t.S_VALUE,t.COOP_VALUE,t.H_VALUE,t.DEVICE_BUDGET_COST,t.SUR_FEE_DIS_COUNT_RATE,t.DES_FEE_DIS_COUNT_RATE, (select listagg(p.coo_unit_code, ',') within group(order by p.coo_unit_code) from ( select distinct coo_unit_code from t_spdi_proj where is_sub_proj = 'Y' and sub_proj_type_code = 'wbhz' and PROJ_STATUS != 'P_5' AND PROJ_STATUS != 'P_4' and parent_code = t.proj_code )p ) coo_unit_code, (select listagg(to_char(p.coo_unit), ',') within group(order by p.coo_unit) from ( select distinct coo_unit from t_spdi_proj where is_sub_proj = 'Y' and sub_proj_type_code = 'wbhz' and PROJ_STATUS != 'P_5' AND PROJ_STATUS != 'P_4' and parent_code = t.proj_code )p ) coo_unit from T_SPDI_PROJ t where t.PROJ_STATUS NOT IN ('E','H','W') order by t.proj_id )a

2023-06-01 上传