aaronbauman / everylane
推特骑行车道照片。
Requires
- php: >=5.6.0
- drupal/geophp: ^1.0@beta
- emcconville/google-map-polyline-encoding-tool: ^1.3
- j7mbo/twitter-api-php: ^1.0
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
已知限制
欢迎为这些或其他问题提供补丁