罗曼·舒瓦洛夫(Roman Shuvalov):“我想到了制作OpenStreetMap地图的3D渲染的想法”



罗曼·舒瓦洛夫(Roman Shuvalov)是一位基于Togliatti的独立游戏开发商,他于今年早些时候根据OpenStreetMap数据发布了Generation Streets。不久前,他打开了项目代码的一部分。他为什么这么做,游戏如何出现以及为何选择OSM-罗曼在一次采访中谈到了所有这一切。



-您如何以及何时听说有关OpenStreetMap项目的?



-大约在5年前-2014-2015年,当时我正在寻找可以让用户根据自己的需求创建地图的解决方案。那时,我已经有一个小型的Web项目-陶里亚蒂森林的道路地图。它是在Yandex.Maps服务上制作的,该服务在标准背景之上叠加了带有我所需对象的矢量层。顺便说一句,这一层是根据我和我们的自行车俱乐部成员记录的GPS轨迹制作的。这有点像Strava热图。在某个时候,我意识到自己想要更多,并开始考虑如何升级我的卡。







结果,我了解了OpenStreetMap。当我第一次看到它时,我感到非常惊讶:我为该项目令人难以置信的开放性和灵活性感到震惊。我不仅可以自由使用其初始数据,还可以参与绘制地图,这对我来说非常重要。



逐渐地,使用我拥有的GPS轨迹,绘制了Togliatti森林以及OSM中的相关基础结构。制作完自己的渲染后,可以在萨马拉地区自行车地图上看到它...它的独特之处在于,即使是小规模(从10开始),也会显示路径和其他对骑车人有用的对象。虽然在10甚至12比例尺的标准渲染中,地图的细节都比较低,当试图在田野和森林之间建立自行车路线时,该地图尤其明显。





萨马拉地区的自行车地图。甚至可以看到小径和居民点。



-为什么您最终留在该项目中?毕竟,他们只能绘制您需要的路径,仅此而已。



-在OSM中绘制地图是一项危险的活动,因为它会令人上瘾,因此很难停止。通常如何发生?我标记了路径,但发现附近有建筑物,但不在地图上。添加。然后我意识到仍然必须有一条人行道,以及它后面的道路……等等。您被美丽的感觉所驱动:不仅在您居住的地方,而且在任何地方,您都希望一切都变得美丽。这就是为什么我留在该项目中的原因。没错,现在我的画图不像以前那样多了,但是我仍然在慢慢地使OSM更加准确。基本上,我会纠正一些小错误或更新地图-我添加逐渐出现在我感兴趣的位置的新对象。



-您为什么对制图感兴趣?这仍然是一个不寻常的爱好。



-可能是因为内心渴望知道您周围的事物,而且远超出您的眼睛能看到的范围。我一直都有这种感觉。我记得在高中时就曾尝试过GIS,例如,我在Delphi中编写了一个应用程序(当时我只能在其中编写程序),该应用程序构建了萨马拉地区的三维地图。而且,当时没有开放的数据集,或者我根本不了解它们,因此我从普通的纸质地图集中获取了海拔数据。我对其进行了扫描,并使用一些插件构建了3D模型。因此,我很久以来一直对制图或对周围世界的可视化感兴趣。



-让我们谈谈基于OSM数据的3D游戏Generation Streets。她是怎么出生的?



-我会立即指出,自2010年以来我一直在开发游戏。对于几年前的这个特殊游戏,我偶然想到了一个想法,那就是制作OSM地图的三维渲染图。和整个星球。我查看了已经存在的类似项目(F4mapOSM Buildings),但是不幸的是,他们都不满意我-它们太简略了。我想要一个更逼真的渲染:具有纹理,树木,灯笼等形式的视觉碎片。总之,我们通常不会注意到这种胡说八道,但没有它,世界就无法活着。







-您是如何开始发展的?



-从寻找海量数据处理方法开始,因为我想一次制造整个星球。我花了很多时间。最初,我尝试通过基于osm2vectortiles的数据库来执行此操作。但这没有用,因为我的计算机性能较差。



最后,我确定了两个小程序:OsmconvertOsmfilter。对于他们的工作,不需要提高数据库。它们以PBF格式获取OSM数据,并允许您通过命令行参数剪切所需的片段。因此,我有机会将整个星球切割成瓷砖,而没有不必要的问题。



但是我立即遇到以下问题:PBF格式并不完全方便生成三维渲染,因此有必要将其转换为适合此格式的格式。为此,我必须编写一些辅助实用程序,我的源代码已经在GitHub上的免费许可证下列。它们部分基于ogr2ogr



结果,我设法创建了自己的矢量切片格式,我认为这对于在渲染器内部读取和生成3D模型非常方便。此外,它还允许您将图块组合成大型档案,从而简化了它们的存储。借助此功能,我没有数十亿个文件,只有几百个文件。







-为什么您决定提出自己的格式?我认为已经有现成的解决方案。



-是的,您是对的:现成的格式已经存在,例如来自Mapbox的矢量格式,但是重点是它们集中在平面二维图像上。它们具有一个令人不快的特征:如果建筑物碰到瓷砖的交界处,则会被切割。对我来说,这是绝对不能接受的,因为为了以后我能够制作建筑物的3D模型,它必须是完整的。还没有针对该问题的现成解决方案。我认为以前没有人遇到过。所以我决定做自己的事。







-您能分享有关游戏的统计信息吗?有什么评论?



-自出版以来Steam上的游戏(抢先体验-2018年10月,“完整”版本-2020年2月),大约有3000人下载了该游戏。对于这种类型的游戏,独立游戏非常不错。考虑以下几点也很重要:游戏的游戏性较差。我立即意识到,在这个项目的框架内,我将永远无法使它变得更加有趣。因此,他就是他。



该游戏的主要兴趣在于,用户有机会为他下载一个有趣的区域,并在地球上飞行。大多数游戏没有此选项。例如,住在纽约的人们经常会为另一个游戏重新发行而感到高兴,在该游戏中已经详细地重新创建了这座城市。而且居住在陶里亚蒂的人们不太可能会等待在其城市所在地创建的游戏。这正是我敢打赌的。



但是由于许多人除了可能加载自己的城市外,还期望精心设计游戏玩法,因此在这一部分,我收到了许多负面评论。他们当之无愧。最初,我已经为此做好了准备,因为我的游戏不关乎游戏玩法,无论听起来多么奇怪,都关乎数据可视化以及在世界任何地方飞行的能力。







-您的游戏使用OSM数据。是否可以通过它进行编辑?



-最初,我想嵌入OSM编辑器,但是经过一些试验,我决定不这样做。有一阵子,用户有机会进行编辑。这些编辑没有直接转到OSM,而是在本地数据库中“解决”了。事实证明,这些玩家远离OSM世界,因此他们对地图的反应非常不负责任。现在,我正在考虑关闭该实验性编辑器,并把所有想去JOSM的人都发送出去。



-据我了解,您打开了游戏代码,并以开放许可的形式发布了代码。你为什么这么做?这个决定难做吗?



-我没有打开整个游戏,只打开了负责生成3D模型的代码。首先,我这样做是为了与社区共享我的工作,因为我对此感到有些不满,因为我本人使用由其他程序员编写的开源。其次,最有可能的是,我将不再对该产品进行重大更改,但同时我认为某人可能会对它感兴趣,甚至有人会致力于开发它。第三,我希望使用我的代码并帮助人们解决他们的问题。您看,将会有更多与3D渲染相关的项目,也许它们将包括我的家乡Togliatti。







-您喜欢OSM的什么?



-我喜欢开放许可证和获取数据的能力,而不仅仅是现成的瓷砖。例如,我制作了一个视频游戏。没有其他地图服务可以让我如此轻松地做到这一点。至少,您必须与开发人员联系并要求提供初始数据。我不确定行业巨头会不会中途见过我。我立即拿起并下载了整个星球,并完成了我需要做的所有事情。

我也喜欢任何人都可以参与该项目并使地图更准确。JOSM编辑器没那么困难。同时,您不必等到接受或批准您的编辑后,就可以立即将它们发送到主数据库中,这意味着您可以立即使用它们来满足需要。例如,在导航器中更新地图。



-不喜欢什么?



-丰富且不系统的标签。这并不总是很好。另外,现在该提出一些带有偏移量的东西了。有时,您打开一个城市并意识到有人在不考虑这种细微差别的情况下绘制了这座城市。而且您不知道该怎么办:转移所有内容还是继续以错误的偏移量绘制?当然,我了解到世界是不完美的,您必须解决一些问题。一般来说,OSM的优点多于缺点。



-什么会做得更好?



-我希望看到一个好的Web编辑器。是的,已经有一个iD,但它适用于新手。我想要更舒适的东西。另外,在我看来,如果OSM中的对象以某种方式相互关联会更好。现在,如果对建筑物的形状或通过附近更改的道路的位置进行了任何更改,则此更改不会以任何方式影响相邻对象。例如,即使在更改之后,道路也开始越过房屋的顶部。我不知道如何确切地实现这种交互,但是我希望有关依赖项的信息可用。这样,例如,如果道路经过编辑,公共交通路线将不会中断。我想这将使OSM数据更加便于编辑和进一步使用。



-您是否在个人生活中使用OSM?上班吗除了游戏。



-在日常生活中,使用移动导航OruxMapsmaps.me。两者都是离线的,也就是说,它们允许您在没有Internet的情况下使用地图,它们的地图基于OSM。我喜欢OruxMaps的地方在于它还允许您使用矢量mapsforge格式的自己的地图



-您对初学者有什么建议?或那些只是在思考的人:是否参与该项目。



-如果您使用的是任何基于OSM的移动导航器,请考虑开始更精确地制作您正在使用的地图。毕竟,许多人根本不知道可以直接通过电话编辑地图。

对于那些已经熟悉OSM甚至只是作一点图表的人,第一个主要建议-在编辑地图之前,请阅读WikiOSM。几乎所有东西都在那里。这将为您节省很多错误,并且还使您能够采用映射的文化,并更加意识到自己对要使用正在编辑的地图的人员的责任。永远不要忘记,OSM数据用于大量项目中,因此始终尝试保持输入数据的高质量。



-对话结束时你会说什么?



-OSM是目前世界上唯一开放且免费的制图项目,其声音可能听起来很大。它是商业制图服务的独立替代方案。这就是为什么您需要参与并以各种可能的方式进行开发的原因。毕竟,如果OpenStreetMap不复存在,我们都会被迫使用某些人会强加给我们的条款使用商业地图。您可能会忘记免费使用地理数据。






俄罗斯OpenStreetMap参与者Telegram聊天中论坛上进行交流

社交网络VKontakteFacebook上也有一些团体,但是他们主要发布新闻。



加入OSM!






以前的采访:
, , , , , , , , , , , , , , , , , wowik, SviMik, , , , , , aka BANO.notIT, , , , , .




All Articles