Клуб Народной карты

Помощь редактору карты

Te*mik
6 июля 2016, 12:45

Всем привет!

Есть возможность открывать Публичную кадастровую карту Росреестра с координатами из НЯК в один клик. Как это сделать:

1. Создаём в браузере новую закладку и вставляем в поле с ссылкой этот код:

javascript: 
var ThisA = location.href; 
var string = ThisA; 
var res2 = string.match(/\d{2,3}\.\d\d\d\d\d\d/); 
var res = string.match(/\d{2,3}.\d+(?=\&)/); 
var lat; 
if (res>89.5) res = 89.5; 
if (res<-89.5) res = -89.5; 
var rLat; 
var rLong; 
var pi = Math.PI; 
rLat = res2*(pi/180); 
rLong = res*(pi/180); 
var a; 
var x; 
var y; 
a=6378137.0; 
x=a*rLat; 
y=a*Math.log(Math.tan(Math.PI/4+rLong/2)); 
window.open("http://pkk5.rosreestr.ru/#x="+x+"&y="+y+"&z=17");

2. Выносим эту закладку в панель на видное место (опционально)

3. Заходим на НЯК, кликаем на нашу закладку

4. Открывается ПКК в том же месте!

31 комментарий
Очень удобно! Спасибо!
Работает.
Это круто!
Yet another Forrest
6 июля 2016, 15:02
Артём, большое спасибо =)
Круто и полезно!
Но пару вещей бросилось в глаза. Зачем вам 2 переменные, которые хранят адрес. Можно же его сразу в матч прописать.
Переменная lat не используется.
Переменная для числа Пи используется один раз и вообще не нужна.
Переменным rLat, rLong, a,x,y можно сразу присвоить значение.
\d\d\d\d\d\d\d\d\d\d\d\d можно заменить на \d{6}
То есть вот как-то так:


var res2 = location.href.match(/\d{2,3}\.\d{6}/);
var res = location.href.match(/\d{2,3}.\d+(?=\&)/);
if (res>89.5) res = 89.5;
if (res<-89.5) res = -89.5;
var rLat = res2*(Math.PI/180);
var rLong = res*(Math.PI/180);
var a = 6378137.0;
var x = a * rLat;
var y = a * Math.log(Math.tan(Math.PI/4+rLong/2));
window.open("http://pkk5.rosreestr.ru/#x=" + x + "&y=" + y + "&z=17");


И не забудьте разрешить всплывающие окна.
alex.kurk,
спасибо за правки, действительно, Ваше решение более рациональное.
Te*mik,
Алексей Егоров Alexxegorov сделал замечательный букмарклет https://yadi.sk/d/B2DXH10T3K3rBz Теперь можно реже открывать SAS-планету. Здесь OMS, ESRI,Bing, Topo, GGC, Wikimapia, Gооgle и конечно Яндекс. Также можно посмотреть панорамы Gооgle, правда старенькие. Самые свежие на Google Earth с датами. И создавать треки. Может кто еще найдет что то новенткое. Огромное ему спасибо.
Обновлено 12 июня, 21:57
Олег Чечулин
6 июля 2016, 15:42
Вот ещё бы сразу спутник был бы выбран...
Олег Чечулин,
не уверен, что выйдет. Когда переключаешь схему/спутник на кадастре в адресе страницы параметры не меняются, в отличие от Яндекса, а это значит, что либо параметры просто скрыты, либо подложка меняется скриптом. Я больше склоняюсь к скрипту, а это значит, что поменять автоматически не выйдет. Ну а если скрытые параметры, то это надо копаться в коде и искать как они называются, чтобы передать их при переходе с Народной.
Олег Чечулин
6 июля 2016, 15:45
И масштаб чтобы сохранялся :)
Олег Чечулин,
последнюю строчку заменить на эти


var scale = location.href.match(/z=\d+/);
window.open("http://pkk5.rosreestr.ru/#x=" + x + "&y=" + y + "&"+ scale);
Олег Чечулин
6 июля 2016, 15:45
А так, конечно, нижайший поклон автору :)
Большое спасибо! Очень полезно!
С учётом предложений Александра Курковского код лучше использовать этот (помимо того, что он короче, в нём также сохраняется масштаб): 


javascript:
var res2 = location.href.match(/\d{2,3}\.\d{6}/); 
var res = location.href.match(/\d{2,3}.\d+(?=\&)/);
var scale = location.href.match(/z=\d+/);
if (res>89.5) res = 89.5;
if (res<-89.5) res = -89.5;
var rLat = res2*(Math.PI/180);
var rLong = res*(Math.PI/180); 
var a = 6378137.0;
var x = a*rLat;
var y = a*Math.log(Math.tan(Math.PI/4+rLong/2));
window.open("http://pkk5.rosreestr.ru/#x=" + x + "&y=" + y + "&"+ scale);
Yet another Forrest
8 июля 2016, 19:16
Te*mik,
Не хочу показаться настрырным, но всё же... а можно как-то такой скрипт для старой ПКК запилить? Мои манипуляции со скриптом толку не принесли... я в них не силён, моё это HTML =)

Yet another Forrest,
что ещё за старая ПКК? дайте ссылочку.
Вообще, если вы изучали HTML, то JavaScript тоже должны были)
Yet another Forrest,
вот, должно работать:


javascript:
var res2 = location.href.match(/\d{2,3}\.\d{6}/);
var res = location.href.match(/\d{2,3}.\d+(?=\&)/);
var scale = location.href.match(/\d{2}(?=\&)/);
if (res>89.5) res = 89.5;
if (res<-89.5) res = -89.5;
var rLat = res2*(Math.PI/180);
var rLong = res*(Math.PI/180);
var a = 6378137.0;
var x = a*rLat;
var y = a*Math.log(Math.tan(Math.PI/4+rLong/2));
window.open("http://maps.rosreestr.ru/PortalOnline/?l="+scale+"&x="+x+"&y="+y+"&mls=map|anno&cls=cadastre");
Yet another Forrest
9 июля 2016, 16:52
Te*mik,
большое спасибо)))
Yet another Forrest
10 июля 2016, 09:39
alex.kurk,
ссылка
Я самоучка в этой области)))
Если кому интересно, то вот код Артёма для карт Google:
javascript:
var res2 = location.href.match(/\d{2,3}\.\d{6}/);
var res = location.href.match(/\d{2,3}.\d+(?=\&)/);
var scale = location.href.match(/\d+/);
if (res>89.5) res = 89.5;
if (res<-89.5) res = -89.5;
var string = "https://www.google.ru/maps/@" + res + "," + res2 + "," + scale + "z";
window.open(string);


Меняя одну строку, можно получить ссылки и для других карт
ОСМ:
var string = "https://www.openstreetmap.org/#map=" + scale + "/" + res + "/" + res2 + "";
Викимапия:
var string = "http://wikimapia.org/#lang=ru&lat=" + res + "&lon=" + res2 + "&z=" + scale + ""

Визиком:
var string = "http://maps.visicom.ua/c/" + res2 + "," + res + "," + scale + "";
paulbn,
спасибо, конечно очень полезно!
paulbn,
аналогичная строка для 2Гис:
var string = "https://2gis.ru/kazan?queryState=center%2F"+ res2 + "%2C" + res + "%2Fzoom%2F" +scale+"";
Город можно не менять.
Седин Дмитрий
7 июля 2016, 08:41
Пользуясь случаем, а Яндекс случайно не хочет предоставить права на свою спутниковую карту Росреестру? - а то у них в деревнях совсем глухо. Ощущение, что участки от балды нарисованы.
ВластилинПолмира
7 июля 2016, 13:15
Седин Дмитрий,
 Росреестр наносит не по спутнику, а по результатам межевания с выходом геодезистов на местность и координированием углов участков.
Наш спутник не улучшит данные. Видел нанесённые участки не в областной системе координат, а в локальной для каждого поселка (от пенька где-то в центре). Где в координатах 6 знаков перед запятой, писали 4 знака. Там часто сидят тётеньки не сильные ни в картографии, ни в математике. В результате участки нескольких населенных пунктов падали в одну кучу. Да и координаты иногда путали местами.
Это снимками не лечится.
А для нас - да. Будет удобнее пользоваться.
Отлично! Спасибо огромное!
Круть! Спасибо!
Олег Чечулин
8 июля, 11:59
А вот в режиме модерации правок этот букмарклет не работает...
Олег Чечулин,
в посте устаревшая версия, чуть позже в комментариях выложу актуальную.
Олег Чечулин
8 июля, 12:53
Te*mik,
может, лучше отдельным постом? Всё-так год прошёл, многие новички так далеко не скоро дочитают :)
Олег Чечулин,
вот моя коллекция допиленных скриптов :)
Олег Чечулин
11 июля, 18:02
☭Okclick,
спасибо! Поизучаю на досуге. Что-то с кодировкой в файле, кстати - русские буквы у меня некорректно показываются.