Closed Lakovshchikov closed 6 years ago
Неплохо, но не очень качественно. Ты почему к разным участкам запросы написал в примерах? я 20 минут потерял )) Приду домой - гляну еще и напишу комментарий Кстати, чтобы не изобретать велосипед посмотри (я не смотрел) есть ли что-то здравое в народных потугах - https://github.com/rendrom/rosreestr2coord https://github.com/muxtor/yii2-pkk5-component https://ru.stackoverflow.com/questions/636331/%D0%A1%D1%83%D1%89%D0%B5%D1%81%D1%82%D0%B2%D1%83%D0%B5%D1%82-%D0%BB%D0%B8-%D0%A4%D0%93%D0%98%D0%A1-%D0%95%D0%93%D0%A0%D0%9D-api
@wldmr-key Что касается первой ссылки. Я все поставил, но получить координаты не удалось. Вот команда: rosreestr2coord -c 33:10:001009:18 Предварительно поменял путь сохраняемых файлов: rosreestr2coord -o C:\Users\Иван\Desktop Результат:
Start downloading area info: http://pkk5.rosreestr.ru/api/features/1/33:10:1009:18
Area info downloaded.
_Traceback (most recent call last):
File "C:\Python27\Scripts\rosreestr2coord-script.py", line 11, in
Итог: файл не появился. Не знаю с чем связано. Пробовал поменять путь, что бы не было кириллицы в пути, не помогло. Тот же результат.
По второй ссылке. Поставить не получилось. Начал ставить Composer. он просит какой-то "command-line PHP". Погуглив, узнал, что это php.exe. Начал искать на пк, не нашел. Решил поставить PHP. Не понял как. Вот тут смотрел: http://php.net/manual/ru/install.windows.php Итог: мб позже поставлю все что нужно. Сейчас не стал разбираться.
По третьей ссылке. Полезное описание некоторых запросов. Еще в комментариях полезное нашел: https://github.com/KirillNaumkin/RosreestrREST Итог: поиграюсь с найденной библиотекой - опишу что получилось.
ох! вот, прямо сразу и ставить... Питон и пхп имеют очень легкий синтаксис для чтения. Я думал, ты просто глянешь исходники и посмотришь, что они пытаются делать...
Чуть повозился с твоими запросами
Смотри (здесь будут куски html и запросы - для наглядности)
<img class="leaflet-tile leaflet-tile-loaded" src="https://pkk5.rosreestr.ru/arcgis/rest/services/Cadastre/Cadastre/MapServer/export?dpi=96&transparent=true&format=png32&bbox=3947819.6368727833,7235223.349361643,3952711.606683034,7240115.319171896&size=1024,1024&bboxSR=102100&imageSR=102100&f=image" style="height: 1024px; width: 1024px; left: -513px; top: 151px;">
запрос arcgis куска карты с границами кадастровых участков - следует обратить внимание, что запрашивается tile с требуемыми координатами и смещается как абсолютный элемент
<img class="leaflet-image-layer leaflet-zoom-animated" src="https://pkk5.rosreestr.ru/arcgis/rest/services/Cadastre/CadastreSelected/MapServer/export?dpi=96&transparent=true&format=png32&bbox=3951187.643431599,7237874.758780285,3953839.05285024,7240836.693626336&size=555,620&bboxSR=102100&imageSR=102100&layers=show%3A6%2C7&layerDefs=%7B%226%22:%22ID%20=%20'40:15:130501:15'%22,%227%22:%22ID%20=%20'40:15:130501:15'%22%7D&f=image" style="opacity: 0.5; transform: translate3d(0px, 0px, 0px); width: 555px; height: 620px;">
а это - оформленный в html полупрозрачный кадастровый участок. Обрати внимание - он плюхается на видимую область карты целиком
Разберем еще раз этот запрос:
https://pkk5.rosreestr.ru/arcgis/rest/services/Cadastre/CadastreSelected/MapServer/export?dpi=96&transparent=true&format=png32&bbox=3951187.643431599,7237874.758780285,3953839.05285024,7240836.693626336&size=555,620&bboxSR=102100&imageSR=102100&layers=show%3A6%2C7&layerDefs=%7B%226%22:%22ID%20=%20%2740:15:130501:15%27%22,%227%22:%22ID%20=%20%2740:15:130501:15%27%22%7D&f=image
запрос выделенного участка
Bounding Box - bbox=3951187.643431599,7237874.758780285,3953839.05285024,7240836.693626336 - координаты, соответствующие отображаемой области на видимой в окне карте (чтобы ровно наложить рисунок) Bounding Box Spatial Reference - bboxSR=102100 layers=show%3A6%2C7 == show:6,7 -очевидно номера показываемых слоев карты Layer Definitions - layerDefs=%7B%226%22:%22ID%20=%20%2740:15:130501:15%27%22,%227%22:%22ID%20=%20%2740:15:130501:15%27%22%7D == layerDefs={"6":"ID = '40:15:130501:15'","7":"ID = '40:15:130501:15'"} - поисковая строка Image Size = size=555,620 - размер экранной области, куда попадет рисунок в пикселях Image Spatial Reference - imageSR=102100 Image Format - format=png32 (у аркгис есть еще png, png8, png24, jpg, gif, pdf, bmp, svg) Background Transparent - transparent=true - понятно DPI - dpi=96 - понятно
Ну, и теперь вишенка на торте: если пересчитать координаты bounding box, то можно выполнять масштабирование границ без всяких усилий. Вот я пересчитал границы, уменьшив прямоугольник вдвое по широте и долготе: 3951850.49578625,7238615.24249179,3953176.20049558,7240096.20991482
подставим в запрос:
https://pkk5.rosreestr.ru/arcgis/rest/services/Cadastre/CadastreSelected/MapServer/export?dpi=96&transparent=true&format=png32&bbox=3951850.49578625,7238615.24249179,3953176.20049558,7240096.20991482&size=555,620&bboxSR=102100&imageSR=102100&layers=show%3A6%2C7&layerDefs=%7B%226%22:%22ID%20=%20%2740:15:130501:15%27%22,%227%22:%22ID%20=%20%2740:15:130501:15%27%22%7D&f=image
@Lakovshchikov Можешь проверять...
@wldmr-key Что получилось за прошедшее время: 1) Переделал немного UI Все равно не нравится, подумаю еще. 2) Работает выбор участка. То, что показано на предыдущем скрине не нарисовано, а работает. Но возникли трудности. Некоторые поля, в запросе к сервису возвращаются в виде кода, например значение поля fp:200 говорит о том, что это "собственность публично правовых образований". Таких полей я нашел 4 штуки, придется искать коды всех возможных вариантов. Хуже всего с полем UnitCode. Оно отвечает за характеристику "Разрешенное использование". Очень много различных вариантов. Больше 2-х совпадений не находил, потыкав по 10 участкам. Узнаю так ли важен этот пункт, может быть можно его пропустить. Еще проблема с характеристикой "Кадастровый инженер". Запрос не выдает информации о нем. Ее можно получить только через полный запрос с jQuery и прочим. Я пока не смотрел как он формируется, но есть подозрения что просто так я его не получу. А если и получу то придется вырезать значение нужное из строки. Информация о инженере в полях ci_first, ci_patronymic и ci_surname Спрошу еще про важность этого пункта. Может быть можно пропустить.
Ее можно получить только через полный запрос с jQuery и прочим.
насчет jquery - фигня! он точно не при делах на сервере.
Сделать отдельным объектом, со своим запросом? Или не входит в задачу? Тогда все что не участок, то не работает просто?
не входит в задачу. Пока, во всяком случае...
о думаю что не поможет. Что посоветуете? Или я не так понял, и все можно?
можно-можно
для ари гуглмэпсов нужен ключ, но он бесплатный
варианты - https://developers.google.com/maps/documentation/javascript/tutorial
здесь предложение альтернативы бинга и описание как засуныть в wpf - https://blog.scottlogic.com/2012/05/02/mapping-in-wpf-silverlight-and-wp7.html
здесь самый симпатичный на первый взгляд вариант - https://www.c-sharpcorner.com/article/learn-wpf-using-google-place-api/
@wldmr-key Сел я за запрос к участку. И тут из неоткуда проблема. https://pkk5.rosreestr.ru/arcgis/rest/services/Cadastre/Cadastre/MapServer/ больше не показывает ПКК. Вдруг, ни с того ни с сего. Я не трогал этот код, проверил ссылку на сервис. Взял ее из второй ветки, там все работало. Не работает. Подставлял другую Uri, из примера api arcgis - все работает!! Порылся на сайте ППК и обнаружил, что они загружают куски карты по ссылке, где вначале написано a,b,c или d. Например: https://**a**pkk5.rosreestr.ru/arcgis/rest/services/Cadastre/Cadastre/MapServer/ По-моему, этого не было раньше. Подставлял такие ссылки - не работает. Делаю все как в примере тут. В общем 33 несчастья. Потратил больше 2 часов, результата 0. Мой код для карты. Все описано в конструкторе. Они могли резко закрыть доступ к этой функции? Ну теоретически? Все складывается так, что бы я это делал в вебе. Скачал версию из второй ветки, ПКК не отображается.
не думаю, что все произошло так внезапно - гуглеж по apkk5 + rosreestr показывает, что летом вопросы включающие такой адрес уже задавались. Не думаю, что здесь злой умысел - скорее проксирование запросов. скорее причина в другом
@wldmr-key Еще и не работает export карты из сервиса аркгиса. Вот ваша ссылка, которую вы мне кидали первый раз, еще по почте, как пример изображения с ПКК. Она не работает. А вот ссылка на export картинки, она тоже не так давно работала, а сейчас ошибка. https://pkk5.rosreestr.ru/arcgis/rest/services/Cadastre/Cadastre/MapServer - Это еще работает. Не понимаю как ПКК отображает картинки (пример) из этого сервиса, если он не доступен. а,b,c или d в начале ссылки не помогают (хоть как я понял они и не влияют). Не совсем понимаю что произошло за пару дней. То ли они сбоят, то ли доступ ограничили, или еще что-то. Ничего в блогах техподдержки и на офф сайтах arcgis и росреестра не нашел. А в техподдержку arcgis я написать не могу. Прав нет. Там или платный аккаунт нужен, или что-то с организацией делать, не особо разобрался
@wldmr-key Информация выше уже не особо важна. Получилось загрузить ПКК через https://pkk5.rosreestr.ru/arcgis/rest/services/Cadastre/CadastreWMS/MapServer Правда загрузка идет подольше, но терпимо
ок, как ты понял, бзвыходных положений не бывает :)
@wldmr-key возник вопрос. Как отображать png с выбранным участок поверх карты, что бы при этом карта оставалась активной? Я его помещаю в контейнер
1) Элемент image расположен поверх элемента карты.
2) Как только по элементу image нажимают ЛКМ, он исчезает. Событие MouseLeftButtonDown. Свойство Visibility = hidden или Collapsed (по моему, тут разницы нет).
3) Управление переходит на карту, пользователь может выбрать участок или переместить карту
4) Как только пользователь отпустил ЛКМ, появляется обновленный
Я додумался только до такого алгоритма. С реализацией проблема. Во-первых, это все происходит за один клик ЛКМ. Передать фокус и объяснить, что этот клик изначально относился к карте, и она (карта) должна перемещаться - пока не понимаю как. Плюс, пока сейчас писал, вспомнил про скролл и масштаб. С этим тоже надо что-то делать. Мб делать неактивным по нажатию ПКМ?. Как-то неудобно. Еще нашел вот такое. Не знаю поможет или нет. Не особо разобрался с TraversalRequest. Надо как-то продумать алгоритм, в голову ничего не приходит пока. Мб чего посоветуете?
Возможно, можно запихнуть png в карту, но у меня не получилось. Там есть вот такое. Через Uri не получилось.
Из позитивного. Связал координаты рабочей области с координатами карты. Получаю изображение участка в нужном масштабе и положении (вроде как, надо еще потестить, но похоже что и правда все работает). Осталось обновлять при скроллах и перемещении, но это не проблема.
Сейчас пока займусь выбором карт и атрибутами. Надо площадь участка вытащить и то, что было ключ-значение.
я бы использовал в качестве контейнера Grid (последний элемент - картинка - будет сверху). Тогда можно сделать частичное перекрытие и оставить снаружи картинки управление картой. нажатие мыши на области картинки я бы обрабатывал либо вызывая методы обработчика карты (если они доступны), либо перехватывая их на картинке и генерируя новые на карте
@wldmr-key то есть вырезать по контуру изображение участка и сопоставить с координатами? Как это можно сопоставить? Обрабатывать изображение?
нет-нет - разумеется прямоугольная картинка (или ее часть, если ты получил картинку размером больше видимой части), которая положена в грид сверху
@wldmr-key Отчёт за неделю:
1) Выбор участка работает, отображение верное, при изменении рабочей области все подстраивается 2) Выбор карт пошел не совсем по плану. Как обычно в общем, завтра на паре покажу 3) Как работать с картой и при этом отображать картинку поверх не придумал, пока. 4) РПЗ не занимался на этой неделе. Нужно как-то разделить материал на 2 РПЗ. Фишка в том, что пункты содержания практически идентичны. Если судить по методикам. Хотелось бы завтра это обсудить
Разбирал запросы с ПКК. Вот что получилось понять. Не знаю как можно воровать координаты участка. Запросы Получилось записать информацию об земельном участке из Json файла в объект. Но пока с локальной версии файла Json.