aaronbauman/everylane

该软件包最新版本(dev-master)没有提供许可证信息。

推特骑行车道照片。

安装: 1

依赖项: 0

建议者: 0

安全: 0

星星: 0

关注者: 2

分支: 0

开放问题: 5

类型:drupal-module

dev-master 2019-06-03 19:31 UTC

This package is auto-updated.

Last update: 2024-08-29 04:49:07 UTC


README

谁?

我是一个Drupal开发者,我喜欢骑自行车。

什么?

此Drupal模块旨在协调推特机器人Every Lane Philly发布骑行车道照片,灵感来源于every lot bot

何时?

机器人https://twitter.com/everylanephilly应该在2019年夏季到2020年夏季的一年中每小时发一条推文。

在哪里?

此模块是专门为费城构建的,但我很乐意为其他城市添加更广泛的支持。请私信我,发布一个问题或创建一个pull request。

为什么?

everylot bots like everylotphilly的启发,我想建立一个类似的机器人来展示费城的自行车网络。我希望这些照片能帮助你了解我们的基础设施。

如何?

这是个好问题!继续阅读...

安装

我将在问题部分发布TODO。其他方面的兴趣程度将决定我花费多少时间将其适应其他城市。

需求

  • 包含您的自行车网络数据集。请参阅下面的数据源详细信息
  • Google地图API密钥,允许使用静态地图API和街景静态API
  • Twitter开发者应用程序:访问密钥、访问密钥、消费者密钥、消费者密钥

设置Drupal

以下步骤将在您的本地机器上安装一个最小的Drupal站点以运行Everylane,但本地安装不是必需的。有关更多信息,请参阅https://www.drupal.org/docs/official_docs/en/_evaluator_guide.html

# Install a minimal Drupal site locally
mkdir drupal
cd drupal
curl -sSL https://www.drupal.org/download-latest/tar.gz | tar -xz --strip-components=1
php core/scripts/drupal quick-start minimal

# Add and enable drush and everylane module
# Note: everylane drush commands require drush/drush:^9
composer require drupal/everylane drush/drush
drush en everylane -y

配置

# Set Google API key
drush cset everylane.settings google_maps_api_key 'REPLACE_WITH_YOUR_GOOGLE_API_KEY'

# Import your network into `bike_network` table. See "data source details" for requirements.
TK

# Clean up data, generate static maps, and generate street view images.
# Note: this command may take a long time, run out of resources, or throw other errors. Please report them to github!
drush everylane:init

# Set Twitter API keys
drush cset everylane.settings twitter.oauth_access_token 'REPLACE_WITH_YOUR_TWITTER_OAUTH_ACCESS_TOKEN'
drush cset everylane.settings twitter.oauth_access_token_secret 'REPLACE_WITH_YOUR_TWITTER_OAUTH_SECRET'
drush cset everylane.settings twitter.consumer_key 'REPLACE_WITH_YOUR_TWITTER_CONSUMER_KEY'
drush cset everylane.settings twitter.consumer_secret 'REPLACE_WITH_YOUR_TWITTER_CONSUMER_SECRET'

# (optional) Change the minimum tweet interval offset. Defaults to "55 minutes".
# Each cron run will only attempt a tweet if the previous tweet is older than this interval.
# example: tweet as often as possible
drush cset everylane.settings minimum_time_between_tweets "now"

# Start tweeting!
# Use `drush everylane:generate:tweet` if you prefer.
drush cron

数据源详细信息

您需要将数据集导入到Drupal的bike_network数据库表中。目前,最简单的方法可能是从CSV导入到mysql。必需的最小字段为

  • streetname - 可读的自行车道街道名称
  • seg_id - 轨段唯一标识符。如果未定义,将分配一个。
  • wkt - WKT格式的几何定义。可以是单个LineString或MultiLineString。对于MultiLineString,除了第一个之外的所有几何图形都将被忽略。
  • type - 自行车道类型,例如“停车保护区”、“人行道”等。如果不需要在推文文本中包含此内容,则可能不需要。
  • shape__length - 长度,约英尺。如果不需要在推文文本中包含此内容,则可能不需要。待办事项:根据几何图形计算距离。

注意:如果您正在使用上述快速安装方法,请考虑使用sqlite GUI工具,例如https://tableplus.io/来帮助导入您的数据源。

来源

对于费城,主要数据源是https://www.opendataphilly.org/dataset/bike-network

那里的地图已经过时了,但我这里发布了一个最新的地图(截至撰写本文时已有9个月):https://aaron-bauman.carto.com/builder/50af099f-3e5a-47b3-8ab9-a604528a4f0d/embed

已知限制

欢迎为这些或其他问题提供补丁

  • 未处理“找不到图像”的响应。#1
  • 对立交桥和地下通道的处理有限。当两条道路垂直重叠时,谷歌街景静态API没有提供指定要捕获哪一层的途径。结果是,一些街景图像是高速公路而不是地下通道。#2
  • 重复过滤非常基础。根据源数据,您可能会生成一些重复项或近似重复项。#3
  • 街道以外的街景可用性有限。谷歌街景主要是自动路线。一些非道路路径可用。
  • 方向可能与交通/自行车路线相反180度。这主要取决于几何形状是否按照交通流的方向定义。
  • 许多设置和配置都是硬编码的。#4
  • 必须手动导入源数据。#5