Практика показа двух и более карт как одна

0 голосов
спросил 22 Сен, 09 от ppa80 (920 баллов) в категории Программные продукты Esri
К примеру - есть карта России, Московской области и Москвы. Какие практики существуют для того, чтобы на сервере, прозрачно для пользователя, эти карты отображались как одна карта? По функциональности это примерно как яндекс.мэпс или гугл мэпс. Например масштабируешся до России - одна карта, приближаешься к Москве - включается другая карта.
Конечно один из путей это просто объединение карт в одном проекте, но можно ли как-то без этого сделать? Я не имею ввиду фреймворк который предоставляет ESRI (хотя используется ArcObjects), я имею ввиду алгоритмы или советы, так сказать общепринятые практики.
Мне примерно понятно как это сделано в гугле или яндексе - там возможно их объединили, а потом просто картинки закэшировали. Вобщем при кэше подготовка карты может хоть вручную делаться, но в нашем случае предполагается активное изменение карты во время работы и кэш в привычном виде не совсем подходит, соответственно должны быть другие алгоритмы.

4 Ответы

0 голосов
ответил 22 Сен, 09 от TDenis (42,620 баллов)
Создаёте документ ArcMap, в нём для каждого из слоёв указывается диапазон масштабов для отображения. Можно подключить один и тот же слой несколько раз, с разными диапазонами масштабов и легендами. Затем опубликовываете.
В чем сложность? Я чего-то не понял?
0 голосов
ответил 22 Сен, 09 от ppa80 (920 баллов)
Ну да, такой подход скорее всего наиболее распространён. Но нельзя ли как-то, чтобы разные карты были разнесены в разные проекты. Всё-таки поставщики карт могут быть разные, структуры карт разные - проще осуществлять поддержку карт когда они в независимом проекте. Возможно это неоправданные страхи, но интуиция и опыт подсказывают, что более правильно бы было их держать в разных проектах.
0 голосов
ответил 22 Сен, 09 от TDenis (42,620 баллов)
Конечно можно. Можно опубликовать несколько mxd файлов, или другими словами - создать несколько сервисов. И подключить эти несколько сервисов к одному проекту. Т.е. сервисы являются источниками данных, и какие из них вы подключите в каком-то конкретном приложении - неважно. В приложении вы можете подключить один или несколько сервисов (причем даже в процессе выполнения, а не заранее), делать их видимыми/невидимыми/полупрозрачными, несколько разных приложений могут использовать одни и те же сервисы.
К примеру:
http://resources.esri.com/help/9.3/arcgisserver/apis/silverlight/samples/start.htm#DynamicAndTile
Здесь один сервис является подложкой, он кэширован, а второй сервис часто меняется, поэтому он подключен как динамический. А отображаются оба одновременно, накладываясь друг на друга.
Таким образом, можно сделать отдельный сервис для подложки, сделать кучу разных сервисов для различных сетей (дорожная сеть, всякие там газопроводы и канализации и т.п.) и затем создавать различные карты, просто комбинируя эти сервисы.
0 голосов
ответил 22 Сен, 09 от ppa80 (920 баллов)
Большое спасибо, я изучу такой способ
Добро пожаловать на сайт Вопросов и Ответов, где вы можете задавать вопросы по GIS тематике и получать ответы от других членов сообщества.
...