⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 处理说明.txt

📁 兴趣点POI(Point of Interests)的查询程序。可以根据条件按照最近方式搜索到POI点
💻 TXT
字号:
一、运行环境:
1、实现的代码是MFC对话框程序。
2、在程序中使用了若干MFC类。如CString等。但大部分用stl实现。
3、程序使用了AO作为开发底层,代码量显著减少。必须在ArcGIS8.3以上环境下运行。
即必须安装有ArcGIS8.3或9.0等Destop环境。底层支持库esriCore.olb是ArcGIS8.3的运行库.

二、数据处理:
1、先将数据转出
   将TAB数据输出为Shape数据,POI点的数据需要经过TAB-E00-Shape的过程。如果直接TAB-Shape要素的几何类型会由Point-MultiPoint。是不合适的
2、数据进行投影
坐标系统选择与处理:
由于北京54、西安80相对WGS84的转换参数没有公开,实际工作中可利用工作区内已知的
北京54或西安80坐标控制点进行与WGS84坐标值的转换,在只有一个已知控制点的情况下(往往如此),可以采取简易变换。
没有控制点的任何资料时,只能采取变通办法.
采取的办法:
假设需要查询的数据为GPS采集的经纬度,大地基准为WGS84(这个假设基本成立),
同时假设已有的地形图数据经纬度的打的基准亦为WGS84,进行UTM投影。在高斯投影面上进行距离计算。
但这个假设不太可能成立,如果地形图数据的打的基准是北京54坐标系、西安80坐标系。这样计算的坐标会有几十米到100米的偏差。
但是距离偏差不会很大。所以不影响应用效果。

下面是参数设置,可以以我已经处理完了的数据作为模板,设定投影,再进行数据投影。

椭球体 	    长半轴  短半轴 
WGS 84      6378137 6356752.3142 

采用的坐标系统为:
WGS_1984_UTM_Zone_50N
Projection: Transverse_Mercator
Parameters:
  False_Easting: 500000.000000
  False_Northing: 0.000000
  Central_Meridian: 117.000000
  Scale_Factor: 0.999600
  Latitude_Of_Origin: 0.000000
Linear Unit: Meter (1.000000)
Geographic Coordinate System: 
Name: GCS_WGS_1984
Alias: 
Abbreviation: 
Remarks: 
Angular Unit: Degree (0.017453292519943299)
Prime Meridian: Greenwich (0.000000000000000000)
Datum: D_WGS_1984
  Spheroid: WGS_1984
    Semimajor Axis: 6378137.000000000000000000
    Semiminor Axis: 6356752.314245179300000000
    Inverse Flattening: 298.257223563000030000

坐标的对应关系大致为:
北京房山区加油站“长阳”
(116.213,39.8026)---(432648.8463,4406151.439)

三、实现的需求及问题:
给定十进制的经纬度(来自GPS,为WGS84坐标系统经纬度),
1)可以查询距离该点最近的POI点(可以附带SQL查询条件)
2)可以查询距离该点最近的街道(可以附带SQL查询条件)
返回值可以有多条,参照代码

问题1:由于街道道路的几何图形有可能有多条平行线,如二环路表现为双线路,查询的结果有两条或更多条二环路,且距离查询点有不同的距离。
处理方法,要么编辑数据,使得道路等成单线,要么修改代码,使得同名的道路只返回一条。
问题2:不管查询POI或道路的名称是否为空,均被查询到并返回。是不符合使用逻辑的。
处理方法,要么处理数据,添加名称。要么处理代码,过滤掉空名称要素。

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -