我的世界怎么看xyz?
在服务器或本地搭建一个服务来获取坐标,原理也很简单 我以地图生成为例来介绍具体的方法 首先我们要知道,我们搭建的这个服务是用来干吗的,也就是服务的用途是什么。在这个案例中,我们的服务的目的就是为了生成地图(或者收集其他有用信息),所以我们需要用户提供几个参数:x、y、z三个位置的坐标值和需要生成地图的大小。
然后我们通过这个参数去采集或者计算更多对我们有用的信息。 接下来我们就需要构建这个服务的主体框架了,其实也就需要两个主要的功能模块,一个是用于接收并处理请求的数据模块,另一个就是数据处理模块。 我们先来看一下数据的发送和接受是如何实现的,在这里为了简单直接采用Java的socket机制来实现,实际上你也可以采用其他的网络编程方式。 在服务器端: 一个用来接收并处理请求的数据模块: 当有客户端连接时,不断循环读取发送给该客户的地图数据,直到客户关闭流为止。当接收到特定的条件时(如收到指定文字),结束读操作,通知数据处理模块开始进行数据处理。
这里需要注意一点的是,由于我的数据处理的代码是放在for循环里面的,因此当某一笔交易因为某些原因没有完成时,需要重新发送,那么之前已经完成的数据处理也需要重新执行,否则会出现错误。 在客户端: 这里我直接利用了Minecraft中的命令执行功能,直接向服务器发送数据,如果读者想自己实现网络传输的话也可以直接从HTTP或UDP等协议入手,只要可以将服务器需要的数据传递过去即可。
这里我仅仅测试了一下前4个坐标点,所以只显示了4条命令执行的信息。 接着我们再来看数据的处理部分,这里我采用了MiningFortune数据集来测试,总共108725条记录。当我仅使用前四个坐标点的时候,大约每秒钟能够采集到300条新的记录;当我只使用了后四个坐标点的时候,大约每秒钟能够采 取到600条新的记录;当我使用全部八个坐标点的时候,大约每秒能够采集到900条新的记录。 从上面我也只是简单演示了如何进行坐标提取以及如何利用坐标进行数据分析,具体的分析步骤还需要结合你实际的项目需求来进行,比如有的项目可能并不需要这么详细的地点信息,你就可以对数据进行简单的过滤。