【小沐学GIS】基于ubuntu+three.js的OSM建筑模型显示(node.js、Python)

news2024/11/18 15:27:52

文章目录

  • 1、简介
    • 1.1 ubuntu
    • 1.2 node
    • 1.3 python
    • 1.4 osm
    • 1.5 three.js
  • 2、安装ubuntu
  • 3、安装node
  • 4、安装python
  • 结语

1、简介

1.1 ubuntu

https://cn.ubuntu.com/download
https://ubuntu.com/download
Ubuntu是一个以桌面应用为主的Linux发行版操作系统,其名称来自非洲南部祖鲁语或豪萨语的“ubuntu"一词,意思是“人性”“我的存在是因为大家的存在",是非洲传统的一种价值观。Ubuntu基于Debian发行版和GNOME桌面环境,而从11.04版起,Ubuntu发行版放弃了GNOME桌面环境,改为Unity。此前人们认为Linux难以安装、难以使用,在Ubuntu出现后这些都成为了历史。Ubuntu也拥有庞大的社区力量,用户可以方便地从社区获得帮助。 自Ubuntu 18.04 LTS起,Ubuntu发行版重新开始使用GNOME3桌面环境。
在这里插入图片描述
在这里插入图片描述

1.2 node

https://nodejs.cn/
https://nodejs.org/zh-cn
Node.js发布于2009年5月,由Ryan Dahl开发,是一个基于Chrome V8引擎的JavaScript运行环境,使用了一个事件驱动、非阻塞式I/O模型,让JavaScript 运行在服务端的开发平台,它让JavaScript成为与PHP、Python、Perl、Ruby等服务端语言平起平坐的脚本语言。
在这里插入图片描述

1.3 python

https://www.python.org/
Python由荷兰国家数学与计算机科学研究中心的吉多·范罗苏姆于1990年代初设计,作为一门叫做ABC语言的替代品。Python提供了高效的高级数据结构,还能简单有效地面向对象编程。Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言, 随着版本的不断更新和语言新功能的添加,逐渐被用于独立的、大型项目的开发。
在这里插入图片描述

1.4 osm

https://www.openstreetmap.org/
OpenStreetMap开放街道地图( OSM) 是一个非常详细的地图数据,是一个建构自由内容之网上地图协作计划,目标是创造一个内容自由且能让所有人编辑的世界地图,并且让一般的移动设备有方便的导航方案。其OSM数据开源,可以自由下载使用,免费的全球地图数据库。
在这里插入图片描述

1.5 three.js

https://threejs.org/
Three.js是一个基于WebGL的JavaScript库,它使得在网页上创建和显示3D图形变得简单。Three.js提供了一套易于使用的API,封装了WebGL的复杂性,让开发者能够快速地创建3D内容,而无需深入了解WebGL的细节。
在这里插入图片描述

2、安装ubuntu

https://cn.ubuntu.com/download/server/step1
在这里插入图片描述
安装完ubuntu 服务器版本后,进入命令行界面如下:
在这里插入图片描述
查看linux版本:

uname -a

在这里插入图片描述

3、安装node

在这里插入图片描述

通过代码编译node程序。

  • 下载node代码
    https://nodejs.org/dist/latest-v17.x/
    在这里插入图片描述
    通过wget下载node程序。
wget https://nodejs.org/dist/latest-v17.x/node-v17.9.1-linux-x64.tar.xz --no-check-certificate

在这里插入图片描述
或通过curl下载node程序。

curl -O  https://nodejs.org/dist/latest-v17.x/node-v17.9.1-linux-x64.tar.xz 

在这里插入图片描述
解压node的压缩包。

tar xvf node-v17.9.1-linux-x64.tar.xz  

在这里插入图片描述
依次执行以下命令,创建软链接。

ln -sf /home/test/node-v17.9.1-linux-x64/bin/node /usr/bin/node
ln -sf /home/test/node-v17.9.1-linux-x64/bin/npm /usr/bin/npm 

在这里插入图片描述

配置npm使用taobao源。

  • 查看当前的registry
npm config get registry

在这里插入图片描述

  • 设置当前的registry
# 淘宝镜像源
npm config set registry https://registry.npmmirror.com
npm config set registry https://npm.aliyun.com
# 腾讯云镜像源
npm config set registry http://mirrors.cloud.tencent.com/npm/
# 华为云 镜像源
npm config set registry https://mirrors.huaweicloud.com/repository/npm/
# npm 官方原始镜像
npm config set registry https://registry.npmjs.org/

在这里插入图片描述

  • 查看设置后的registry,可见已设置成功
npm config get registry

在这里插入图片描述
anyWhere是一个静态文件服务,可以用于web应用部署,文件服务搭建和分享等场景,使用比较简单。

$ anywhere
// or with port
$ anywhere -p 8000
// or start it but silent(don’t open browser)
$ anywhere -s
// or with hostname
$ anywhere -h localhost -p 8888
// or with folder
$ anywhere -d ~/git/anywhere
// or enable html5 history
$ anywhere -f /index.html
npm -g install anywhere

在这里插入图片描述
运行anywhere命令:

anywhere

在这里插入图片描述
在浏览器访问:

http://192.168.1.4:8000

在这里插入图片描述

4、安装python

安装python3程序:

sudo apt install python3

在这里插入图片描述
在这里插入图片描述
运行python的内置web服务器:

python3 -m http.server 9000

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

防火墙端口开通:

sudo ufw allow 9000/tcp

结语

如果您觉得该方法或代码有一点点用处,可以给作者点个赞,或打赏杯咖啡;╮( ̄▽ ̄)╭
如果您感觉方法或代码不咋地//(ㄒoㄒ)//,就在评论处留言,作者继续改进;o_O???
如果您需要相关功能的代码定制化开发,可以留言私信作者;(✿◡‿◡)
感谢各位大佬童鞋们的支持!( ´ ▽´ )ノ ( ´ ▽´)っ!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2175376.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

萝卜大杂烩 | 快速掌控seaborn(画图必备)

本文来源公众号“萝卜大杂烩”,仅用于学术分享,侵权删,干货满满。 原文链接:快速掌控seaborn Matplotlib绘制一张美图需要很多参数调整,于是就出现了high-level版的Seaborn,几行代码即可输出美美的图形&am…

超详细的 GitHub 个人主页美化教程

Guthub 个人主页 (官方称呼是 profile)可以展示很多有用的信息,例如添加一个首页被访问次数的计数器,一个被 Star 与 Commit 的概览信息,以及各种技能标签,设备标签等,还可以利用 wakatime 显示…

一文上手SpringSecurity【七】

之前我们在测试的时候,都是使用的字符串充当用户名称和密码,本篇将其换成MySQL数据库. 一、替换为真实的MySQL 1.1 引入依赖 <dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.33</v…

一文理解mysql 联合索引和各种SQL语句分析

文章目录 索引图示主键索引二级索引表SQL总结索引图示 主键索引 二级索引 这里如果是联合索引的话,那里面的key就是多个colume的值 表 -- demo.`order` definitionCREATE TABLE `order` (

请求转发和响应重定位

一、请求转发 二、响应重定位 302&#xff1a;服务器的收到请求&#xff0c;但所需要的行为和资源要重定位到其他地方&#xff08;可以是外部和服务器的其他位置&#xff09;时就会像请求者发送302状态码 location响应头&#xff1a;告诉请求者重定位的URL路径

【前端】35道JavaScript进阶问题(1)

来源&#xff1a; javascript-questions/zh-CN/README-zh_CN.md at master lydiahallie/javascript-questions GitHub 记录一些有趣的题。 1 输出是&#xff1f; const shape {radius: 10,diameter() {return this.radius * 2},perimeter: () > 2 * Math.PI * this.rad…

如何通过python+sqlalchemy获得MSsql视图的结构

话不多说 目的:为了对接第三方表视图,需要知道表视图的字段结构,如名称,对应的表字段类型 实现结果如图: 直接上代码: from sqlalchemy import create_engine, MetaData, select, text from web import urlquoteDRIVER "ODBC Driver 18 for SQL Server" INSTANCE…

晓羽知识答题系统V1.8.0

一款适用于企业或组织进行知识答题系统&#xff0c;根据排名进行奖品派发&#xff0c;支持微信小程序和H5方式使用 V1.8.0答题活动支持按题型分配问题数量 答题活动支持按题型分配问题数量&#xff0c;满足指定一定数量的单选题、多选题、判断题&#xff1b; 答题活动支持注…

【数据结构】环形队列(循环队列)学习笔记总结

文章目录 什么是环形队列?基于 C 语言实现环形队列环形队列的应用场合 在计算机科学中&#xff0c;数据结构是组织和存储数据的方式&#xff0c;它对于高效的算法设计至关重要。队列是一种常见的数据结构&#xff0c;遵循 FIFO&#xff08;先进先出&#xff0c;First-In-Firs…

【AIGC】ChatGPT提示词助力自媒体内容创作升级

博客主页&#xff1a; [小ᶻZ࿆] 本文专栏: AIGC | ChatGPT 文章目录 &#x1f4af;前言&#x1f4af;高效仿写专家级文章提示词使用方法 &#x1f4af;CSDN博主账号分析提示词使用方法 &#x1f4af;自媒体爆款文案优化助手提示词使用方法 &#x1f4af;小结 &#x1f4af…

外贸网站怎么搭建对谷歌seo比较好?

外贸网站怎么搭建对谷歌seo比较好&#xff1f;搭建一个网站自然不复杂&#xff0c;但要想搭建一个符合谷歌seo规范的网站&#xff0c;那就要多注意了&#xff0c;你的网站做的再酷炫&#xff0c;再花里胡哨&#xff0c;但如果页面都是js代码&#xff0c;或者页面没有源代码内容…

解决Windows远程桌面 “为安全考虑,已锁定该用户账户,原因是登录尝试或密码更改尝试过多,请稍后片刻再重试,或与系统管理员或技术支持联系“问题

根本原因就是当前主机被通过远程桌面输入了过多的错误密码&#xff0c;被系统锁定。这种情况多数是你的服务器远程桌面被人试图攻击了&#xff0c;不建议取消系统锁定策略。如果阿里云或者腾讯云主机&#xff0c;只需要在管理后台通过管理终端或者VNC登陆一次&#xff0c;锁定即…

友元运算符重载函数

目录 1.定义友元运算符重载函数的语法形式 2.双目运算符重载 3.单目运算符重载 1.定义友元运算符重载函数的语法形式 &#xff08;1&#xff09;在类的内部&#xff0c;定义友元运算符重载函数的格式如下&#xff1a; friend 函数类型 operator 运算符&#xff08;形参表&a…

韩媒专访CertiK首席商务官:持续关注韩国市场,致力于解决Web3安全及合规问题

作为Web3.0头部安全公司&#xff0c;CertiK在KBW期间联合CertiK Ventures举办的活动引起了业界的广泛关注。CertiK一直以来与韩国地方政府保持着紧密合作关系&#xff0c;在合规领域提供强有力的支持。而近期重磅升级的CertiK Ventures可以更好地支持韩国本地的区块链项目。上述…

算法复杂度-空间

一 . 空间复杂度 空间复杂度也是一个数学表达式 &#xff0c; 是对一个算法在运行过程中因为算法的需要额外临时开辟的空间。 空间复杂度不是程序占用了多少个 bytes 的空间 &#xff0c; 因为常规情况每个对象大小差异不会很大 &#xff0c; 所以空间复杂度算的是变量的个数…

计算机毕业设计 智能旅游推荐平台的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍&#xff1a;✌从事软件开发10年之余&#xff0c;专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精…

Kafka:架构与核心机制

Apache Kafka 是一种高吞吐量的分布式消息队列&#xff0c;广泛应用于实时数据流处理和大数据架构中。本文将详细探讨 Kafka 的架构、Replica 管理、消息读取、分区策略、可靠性保障等核心机制。 1. Kafka 的架构 1.1 组件概述 Kafka 的架构由多个组件构成&#xff0c;主要包…

Hashcat

简介 简单介绍下强大的hashcat爆破工具&#xff0c;本文分析了针对不同类型的文件以及系统密码的破解手段 office文档 查找hashcat模式命令hashcat -h|grep -i Office 可以查找所有的office破解类型 使用office2john.py获取加密office的哈希 最后使用hashcat掩码爆破&…

Android中的Activity与Fragment:深入解析与应用场景

在Android应用开发中&#xff0c;Activity和Fragment是两个核心概念&#xff0c;它们各自扮演着不同的角色&#xff0c;共同构成了用户界面的基础。理解并熟练掌握这两个组件的使用&#xff0c;对于开发高效、灵活且用户友好的Android应用至关重要。本文将深入解析Activity与Fr…

小柴冲刺软考中级嵌入式系统设计师系列二、嵌入式系统硬件基础知识(3)嵌入式系统的存储体系

目录 感悟 一、存储系统的层次结构 存储器系统 二、内存管理单元 三、RAM和ROM的种类与选型 1、RAM RAM分类 2、ROM ROM分类 四、高速缓存Cache 五、其他存储设备 flechazohttps://www.zhihu.com/people/jiu_sheng 小柴冲刺软考中级嵌入式系统设计师系列总目录https…