在Laravel中使用laravel-mysql-spatial处理geometry空间类型数据

Publish: July 13, 2020 Category: 编程 No Comments

接之前一篇文章,我们使用mysql来处理geometry相关数据。用到了laravel-mysql-spatial来处理geometry数据。今天正好有时间整理了laravel-mysql-spatial完整的使用方法。机器翻译为主哈,使用通俗易懂的文字加以描述。原文在这里 https://github.com/grimzy/laravel-mysql-spatial

开始之前必须要了解的概念: SRID (空间引用识别号, 坐标系)
地球并不是平的,也不是正圆形,而是一个非标准的椭圆,在不同的经纬度位置,计算两点的距离没有一个完美的公式(即快速、有准确)。
所以坐标系应运而生,SRID是指数据的坐标系,例如: 在PostGIS中可以查到支持的SRID。查询与北京、中国有关的坐标系。
postgres=# select from spatial_ref_sys where srtext ~ 'beijing';
postgres=# select from spatial_ref_sys where srtext ~ 'china';

数据可以在不同的坐标系之间转换,在进行GIS计算时,一定要在同一个坐标系中进行。

Laravel 包可轻松使用MySQL 空间数据类型和 MySQL 空间函数。
请检查 MySQL 版本的文档。MySQL 的空间数据扩展在 MySQL 5.5 中添加,但许多空间函数在 5.6 和 5.7 中已更改。
版本

  • 1.x.x: MySQL 5.6 (也支持 MySQL 5.5, 但不是所有空间分析函数)
  • 2.x.x: MySQL 5.7
  • 3.x.x: MySQL 8.0,支持 SRID(当前分支)
    此包还适用于 MariaDB。有关兼容性,请参阅 MySQL/MariaDB空间支持矩阵。







阅读剩余部分...

WEB页面JSON格式化显示和应用小技巧

Publish: July 4, 2020 Category: 小技巧 No Comments

如果使用JSON作为参数,JSON格式化显示在调试和简单配置系统中会经常用到。这里以PHP和JS为例子讲解如何更友好的显示JSON数据。

一 使用PHP来处理格式化显示JSON和使用JS来处理格式化显示JSON
先看下效果图:

上面这种效果是在html元素<pre>标签中显示的效果。通常我们拿到的数据是这种格式

{"username":"myname","password":"xsdasi349r034rdfasdfsaasdfasdfa","gender":"male","age":"12"}

如果有经过转义会是下面这种方式

{"username":"myname","password":"xsdasi349r034rdfasdfsaasdfasdfa","gender":"male","age":"12"}








阅读剩余部分...

Redis状态查看性能分析总结

Publish: July 4, 2020 Category: 运维 No Comments

作为一个广泛使用的缓存、消息队列、简单算法支撑基础组件,redis每一次大版本更新都会给我们带来惊喜。在写本文章的时候redis已经发布了6.0.5稳定版。后续会陆续分享一些使用redis实现各种算法的场景,本文主要讲述redis运维性能分析方面的实战总结。

一 查看redis运行状态

从如下几个方面来查看,info 命令有三种使用方式分别如下:

info 部分redis统计信息


info all 全部redis统计信息


info section 某一块的统计信息,其中section可以忽略大小写,例如: redis-cli info memory

通常情况下都是对某个块感兴趣,然后会对该块执行info 操作。










阅读剩余部分...