Необходимо использовать/: переключатель компилятора при компиляции друга блок (блок, который не содержит атрибут InternalsVisibleTo).
компилятор должен знать название блока, скомпилированного, чтобы определить, нужно ли получающийся блок считать другом блоком.
Да, все службы, о которых вы упоминаете, наряду со многими другими в мире картографирования ГИС с открытым исходным кодом, имеют один и тот же де-факто "стандарт плиток z/x/y.png". Нумерация плиток, уровни масштабирования, масштабы и т.д. у всех этих провайдеров одинаковы.
"стандарт" не является официальным, но OCG формализует детали под аббревиатурой "TMS", к сожалению, несовместимым способом с тем, что есть на практике (различное происхождение нумерации плиток. Gah!)
Вики OpenStreetMap имеет лучшее описание схемы нумерации . Вы можете отобразить такие плитки в OpenLayers , используя слои XYZ или OSM. Обратите внимание, что проекция для всех этих слоев - "Сферический Меркатор", также известный как EPSG:900913 или EPSG:3857.
Я управляю серверами OpenCycleMap, и был техническим руководителем CloudMade, когда мы выбрали эту схему. Оба были выбраны идентично OpenStreetMap, который в свою очередь был основан на схеме, которую в то время использовал Google.
Возможно, вас заинтересует стандарт Open Geospatial Consortium Web Map Service (WMS) . Это стандартный протокол для обслуживания изображений карт с географической привязкой через Интернет.
Потребители картографических веб-сервисов могут « объединять » множество различных слоев от разных поставщиков для создания своих собственных приложений.
Нет точных стандартов в отношении размеров плитки, уровней масштабирования и т. Д., Поскольку они легко настраиваются.
Существуют технические стандарты в отношении форматов файлов, баз данных и веб-сервисов. Некоторые форматы файлов ESRI (например, Shapefiles ) де-факто являются стандартами как к лучшему, так и к худшему. Другие являются открытыми стандартами из OGC , но не ожидайте увидеть все эти открытые форматы в коммерческих продуктах (т. Е. Даже широко распространенный формат KML не на 100% поддерживается продуктами ESRI).
Есть два соответствующие стандарты OGC в отношении мозаики карты. Служба листов веб-карт (WMTS) в настоящее время находится в стандартной форме кандидата и предлагает расширение WMS для добавления кэшированной / мозаичной версии.
Таким образом, краткий ответ - «нет» , официального стандарта пока нет.
Три основных производителя стандартизировали де-факто стандарт для схем листов. Описание схемы можно найти здесь , среди других мест.
Из того, что я знаю о перечисленных вами поставщиках карт, у каждого из них есть собственная схема ... хотя я не знаю, как конечно. Вероятно, вам придется проверять схему листов каждого отдельного поставщика.
Я также очень новичок в программировании ГИС, но кажется, что ГИС сильно стандартизирована. От уровня хранения (WKT, WKB) до уровня сервера (WMS, WFS, SLD ..). Попробуйте найти их в Википедии (думаю, я не могу разместить столько ссылок с моей репутацией?).
Мы начали разработку, используя следующий стек с открытым исходным кодом: PostGIS, GeoServer, OpenLayers, и пока что мы довольны своим решением , все красиво сочетается,
На самом деле это не относится к стандартам, но я подумал, что стоит отметить, что первые три, о которых вы упомянули, OpenStreetMap, CloudMadeMap и OpenCycleMap, являются связанными проектами.
OpenStreetMap - это проект по сбору открытых картографических данных, OpenCycleMap - это реализация, которая использует эти данные для создания карты, адаптированной для велосипедистов, а Cloudmade - это коммерческая компания, основанная рядом людей, которые основали OpenStreetMap проект, и они тоже используют его данные.
Когда я хотел добавить данные OpenStreetMap на свой веб-сайт, я в конечном итоге использовал (на данный момент, бесплатный) службу обслуживания плиток , предлагаемую Cloudmade. Это избавило меня от необходимости беспокоиться о создании плиток или обслуживании их самостоятельно. У меня был хороший опыт с этим.