среда, 13 января 2016 г.

Отключение звукового сигнала при съёмке на Ricoh Theta S


Преимущество камеры #ricohthetas в том, что у неё есть REST API: она раздаёт WiFi, в её сети можно отправлять POST-запросы на 192.168.1.1. Недостаток - в том, что все настройки осуществляются через этот REST, а в дефолтном и единственном приложении под Андроид нельзя отключить звуковой сигнал при съёмке. Однако, его можно отключить, отправив команду по REST.
Это можно делать с любой ЭВМ, оснащённой WiFi. У меня под рукой был только смартфон, я поставил туда REST-клиент, и выполнил эти команды. Turn off shutter sound at Ricoh Theta S camera via REST API
POST /osc/commands/execute
{
"name": "camera.startSession",
"parameters": {}
}
#shoot
192.168.1.1/osc/commands/execute
{
"name": "camera.takePicture",
"parameters": {
"sessionId": "SID_0001"
}
}
#check volume state
POST /osc/commands/execute
{
"name": "camera.getOptions",
"parameters": {
"sessionId": "SID_0001",
"optionNames": [
"fileFormat",
"fileFormatSupport","_shutterVolume"
]
}
}
POST /osc/commands/execute
{
"name": "camera.setOptions",
"parameters": {
"sessionId": "SID_0001",
"options": {
"_shutterVolume": 0
}
}
}
На самом деле всё было не так: пришлось подключить к смартфону Bluetooth-клавиатуру. Затем оказалось, что на ней при нажатии клавиши g запускается окно отправки в почтовый клиент. Далее я записал команды на gist.github.com, открыл его в браузере на смартфоне, и стал копировать по-одной. Похоже, что в них оказались какие-то левые символы, потому что камера отказалась их выполнять.
Когда я переписал все команды с нуля, то они выполнились.

Теперь я могу снимать на Ricoh Theta S без демаскирующего звука.

Станция метро Новокузнецкая, сферические панорамы


Moscow metro Novokuznetskaya Летающий трактор.

среда, 24 декабря 2014 г.

Test of embding map from github


Test of embding map from github
Координаты интересных для осмотра зданий 20 века, с указанием степени эстетичности по моей оценке.
В этом наборе данных содержатся точки с координатами и параметрами в формате geojson.
Просмотр geojson на карте в Android
В NextGIS Mobile. С атрибутами.
1. Скачать файл в формате geojson
2. Поместить его в память устройства с ОС Android в любой каталог
3. Установить https://play.google.com/store/apps/details?id=com.nextgis.mobile
4. В NextGIS Mobile найти кнопку добавления слоя из файла, добавить файл geojson. Он будет отображаться на карте, на точки можно кликать и смотреть все их атрибуты.
5. При необходимости закешировать подложку согласно документации.
Официальная документация по NextGIS Mobile (RU)http://docs.nextgis.ru/docs_ngmobile/source/toc.html
В osmand. Без атрибутов.
1. Скачать файл в формате geojson
2. Установить на PC программу NextGIS QGIS (для ОС Windows), или простой QGIS (для других ОС)
3. В QGIS добавить файл geojson, пересохранить его в формат gpx
4. Поместить файл gpx с точками в память устройства с OS Android в папку osmand/tracks (если нет, то создать)
5. В программе osmand на android найти кнопку с настройкой слоёв (с каждой версией программы она перемещается)
6. В появившемся меню: "Показать", где будут пункты "POI", "Метки точек"... выбрать пункт "Трек GPX".
7. В появившемся списке включить наш файл, который мы записали.
SPB_Kirikov_modern_apartments.geojson - координаты домов из книги "Архитектура Петербургского Модерна" Бориса Кирикова. Ссылки на номер страницы и на citywalls.ru
view raw readme.txt hosted with ❤ by GitHub
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

четверг, 4 декабря 2014 г.

Overpass QL Union example

Example of Union query in new Overpass QL language
Пример запроса с Union на новом языке Overpass QL.



[maxsize:1073741824]
[out:xml]
[timeout:900]
;

(way
  ["railway"~"rail"]
    ["service"!="spur"]
["service"!="yard"]
  ["service"!="siding"]
  ({{bbox}});>;
)->.a;

(node
  ["railway"="station"]
  ({{bbox}});>;
)->.b;

(.a;  .b;) ->.c;

.c out meta qt;

{{style: /* this is the MapCSS stylesheet */

node
{  fill-color:gray;  }

node[railway=station]
{ color:black; fill-color:gray; text: name; }
way
{ color:brown; fill-color:brown; }


}}

http://overpass-turbo.eu/s/6o1

среда, 3 декабря 2014 г.

Overpass queries: villages without buildings, villages without highways, villages without residential areas.

Overpass queries: villages without buildings, villages without highways, villages without residential areas made by Xmypblu



Villages without buildings

overpass-turbo.eu/s/6lv


[maxsize:1073741824] [out:xml] [timeout:900] ; ( node ["place"~"hamlet|village"] ({{bbox}}); way ["place"~"hamlet|village"] ({{bbox}});>; relation ["place"~"hamlet|village"] ({{bbox}});>; )->.b; ( way ["building"~"."] ({{bbox}});>; )->.c; ( node (around.c:500.0) ["place"~"hamlet|village"]; way (around.c:500.0) ["place"~"hamlet|village"];>; relation (around.c:500.0) ["place"~"hamlet|village"];>; ) ->.d; (.b; - .d;) ->.e; .e out meta qt;


Villages without highways

Each village should have a highway, at least a highway=unclassified, on higher. Not highway=track.
overpass-turbo.eu/s/6lC


[maxsize:1073741824]
[out:json]
[timeout:900]
;

(
  node
  ({{bbox}})
  ["place"~"hamlet|village"];
  way
  ({{bbox}})
  ["place"~"hamlet|village"];>;
  relation
  ({{bbox}})
  ["place"~"hamlet|village"];>;
)->.b;

(
  way({{bbox}})["highway"~"motorway|trunk|primary|secondary|tertiary|unclassified"];>;
)->.c;

(
  node
  (around.c:1000.0)
  ["place"~"hamlet|village"];
  way
  (around.c:1000.0)
  ["place"~"hamlet|village"];>;
  relation
  (around.c:1000.0)
  ["place"~"hamlet|village"];>;
) ->.d;

(.b; - .d;) ->.e;

.e out meta qt;


Villages without landuse=residential

http://overpass-turbo.eu/s/6mg

[maxsize:1073741824]
[out:xml]
[timeout:900]
;

(
  node
  ["place"~"hamlet|village"]
  ({{bbox}});
  way
  ["place"~"hamlet|village"]
  ({{bbox}});>;
  relation
  ["place"~"hamlet|village"]
  ({{bbox}});>;
)->.b;

(
  way
  ["landuse"~"residential"]
  ({{bbox}});
  relation
  ["landuse"~"residential"]
  ({{bbox}});>;
)->.c;

(
  node
  (around.c:500.0)
  ["place"~"hamlet|village"];
  way
  (around.c:500.0)
  ["place"~"hamlet|village"];>;
  relation
  (around.c:500.0)
  ["place"~"hamlet|village"];>;
) ->.d;

(.b; - .d;) ->.e;

.e out meta qt;