关于小班从上到下,从左到右自动编号问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于小班从上到下,从左到右自动编号问题相关的知识,希望对你有一定的参考价值。
参考技术A 关于这个问题,本人看了不少帖子都是先求算小班中心点(或左上角)X和Y坐标,以Y坐标降序,X坐标升序组合排序后,然后从第一行连续编号。貌似解决了问题,还赢得了不少喝彩,就是不知实践过没有,真的解决了问题吗?
以Y、X坐标组合排序的原理是,先以Y值排序,如果Y值相同,以X值排序。实际上,小班Y值相等的情况极少,那么这种排序方法实际上就是以Y值排序,X值在其中几乎不起作用。这样的结果在编号工作中没有实际意义。
那么如何解决这个问题呢?首先我们回想一下手工是如何编号的?如何将手工编号原理在数据操作上体现出来?
面对一张小班图,我们手工编号时,心中实际上默认了一行的高度,从1号开始横向编号,到图的右边结束,又从上一行的下边开始从左向右编号(相当于电脑中的换行)。这种编号的原理就是将所有小班按照一定距离分割成多个横带,在横带中从左到右编号,下一横带依此连续编号。
如何将手工编号原理在数据操作上体现出来呢?关键是要首先确定横带的高度,手工编号时这个高度是根据小班分布情况可调的,在ARCGIS中自动编号需要一个固定的高度,这个高度根据小班情况确定,一般取所有小班的平均高度。本人所在工作部门制图时取100米比较合适。
下面进入正题:
1、在ARCMAP中,右键点击小班图层,打开属性表(已有X和Y字段、小班号字段),新建一个字段:带号,数据类型为短整形。右建点击属性表的“带号”字段,点击字段计算器,输入:“int(‘Y’/100)”。即以100米距离将小班分带。
2、将属性表导出(DBF格式),若是EXCEL2003可直接打开编辑,另存为EXCEL文件。或者使用VFP另存为EXCEL文件。
3、在EXCEL中,以带号(降序)、X(升序)排序。然后在第一个小班填上起始小班号,向下连续填充。保存退出。
4、在ARCMAP中,打开属性表,连接刚才这个EXCEL表,右键点击小班号,在下接菜单中点击字段计算器,用EXCEL表的小班号替换属性表的小班号,选择EXCEL表中的“小班号”双击,点击确定即可。
搞定!
最后说明:实践出真知,本方法本人在实际工作中采用,完全可媲美手工编号。关键之处在于确定分带的高度,可多试几次找出最合适的数值。
CSS 列,从上到下然后从左到右
【中文标题】CSS 列,从上到下然后从左到右【英文标题】:CSS Columns, Top to Bottom then Left to Right 【发布时间】:2018-06-15 12:59:24 【问题描述】:我正在为应用构建报纸风格的布局。我的页面分为 8 列,列应先垂直再水平。
如果没有足够的内容来填充页面,列仍应首先垂直填充,在页面右侧留下空白。目前,它们先水平填充,然后在内容下方留下空白。
我已经尝试过使用 CSS 列,但它似乎总是填满页面的宽度,我看不出有什么方法可以改变它。
我也尝试过使用 flex box,但 flex wrap 不会像 CSS 列那样破坏/包裹在 div 内。
.flex-col
display: flex;
flex-direction: column;
flex-wrap: wrap;
max-height: 300px;
p
width: 250px;
.css-col
columns: 3;
See here for an example of what I have tried.
【问题讨论】:
【参考方案1】:将column-fill: auto;
添加到.css-col
应该可以满足您的需求,但您需要将height
添加到.css-col
【讨论】:
【参考方案2】:您似乎过早地关闭了 div。也许inline-flex
更接近。我不清楚这应该是什么样子
.flex-col
display: inline-flex;
flex-direction: column;
flex-wrap: wrap;
max-height: 300px;
p
width: 250px;
<div class="flex-col">
<p>The quick brown fox jumped over the small lazy dog. The quick brown fox jumped over the small lazy dog.</p>
<p>The quick brown fox jumped over the small lazy dog. The quick brown fox jumped over the small lazy dog.</p>
<p>The quick brown fox jumped over the small lazy dog. The quick brown fox jumped over the small lazy dog.</p>
<p>The quick brown fox jumped over the small lazy dog. The quick brown fox jumped over the small lazy dog.</p>
<p>The quick brown fox jumped over the small lazy dog. The quick brown fox jumped over the small lazy dog.</p>
<p>The quick brown fox jumped over the small lazy dog. The quick brown fox jumped over the small lazy dog.</p>
<p>The quick brown fox jumped over the small lazy dog. The quick brown fox jumped over the small lazy dog.</p>
</div>
https://codepen.io/Paulie-D/pen/mpBNBg
【讨论】:
以上是关于关于小班从上到下,从左到右自动编号问题的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Flutter 中创建从左到右或从上到下的叠加飞溅动画