使用地图转换器

地图转换器将 ESRI shapefile 转换为适合于显示在 Dojo 地图组件(dojox.geo.charting 软件包)中的 JSON 格式。地图转换器是连接至服务器上所运行 REST 服务的 Dojo 应用程序。计算在服务器上执行。客户机可以查询转换后的文件。
服务器将实现某些服务,如将文件上载至服务器、对地图文件进行重新投影、简化地图文件以及将地图文件转换为 JSON 格式。

提供输入参数

必须为转换提供一组输入参数。
  1. 将 shapefile 上载至服务器
    必须先执行此操作,然后才能使用地图转换器。
    1. 转换设置面板中,单击上载按钮。
      已上载文件面板中,单击上载按钮。
    2. 选择要上载的文件。
      对于每个地图,地图转换器至少需要两个文件,即 .shp 文件和 .dbf 文件。.shp 文件包含地图功能部件的形状。.dbf 文件包含与每个地图功能部件关联的元数据。要选择多个文件,请在选择文件时按住 Ctrl 键。对于 Internet Explorer 浏览器,无法使用多重选择。如果您使用 Internet Explorer 浏览器,那么必须逐个上载每个文件。
    3. 上载文件。
      单击打开以上载选定文件。
      可以在已上载文件面板中查看服务器上已上载文件的列表。此列表不是根据会话的列表,也不是已认证的文件列表。它显示服务器上已上载的所有文件,包括由其他客户机上载的文件。
      此面板提供从服务器删除文件的选项。如果要删除服务器上的文件,请仅删除您上载的文件。要删除文件,请将其选定并单击“删除”按钮。
  2. 选择要转换的文件
    转换设置面板中,从 shapefile 中选择要转换的文件。
  3. 将元数据与地图功能部件关联
    功能部件名称中,选择与您的应用程序相应的元数据。
    您选择要与每个地图功能部件关联的元数据,以识别该功能部件以及将其与 dojox.geo.charting 窗口小部件中的数据存储绑定。与元数据对应的值将在“地图预览”窗格中作为工具提示显示。例如,选择 NAME 将导致 ISO 国家或地区标识作为工具提示显示。
  4. 选择输入投影
    选择相应的输入投影。
    通常输入投影是标注为经度/纬度的投影,该投影是地理位置。如果已使用其他投影对 shapefile 进行了编码,请从列表中选择该投影。

提供输出参数

必须为转换提供一组输出参数。
  1. 选择并测试输出投影
    1. 选择输出投影
      选择与地图相应的输出投影。
      此参数指定在其中对转换后的地图进行投射的投影。如果选择与输入投影相同的投影,那么将不会对地图进行投影。对每个地图,并非所有列出的投影都有效。选择了不合适的投影时,可能会发生意外结果。
    2. 对结果进行可视化
      单击转换
      转换后的地图显示在右侧的窗格中。
  2. 选择坐标的类型
    为转换后的 JSON 地图选择整数或浮点坐标。
    缺省情况下,将选择浮点坐标。必须显式选择整数坐标。选择整数坐标通常会导致生成较小的 JSON 文件。在这种情况下,可能需要为地图选择将地图缩放至值,以增大精度。缺省值通常可产生不错的结果。
  3. 选择最小细节大小
    输入最小细节大小以获取更小型但细节更少的地图。
    最小细节大小以米为单位。它指示转换后的地图中没有大于此距离的细节。此参数用于获取较小的 JSON 文件。
  4. 除去不需要的工件
    选择回绕国际日期变更线
    在某些情况下,对地图进行投影可能会生成某些不需要的工件,尤其是在对世界地图进行投影时。此选项可以除去此类小问题,但需要更多的时间来对地图进行投影。

下载转换后的文件以供在应用程序中使用

当您对转换结果感到满意后:
  1. 下载文件
    单击下载以下载转换后的 JSON 数据。
  2. 将数据集成到应用程序中
    将地图转换器生成的数据作为地图描述数据集成到 dojox.geo.charting 窗口小部件中。
    以下示例假定您已将 JSON 数据下载为名为 map.json 的文件,并显示如何使用该文件。
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" 
    	"http://www.w3.org/TR/html4/strict.dtd">
    <html lang="en">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>Use Map Converter Data</title>esources/UploaderFileList.css">
    <script type="text/javascript">
    	var djConfig = {
    		parseOnLoad : true
    	}
    </script>
    <script type="text/javascript" src="../../../dojo_current/dojo/dojo.js"></script>
    <script type="text/javascript">
    	require([ "dojox/geo/charting/widget/Map" ]);
    </script>
    
    </head>
    <body class="claro">
    	<div data-dojo-type="dojox.geo.charting.widget.Map"
    		shapeData="map.json" />
    </body>
    </html>
    

使用条款 | 反馈