V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
rimworld
V2EX  ›  求职

[想求职][webgis]自学的 webgis,想请各位前辈给点建议

  •  
  •   rimworld · 2021-12-30 11:08:08 +08:00 · 2690 次点击
    这是一个创建于 1070 天前的主题,其中的信息可能已经有所发展或是发生改变。

    自学的 webgis[学习时间为 2019.06 毕业后至今(跨度),(纯有效学习时间可能都不够 1 个月)],想请各位前辈给点建议.( webgis 主要就是前端+GIS )

    学历:普通一本本科 GIS 专业

    作品:catgis.cn/atlas (写的很烂)

    项目文档:https://github.com/mutuyi/catgis

    求职目标:想在北京找份 10k 左右(尽量偏右)的 webgis(gis)工作,最近投了 2 份简历都石沉大海。

    疑惑:

    1.感觉自己越学越菜。HTML+CSS ,看的 head first 入门。JS 看的 DOM 编程艺术、高程 4 (高 4 只看了一半)。Python ,只会安装使用简单库、看看文档调调参数,不太会用、了解特性语法(装饰器和__init__,可能能仿着写写)。但是昨天看了下 github 上的前端面试题,感觉都答不出来。越学,前边学的反倒忘记了。现在不查文档,只能写几行比较熟悉的代码。
    
    2.我这么菜能找到工作吗? 感觉只能说是基本了解 HTML+CSS+JS 。作品用到了 Vue(2.x)全家桶+ElementUI+mapboxGLJS+Echarts+Axios 。开启了 Gzip ,cache ,ssl 。作品发布到了 xx 云 vps 上,也是第一次接触 Linux 环境,然后尝试搭了几个服务( v2,nginx,探针),还算是熟悉几个常用命令吧。
    
    3.我自己本身专业 GIS ,我觉得自己学的还可以。专业软件 ArcMap ,QGIS,ENVI 用的都算熟练,知识点因为 2 年都没怎么用,现在有点遗忘,但是捡起来应该很快。
    
    4.毕业前短暂在一个小厂实习过几个月主要是处理、简单分析地理数据,后来选择回家帮忙,所有没有什么值得讲的工作经历。
    
    5.是不是作品太水了?我现在也越看越不顺眼,但是一时间也不知道怎么优化了。
    
    6.本来是用 FastAPI 写了地图数据接口,但是发现把数据直接部署在前端,开启 Gzip 后,加载速度还可以接受。就没有用了。
    

    我自己打算是趁着这几天+元旦假期,多投简历,死命背前端+GIS 面试知识点,但是还是很怀疑能不能找到工作?现在应该是停止找工作再去学学技术还是可以背知识点找工作?还希望各位前辈给点建议。

    sozengtao
        1
    sozengtao  
       2021-12-30 11:13:16 +08:00
    你的前端是基于 Mapbox 来做的么 ?
    sozengtao
        2
    sozengtao  
       2021-12-30 11:16:01 +08:00
    嗯, 看到了是 Mapbox ,后端的数据格式是什么呢 ,用的 Mapbox 什么 Layer 来渲染数据呢 。Deckgl 有接触么
    rimworld
        3
    rimworld  
    OP
       2021-12-30 11:16:57 +08:00
    @sozengtao 那两个在线地图确实是基于 MapboxGL JS 开发的。不过只用到了一个地图容器,地图样式,地图跳转,其它 API 很少用到。还用了一个高德 API 的地理编码功能。
    rimworld
        4
    rimworld  
    OP
       2021-12-30 11:19:47 +08:00
    @sozengtao 现在部署的这个没有用到后端,我是前端 import json ,写死在前端了。目前数据就是 Geojson 的格式。Layer ? 一张是热力图+聚类,一张是填色图。Deckgl 没有了解过。
    g0thic
        5
    g0thic  
       2021-12-30 11:20:39 +08:00
    为什么一定要 gis 的职位呢?前端可视化也比这个好找一点吧 再学一点前端可视化相关的东西?
    rimworld
        6
    rimworld  
    OP
       2021-12-30 11:22:54 +08:00
    @g0thic 看 BOSS 招聘,纯前端的要求感觉都很高,跨 gis 的稍微要求低点,然而也是石沉大海。
    sozengtao
        7
    sozengtao  
       2021-12-30 11:29:10 +08:00
    前端进阶在状态管理 也就是 UI 和 数据分离 。以及注意处理 「重渲染」,一些对象的销毁。

    具体在 GIS 上就可以说:一些 「 webgl 」实例管理不得当,重渲染或者重新反复生成对象,就会很卡
    rimworld
        8
    rimworld  
    OP
       2021-12-30 11:41:27 +08:00 via iPhone
    @sozengtao 好的前辈,谢谢你的建议。我有用到 vuex 对组件需要的一些数据进行管理(不清楚是不是这个方向,还是说 vuex 需要进一步配置?)。可能总的 json 文件有点大,几 mb ,在地图上选择日期后才去循环(可能循环函数写的不好)找出当日数据。这样可能搞得加载有点慢。我也有用 mysql 存储(加了日期索引)+fastapi 的方式返回 json 数据,感觉速度上差不多。(然后就选择,全部在前端加载了)
    phobal
        9
    phobal  
       2021-12-30 13:01:31 +08:00 via iPhone
    你作品用的 GIS 工具其实没啥技术含量,找个非 GIS 专业的看下文档也能很快上手,你要走 GIS 这条路的话最好发挥出 GIS 专业一点儿的技能,比如:墨卡托投影算法、最短路径算法、不规则多边形面积计算等等。地图底图最好用自己发布的,功能至少得包含描点、画线、路径规划啥的吧,再来个酷炫点的地图可视化吧,有能力再来个 3D 地图啥的,妥妥的加分项
    rimworld
        10
    rimworld  
    OP
       2021-12-30 13:19:12 +08:00 via iPhone
    @phobal 好的前辈。我专业课有学过墨卡托投影,狄杰斯特拉算法。不过感觉实际在公司的工作中这些很基础的都有很成熟的 api 可以调用的吧。因为做的地图是疫情展示,没考虑路径规划那些。底图发布我了解过是用 geoserver 吧?感觉也是看看文档配置一下,和用 mapbox 似乎没啥区别啊(可能定制自由度更高一些?)再次感谢前辈,我面相搜索引擎在学学。再找找数据,再写个能表现一些 GIS 专业知识的地图。
    daliusu
        11
    daliusu  
       2021-12-30 16:07:37 +08:00
    你做的这些根本展现不出来什么你的 gis 优势,因为招个前端就能做了
    https://s2.loli.net/2021/12/30/V85jla2uBPh6AcO.gif
    给你发个图你看看吧,我们正在做的,都是纯前端
    你真不如直接找个前端做可视化的工作得了
    haorrs
        12
    haorrs  
       2021-12-30 16:16:07 +08:00
    固定在北京吗,杭州有兴趣没有
    alvins
        13
    alvins  
       2021-12-30 16:20:41 +08:00
    webgis 对前端要求不低,只是重点在 gis ,gis 是一门很大的学科,所以一般是 gis 专业学编码,如果不是 gis 专业建议好好学前端吧。
    rimworld
        14
    rimworld  
    OP
       2021-12-30 16:34:47 +08:00
    @daliusu 好的,谢谢前辈的建议。图片有点糊,看着像在配置大屏。我 19 年实习的单位就是搞大屏、智慧大脑的。我做的地图布局是有点受到这个影响。
    rimworld
        15
    rimworld  
    OP
       2021-12-30 16:36:27 +08:00
    @haorrs 是的前辈,我目前仅考虑北京的工作机会。
    rimworld
        16
    rimworld  
    OP
       2021-12-30 16:38:42 +08:00
    @alvins 前辈,我确实是 GIS 专业毕业的。好的,我多提高提高前端和 gis 的知识。
    maxthon
        17
    maxthon  
       2021-12-30 16:42:15 +08:00
    不用自我限制太多,感觉前端都可以投一下
    3dwelcome
        18
    3dwelcome  
       2021-12-30 16:57:50 +08:00
    我是觉得楼主做的挺好,VUE 源代码清晰,热力图也好看。楼上那些高要求,只要工作年限上去,水平自然就上去了。

    我最近也对 webgis 有点兴趣,以前有两个痛点,一是用 js 处理二进制的大数据不太给力,二是 webgis 开发思,维始终停留在服务器提供数据,客户端拉取数据上。网络请求次数太多,用户体验就会下降。

    现在用了 webasm 技术后,这两个问题都解决了。

    测试过普通 PC 浏览器,客户端纯内存加载可以到很高的上限,而普通地图数据,也就一两百兆左右。以前需要服务器协助的事情,现在客户端都能本地处理。
    alvins
        19
    alvins  
       2021-12-30 17:17:06 +08:00
    @rimworld 那建议搞一次全流程,将拿到的数据( shape 、gdb 、geojson ,arcmap 都能操作)入空间数据库,再通过 geoserver 连接空间数据库发布 wfs 服务,然后在 wfs 服务上实现要素的增删改查,再把常用的操作、鹰眼、地图切换等功能加上,重点放在地图的交互上。
    rimworld
        20
    rimworld  
    OP
       2021-12-30 17:36:21 +08:00
    @maxthon 好的前辈,哭了,找工作真不容易啊,BOSS 上终于有一家公司愿意给我一个面试机会。
    rimworld
        21
    rimworld  
    OP
       2021-12-30 17:43:38 +08:00
    @3dwelcome 谢谢前辈的鼓励。我是感觉自己有点闭门造车了,还是要多听听各位前辈的意见,这样提升的比较快。后边前辈说的什么 wasm 技术就有点不太了解了。我记下了关键词,我去好好了解一下。是的,我的 VPS 在 HK ,很担心多次请求,会有延迟。目前数据都放在前端的感觉还可以。
    rimworld
        22
    rimworld  
    OP
       2021-12-30 17:44:32 +08:00
    @alvins 好的,感谢前辈的建议,我一点点来!
    3dwelcome
        23
    3dwelcome  
       2021-12-30 18:12:51 +08:00
    wasm 就是用另外一种语言,来代替 JS 处理图形中各种坐标数据。

    js 里想要精确处理二进制的 int/float/double ,写各种图形相交查询等算法,不是不能实现,而是一件吃力不讨好的事情。

    浏览器语言融合技术,应该就是以后 WebGIS 开发里,偏重客户端的核心技术了。
    alvins
        24
    alvins  
       2021-12-30 21:54:41 +08:00
    @rimworld 加油,希望工作能迈出第一步,未来可期
    min
        25
    min  
       2021-12-30 22:15:27 +08:00
    gis 市场比较狭窄,专业做 gis 的厂商也不多。
    建议做个懂 gis 的前端,相对与其他纯前端来说就是很大的优势了。
    cocolate
        26
    cocolate  
       2021-12-30 23:27:05 +08:00
    webgl canvas svg 至少得熟悉一个 做 gis 离不开图形渲染的
    大型的 gis 项目对性能要求不低,不熟悉底层容易抓瞎

    gis 常用的算法建议要熟悉,工作中也不是时刻有包调的
    我以前碰到一些需求视觉效果要求很高,用 threejs 做
    然后只能撸投影算法,把 recast 寻路编译成 wasm 加到项目里
    liyang5945
        27
    liyang5945  
       2021-12-31 09:26:03 +08:00
    问下大家 GIS 到底怎么发音的? 分开读还是[ɡis],还是[dʒis]
    haorrs
        28
    haorrs  
       2022-01-03 14:17:50 +08:00
    @liyang5945 分开读
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3386 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 11:33 · PVG 19:33 · LAX 03:33 · JFK 06:33
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.