建设网站时,选择哪家装修公司最值得信赖?

摘要:公司做网站需要什么条件,装修公司哪家口碑最好,Wordpress 分表分库,启信聚客通网络营销策划前言创建地图布局是 GIS 作业结束时的一项常见任务。 它用于呈现最终结果的输出,作为与用户交流的一种方式&am
公司做网站需要什么条件,装修公司哪家口碑最好,Wordpress 分表分库,启信聚客通网络营销策划前言创建地图布局是 GIS 作业结束时的一项常见任务。 它用于呈现最终结果的输出#xff0c;作为与用户交流的一种方式#xff0c;以便从地图中获取信息、知识或见解。 在包括 QGIS 在内的任何 GIS 软件中制作地图布局都非常容易。 但另一方面#xff0c;当我们必须生成如此大…前言创建地图布局是 GIS 作业结束时的一项常见任务。 它用于呈现最终结果的输出作为与用户交流的一种方式以便从地图中获取信息、知识或见解。 在包括 QGIS 在内的任何 GIS 软件中制作地图布局都非常容易。 但另一方面当我们必须生成如此大量的地图时这可能是一项乏味的工作。 此外在制作布局图时我们经常会重复添加一些常见的制图项目例如比例尺、图例、地图标题等。 那么如果我们可以自动生成呢 当然加快地图布局速度会带来很多好处。在本 PyQGIS 教程中我将讨论如何在 QGIS 中使用 Python 脚本自动制作地图布局。 在本教程中您将学习如何将地图添加到布局中然后添加一些项目如地图标题、图例、指北针、比例尺和图片。1、数据准备进行布局之前的第一步是在 QGIS 地图画布中准备地图。 对于本教程我准备了一张温哥华市的街道地图如图 1 所示。您可以准备自己的地图但如果您想像我的一样可以从 Vancouver Open Data 和 Cartodb Dark basemap 下载街道数据 使用 Tile 插件将其添加到地图画布中。图 1. 在 QGIS 中准备地图2、自动化地图布局组合现在让我们使用 Python 自动构建地图布局。 首先定义一个当前项目实例并使用以下代码启动一个默认设置为 A4 纸张大小的打印布局。projectQgsProject.instance() layoutQgsPrintLayout(project) layout.initializeDefaults()上面的代码将动态创建一个布局页面。 如果要将其添加到项目中请使用此代码。layout.setName(Street Map Layout) project.layoutManager().addLayout(layout)该布局将添加到项目的布局中如图 2 所示。图 2. 项目布局1将地图框添加到布局我们创建了一个空布局。 现在让我们添加地图项。 首先我们将使用此代码将地图框添加到布局中。mapQgsLayoutItemMap(layout) map.setRect(10,10,10,10) map.zoomToExtent(iface.mapCanvas().extent()) map.attemptMove(QgsLayoutPoint(5,20,QgsUnitTypes.LayoutMillimeters)) map.attemptResize(QgsLayoutSize(285,180, QgsUnitTypes.LayoutMillimeters))在第一行中我们使用 QgsLayoutItemMap 类定义了一个地图布局项。 然后在第二行中设置了一个矩形框架它有四个整数参数。 它是什么数字并不重要它只是用来确定形状的。 接下来是使用 zoomToExtent 方法将地图画布缩放到一定程度的方法。 在第四行中我们使用 attemptMove 方法将地图移动到位置 (x,y)。 地图布局坐标使用屏幕坐标原点在页面左上角最大坐标在页面右下角。 最后我们使用 attemptResize 调整地图框的大小其大小以 QgsUnitTypes 中定义的毫米为单位。执行代码我们将得到如图 3 所示的地图布局。图 3. 带有地图框的布局2添加地图标题现在让我们为地图添加一个标题让人们知道它是关于什么的。 要添加标题我们使用 QgsLayoutItemLabel 类。 接下来我们使用 setText 方法设置文本在第三行中我们使用 setFont 确定字体类型、大小和粗细。 在图 4 中可以看到标题已添加到地图布局中。titleQgsLayoutItemLabel(layout) title.setText(Vancouver City Street Map) title.setFont(QFont(Arial,28,QFont.Bold)) title.adjustSizeToText() layout.addLayoutItem(title) title.attemptMove(QgsLayoutPoint(80,5,QgsUnitTypes.LayoutMillimeters))3添加图例正如您在地图中看到的街道网络使用不同的颜色来区分每条街道的用途。
阅读全文