QGIS3.6在MAC中打开文件夹速度奇慢

忘记从QGIS3哪个版本开始,在MAC中打开目录对话框就速度奇慢,导致我一开始都是直接将文件的绝对路径直接键入进来,避免打开文件对话框。搜索发现,此bug已有用户汇报了,且给出了一个解决方法:

在系统偏好设置->安全性与隐私->隐私->辅助功能中,将QGIS3.6的选项给去掉即可。

参考:https://gis.stackexchange.com/questions/310280/qgis-very-slow-when-browsing-files-on-macos

删除launchpad中无法移除的图标

在Mac的launchpad中突然发现了几个没用过的图标,点开后发现是一些对应的网站地址,但在launchpad中无法删除,网上搜索后发现了一个对应的解决办法:

使用终端运行:

cd /private/var/folders/

find . | grep com.apple.dock.launchpad/db/db

根据找出的对应目录,进入到对应的目录,然后:

sqlite3 db

使用sql命令依据标题的title删除对应的图标:

delete from apps where title like ‘%标题%’;

退出后执行:

killall dock

这样图标就删除了。

mac下ppt导出为pdf后文件变大

课后将ppt导出为pdf分享到微信中后发现文件大小超出微信限制了。感到很奇怪,因为ppt本身也只有30MB左右,但pdf有400多MB,导致微信不能分享。这个大小让我很诧异。

开始以为是ppt中插入的图片太大,使用了缩减图片大小功能,并删除了已切除部分图片的内容,重新导出后发现pdf依然很大。

搜索后发现这是mac版powerpoint的一个问题,详见:知乎

简而言之,在mac下的解决方案是:

偏好->常规->打印质量:低。(知乎上选择的是中选项,我发现用低选项,导出的pdf质量仍然可接受。)

evernote无法准确搜索笔记的问题

近期在使用evernote过程中,突然发现其搜索出现问题,导致搜索结果不完整,有时甚至完全搜索不到结果。

在搜索过程中发现其他人也遇到了这个问题,参考其方案进行了处理:解决印象笔记无法搜索到对应标题或内容笔记的问题

记录如下:

1、打开印象笔记客户端,按住键盘上的option键,点击菜单栏「帮助」>「解决疑难」>「重建全文搜索索引」
2、按住键盘上的option键,点击菜单栏「帮助」>「解决疑难」>「重建spotlight搜索索引」
3、重启电脑,重试搜索

不按option键是不显示“重建全文搜索索引”选项的。。。希望能帮助其他遇到此问题的人。

safari遭遇ssp.fwrd.com弹窗病毒

最近,突然发现safari会随机遭遇弹窗病毒,即会自动跳转几个网站,包括ssp.fwrd.com、ab4hr.com等网站,搜索发现有建议安装malwarebytes软件,尝试了之后,并不能解决问题。还有说reset safari可以解决问题的,也不能解决问题。
最终参考这个网站解决了问题:https://medium.com/@preitsma/how-to-remove-vsearch-adware-and-trovi-search-from-your-mac-osx-4b96555e68ff

具体步骤:
1. 进入~/Library/LaunchDaemons目录,发现是否有异常文件。在我的机器上发现了一个奇怪的文件:

com.apple.nalen.plist

cat这个文件,发现其中指向/Library/nalen文件。
于是将这两个文件都删除:
rm com.apple.nalen.plist
rm /Library/nalen

2. 删除已经运行的nalen文件:

ps aux | grep nalen

找到具体的pid,然后kill掉即可。

使用exiftool提取照片中的经纬度

exiftool工具可以对exif信息进行很多的操作。默认情况下:

exiftool a_geo.jpg

会显示各种默认的exif信息,包括经纬度。但默认显示的经纬度是度分秒格式,而我现在需要dd格式的经纬度,则可以这样提取:

exiftool -n -gpslatitude -gpslongitude IMG_3545.JPG

显示的结果为:

GPS Latitude : 42.3176472222222
GPS Longitude : -83.7321083333333

遭遇QGIS的一个crash bug:control feature rendering order

“Control feature rendering order”是QGIS一个很好的特性,特别是在点位密集的时候,若要根据不同属性展示重要性程度的时候。
但在点位数据量较大的时候,会引起QGIS崩溃。之前也遇到了一次,但当时是想办法绕过了(让点位按照真实世界的尺寸进行绘制,从而避免重叠问题)。这次遇到同样的问题,就仔细测试了一下,看看到底是什么问题。
1. 是否是数据格式的问题
原始数据是csv格式,尝试将其转换为shape file以及导入到postgis数据库。发现依旧是崩溃。

2. 是否是数据排序的问题
将原始数据按照期望的顺序进行事先排序,在不选择control feature rendering order时,绘图结果是满足需求了。但选择此绘图特性后,结果依旧。

3. 是否是数据大小的问题
将原始数据逐步缩小数据量,发现在3.05万行-3.1万行之间是个分水岭(大约1M数据量)。3.05万行不崩溃,3.1万行崩溃。说明此问题和内存相关?

4. 是否版本的影响?
尝试了2.18-0,2.18-2两个版本,以及mac sierra 10.12.2, 10.12.3两个版本,不影响测试结果。

5. 是否受操作系统的影响?
在virtualbox虚拟机里的ubuntu 16.04,QGIS 2.14版本,虽然很慢,但不崩溃。

尝试将此bug汇报给qgis开发组,但找了很久file bug的地方,最终发现还需要osgeo的账号,幸亏很久之前注册过账号,找回密码后提交了:

http://hub.qgis.org/issues/16025

BTW:祝新年快乐!

QGIS中TimeManager的一个问题修复

在QGIS中使用TimeManager时遇到一个问题,即满足时空要素要求后,时空数据展示不出来。点击数据的layer查看发现其对应的sql语句大概是:
dbname='citybigdata' host=localhost port=5432 sslmode=disable key='id' srid=4326 type=Point table="qqheat"."milocal" (geom) sql=cast("ts" as character) < '2016-11-09 21:05:00' AND cast("ts" as character) >= '2016-11-09 21:00:00'
将类似的语句直接在psql中发现执行的时候有问题,无法返回结果。但将语句修改一下即可解决:
dbname='citybigdata' host=localhost port=5432 sslmode=disable key='id' srid=4326 type=Point table="qqheat"."milocal" (geom) sql=cast("ts" as text) < '2016-11-09 21:05:00' AND cast("ts" as text) >= '2016-11-09 21:00:00'
即将其中的character改成text即可。
为了使插件工作正常,就需要修改timemanager的代码,使用grep工具找到该代码的位置:

cd .qgis2/python/plugins/timemanger
grep -rnw ‘.’ -e ‘character’

发现是如下代码的问题:

./.git/hooks/pre-commit.sample:26:# printable range starts at the space character and ends with tilde.
./CONTRIBUTING.md:13:* Go to http://www.loc.gov/standards/iso639-2/php/code_list.php and find the 2-character ISO 639-1
./docs/Doxyfile:586:# This tag can be used to specify the character encoding of the source files
./query_builder.py:9:STRINGCAST_FORMAT = ‘cast(“{}” as character) {} \'{}\’ AND cast(“{}” as character) >= \'{}\’ ‘
./query_builder.py:56: return ‘ cast(“{}” as character) LIKE \’%BC\”.format(attr)
./query_builder.py:63: return ‘ cast(“{}” as character) LIKE \’%AD\”.format(attr)
./query_builder.py:79: return ” ‘{}’ {} cast(\”{}\” as character) “.format(val, comparison, col)
./query_builder.py:87: return ” ‘{}’ {} cast(\”{}\” as character) “.format(val, comparison, col)

将具体的代码修改,然后重启qgis,即可工作正常。

Install psycopg2 on mac sierra

需要在我的mbp上进行数据入库测试,因此就需要安装psycopg2,但安装的时候一直有提示:

ld: library not found for -lssl

clang: error: linker command failed with exit code 1 (use -v to see invocation)

开始搜索以为库的位置不对,比如之前类似的问题:http://stackoverflow.com/questions/27264574/import-psycopg2-library-not-loaded-libssl-1-0-0-dylib

后来感觉不太对,又加上sierra关键词找,果然找到一个类似问题:
http://stackoverflow.com/questions/39767810/cant-install-psycopg2-package-through-pip-install-is-this-because-of-sierra
发现解决方法非常简单,就是安装xcode-select工具。

xcode-select –install

然后再安装psycopg2就没有任何问题了:

sudo pip install psycopg2