воскресенье, 19 декабря 2010 г.

Typeconvert к ArcGIS 10 теперь Opensource!

Logo


Адаптировали свое расширение Typeconvert к ArcGIS 10 и сделали его опенсорсным. 
Домашняя страница SVN проекта 
http://code.google.com/p/typeconvert/ 

Чем это ценно? 
- нормальный работающий VS 10 проект расширения 
- регистрация расширения в ArcMap 
- регистрация расширения Geoprocessing 
- создан инсталл 
- ну и собственно само расширение актуальность не потеряло 

Для чего пишу сюда? 

Приглашаю разработчиков: 
- для знакомства с кодом и методами создания расширений под ArcGIS 10 на основе реального работающего примера со всеми потрохами 
- если у вас есть методы, функции, идеи для дальнейшего развития приложения, приглашаю к сотрудничеству (VS 10, VB.Net, C# ...) в общем то любые языки из семейства VS подойдут. Пишите, включу в коммитеров. 
- если есть просто идеи развития этого расширения, тоже пишите. Там есть раздел Issues. 

Приветствуются. 
Развитие функций экспорта-преобразования-импорта (CAD, GIS, OGC, GPS, GeoPDF, Collada, XAML...). 
Использование русского языка как второго. 
Хороший перевод, подготовка документации. 

Для чего это надо вам? 
Наверное, для того же что и мне 
- есть код, который бездарно квасится, и который можно использовать в мирных целях 
- есть желание обозначить себя в качестве разработчика, просто попробовать себя в удаленной разработке 
- есть технические возможности выйти за рамки откровенно устаревшего и изживающего себя движка каталога ArcScripts. 
Я не против ArcScripts как явления, даже информацию со ссылкой туда выложил http://resources.arcgis.com/gallery/file/geoprocessing/details?entryID=F989657D-1422-2418-7F75-D603CC22C2FDпросто они как идея устаревают, сейчас время за сетецентричной командной разработкой. 

Некоторые моменты (что такое SVN, OGC ...) я намеренно не затрагиваю - поиск вам в помощь. Вряд ли многие из вас знают ВСЕ термины и сокращения, которые здесь использованы. Но если вам есть что привнести в этот проект или собственный форк - приглашаю к сотрудничеству.

среда, 3 ноября 2010 г.

Стикс и гипермаркет. Историческое картирование


Поднял свои старые материалы. Оказывается, ссылки прокисли, поэтому перевыложил.
Общий вывод - река не имеет прямого отношения к провалу под гипермаркетом.

Ссылки на новые KMZ - доступно для загрузки.
План Перми 1782
http://docs.google.com/uc?id=0B5pCRCbx33I9MGM2ZmJmYmMtMzMzZi00OTNjLThjOTYtYTRjODMzYWZhNTVj&export=download&hl=en
План Перми 1784
http://docs.google.com/uc?id=0B5pCRCbx33I9MGNhYjQxZmMtMDNjNS00NzViLWE1MTYtOTdiYjRjMDcwNDMz&export=download&hl=en
План Перми 1897
http://docs.google.com/uc?id=0B5pCRCbx33I9NDA3ZjJjMWYtYWU5OC00YzkzLWJlYzAtNzJjMjVhNmIwNGJk&export=download&hl=en
План Перми 1908
http://docs.google.com/uc?id=0B5pCRCbx33I9MjI2NTA0MjgtNDU1YS00ODE5LWI3MWYtYWEyNzg4ZmMxYmI0&export=download&hl=en
План Перми 1926
http://docs.google.com/uc?id=0B5pCRCbx33I9MDg1Y2IxMGMtMzg4Yi00OWIwLTg5ZGMtYjcyNGI3NjZlYTZi&export=download&hl=en

Список карт
http://docs.google.com/leaf?id=0B5pCRCbx33I9YzY3MmYwMzAtOGEyMy00NDc1LTk2YjMtYmU2YTkxMzljM2Jj&hl=en

пятница, 8 октября 2010 г.

Latex online editor

Удобный онлайн редактор формул.
Как результат вы получаете изображение.



При клике на изображение вы попадаете в режим редактирования.
Результаты работы сохраняются.

воскресенье, 19 сентября 2010 г.

Проверка ИНН в Google Spreadsheets

Ранее я публиковал уже пример генерации суммы прописью с помощью новых сервисов Google Spreadsheets
http://news.eastgeology.com/2010/09/google-spreadsheets.html
Теперь реализована также проверка ИНН:

Открыть таблицу https://spreadsheets.google.com/ccc?key=0AppCRCbx33I9dG1rM2lmSW56VmFVeVBmZng0dE5jcmc&hl=en
Просто скопируйте таблицу в свой аккаунт и введите =is_valid_inn(A3) со ссылкой на значение в требуемое поле
Источник кода

Copy Source | Copy HTML
  1. // Функция для проверки правильности ИНН
  2. function is_valid_inn(i)
  3. {
  4.     i += '';
  5.     if ( i.match(/\D/) ) return false;
  6.  
  7.     var inn = i.match(/(\d)/g);
  8.  
  9.     if ( inn.length == 10 )
  10.     {
  11.         return inn[9] == String(((
  12.             2*inn[ 0] + 4*inn[1] + 10*inn[2] +
  13.             3*inn[3] + 5*inn[4] + 9*inn[5] +
  14.             4*inn[6] + 6*inn[7] + 8*inn[8]
  15.         ) % 11) % 10);
  16.     }
  17.     else if ( inn.length == 12 )
  18.     {
  19.         return inn[10] == String(((
  20.              7*inn[ 0] + 2*inn[1] + 4*inn[2] +
  21.             10*inn[3] + 3*inn[4] + 5*inn[5] +
  22.              9*inn[6] + 4*inn[7] + 6*inn[8] +
  23.              8*inn[9]
  24.         ) % 11) % 10) && inn[11] == String(((
  25.             3*inn[ 0] + 7*inn[1] + 2*inn[2] +
  26.             4*inn[3] + 10*inn[4] + 3*inn[5] +
  27.             5*inn[6] + 9*inn[7] + 4*inn[8] +
  28.             6*inn[9] + 8*inn[10]
  29.         ) % 11) % 10);
  30.     }
  31.  
  32.     return false;
  33. }​

суббота, 18 сентября 2010 г.

Переезд на новый домен

Начинаем переезд на новый домен - Информ++

Все старые ссылки будут, надеюсь, работать.
Переезд связан с активизацией новой фирмы Информ++, специализирующейся на разработке приложений и системной интеграции в области геосистем.

В последующие дни сайт и блог будут адаптированы, материал обновлен, но коренных изменений не будет.

воскресенье, 12 сентября 2010 г.

Сумма прописью в Google Spreadsheets

Сервис скриптов в таблицах Google продолжает развиваться.
http://googleappsscript.blogspot.com/
В галерее становится доступным все больше полезных функций и сервисов.


Пример реализации функции


Открыть таблицу https://spreadsheets.google.com/ccc?key=0AppCRCbx33I9dG1rM2lmSW56VmFVeVBmZng0dE5jcmc&hl=en
Просто скопируйте в свой аккаунт и введите =FloatToSamplesInWordsRus(A3) со ссылкой на значение в требуемое поле
Источник кода http://www.rsdn.ru/forum/src/2899783.flat.aspx
Вы можете использовать множество готовых функций и библиотек, ну и свои разработки, разумеется.

воскресенье, 22 августа 2010 г.

Пакуем JS и CSS в png

Jacob Seidelin http://blog.nihilogic.dk/2008/05/compression-using-canvas-and-png.html опубликовал интересную идею - паковать JS код в изображения PNG и распаковывать их обратно при выполнении. При этом происходит сжатие кода, и появляется необычная возможность реализации интеллектуальных систем восстановления изображений исключительно на языке растров. Указывая пространственное положение очередного изображения-кода, мы можем формировать очень интересные структурированные по принципу нарезки (tiling) библиотеки практически неограниченного размера, высоко оптимизированные по трафику и времени доступа к конкретному участку кода.




Список его примеров выглядит весьма интересным


prototype-1.6.0.2.js
123 KB Javascript compressed to 30 KB PNG (24%)

jquery-1.2.3.min.js
53 KB Javascript compressed to 17 KB PNG (32%)

excanvas.js
24 KB Javascript compressed to 8 KB PNG (33%)

excanvas-compressed.js
10 KB Javascript compressed to 5 KB PNG (50%)

dijit.js
46 KB Javascript compressed to 16 KB PNG (35%)

понедельник, 16 августа 2010 г.

Мониторинг природных рисков. Пермский край.

Мониторинг природных рисков. Пермский край.
Подготовлено на основе сервиса http://fires.kosmosnimki.ru/



Мониторинг лесных ресурсов в США

Мониторинг лесных ресурсов в США.
Последнее время в связи с большим количеством пожаров в прессе идет обсуждение действий МЧС и властей при мониторинге и ликвидации пожаров. Из обсуждения можно сделать выводы:

  • В настоящее время в России отсутствуют собственные службы поставки данных дистанционного зондирования в реальном времени на требуемом уровне. Используются (копируются) открытые общедоступные международные сервисы - практически данные даже не адаптируются.
  • Отсутствует понимание, что сбор и анализ ДДЗ это решение комплекса вопросов (в том числе анализ системы факторов природных рисков). Налицо простое реагирование на сложившуюся ситуацию. По традиции, как только пожары прекратятся, о них забудут, и меры по созданию системы мониторинга факторов природных рисков будут просто забыты
Хотелось бы, чтобы власти извлекли максимум уроков из сложившейся ситуации, и, как хозяева, готовились к стихийным бедствиям заранее. Тем более, что для этого есть все возможности, и это малозатратный процесс.
В качестве примера приведу обзорное видео об организации мониторинга лесного хозяйства в США. Мы можем видеть, что ничего необычного не используется, просто все работает.


Наши наработки в этом направлении в 2006 году были хорошо встречены в зарубежной прессе
http://www.gearthblog.com/blog/archives/2006/11/earth_on_fire.html
http://www.gearthblog.com/blog/archives/2006/01/global_fire_dat.html
и их элементы (подходы) легли в основу современных геосервисов доступа к данным о природных рисках в США и других странах мира.

Наиболее на мой взгляд удачный из российских сервисов - http://blog.kosmosnimki.ru/

Добровольный штаб по борьбе с пожарами
http://community.livejournal.com/pozar_ru/

понедельник, 2 августа 2010 г.

Неогеография. Новый новостной ресурс.

Евгений Еремченко и группа Неогеография запустили новый новостной ресурс
http://neogeography.ru
Сайт начал работать с мая 2010 года, и сейчас мы можем видеть хорошую подборку новостей, связанных с неогео.
Вы можете подписаться на новости Неогеографии с помощью RSS канала.

пятница, 11 июня 2010 г.

Silverlight в действии. Первые опыты.

Собираем Blend 4, Visual Studio 2010 и ESRI ArcGIS Web Mapping в одну работающую систему.

Для отображения карт необходима установка SilverLight 4. По клику правой кнопкой мышки на карту, мы можем установить ее как локальное приложение. После установки при повторном клике правой кнопкой, мы можем удалить приложение.

воскресенье, 6 июня 2010 г.

суббота, 29 мая 2010 г.

Данные и метаданные. Размышления.

Это просто непричесанные размышления, предназначенные в настоящее время в основном для обсуждения.

В последние 3-4 года система геоинформации медленно, но верно меняет свою структуру.
Что же происходит?

Роль первичных все больше начинают играть данные, основанные на технологиях дополнительной реальности - дистанционном зондировании и фотоматериалах. Чуть задерживаются, но также начинают собираться в систему радарные, лидарные данные и результаты съемки в диапазонах, отличных от видимых. Эта информация, не имеющая лингвистической природы, априорно одинаково воспринимается людьми независимо от языка.

Векторные данные, до недавнего времени игравшие роль основных носителей информации, становятся метаданными. Роль векторных данных - создать систему пояснений к базовым растрам. На этом уровне возникают объекты и названия, топологии, значения, условные обозначения, их характеризующие. Данные приобретают субъективный тематический характер, зависящий от языка, знания условных обозначений. Данные о границах и им подобные также являются метаданными, описывающими тот или иной объект. Вообще в итоге получаем картину, полностью согласующуюся с Кантовскими представлениями о пространстве (априорной данности, вне которой сознание не может существовать) и объекте (вещью в себе, любая информация о которой является внешней и описательной - метаданными).

Классические метаданные, традиционно выполняющие роль описания геоинформации, в скором времени интегрируются в векторные данные. Стандарты передачи данных, основанные на XML или JSON, хорошо поддерживают такую интеграцию. Интеграция всей метаинформации обеспечит сохранение и своевременную модификацию описательной информации при модификации данных, к которым она относится.
Кроме этого, такие характеристики новых стандартных форматов как сериализуемость (AJAX), наличие языков описания структуры (XSD), запросов (XPath), преобразований (XSLT) и средств реализации во всех современных языках, по мере переноса работы с геоинформацией в интернет, станут решающими преимуществами.

Отдельной категорией информации являются результаты съемки с помощью GPS. Данные являются векторными и становятся объектами (метаданными) в тот момент, когда мы даем им описание или связываем с другими данными. Вопрос классификации этой категории данных на мой взгляд остается открытым.

пятница, 23 апреля 2010 г.

Скрипты в Google spreadsheets



Недавно стал доступен сервис скриптов в таблицах Google для персональных аккаунтов (gmail).
http://googledocs.blogspot.com/2010/03/apps-script-gallery-for-google.html
Краткое описание
http://www.google.com/google-d-s/scripts/scripts.html
Кроме этого, непосредственно из таблиц стал доступен сервис публикации скриптов в галерею.

Теперь мы можем создавать скрипты для Google Spreadsheets, загружать готовые, публиковать, обмениваться с другими пользователями.
Скрипты имеют богатый набор возможностей. Мы можем использовать всё управление, доступное в сервисах Google.
http://www.google.com/google-d-s/scripts/overview.html

Результатом работы скрипта, например, могут быть:
  • новая функция, отсутствующая в стандартном наборе;
  • значение, возвращаемое веб сервисом, в том числе, SOAP, WSDL и другие;
  • управление другими сервисами, например, сайтом, календарем, почтовой рассылкой;
  • автоматическое заполнение таблиц (непосредственное управление нашими spreadsheets);
  • создание пользовательских интерфейсов (custom spreadsheets UI).

Примеры применения скриптов в неогеографии

Расчет расстояния между точками по большой дуге
Copy Source | Copy HTML
  1. function GCD1(lat1, lon1, lat2, lon2) {
  2. // Return Great Circle Distance between points calculation
  3. function radians(a) {
  4. var outNum =Math.PI*a/180;
  5. return outNum;
  6. }
  7. var R = 6372.795;
  8. var d1=Math.sin(radians(lat1))*Math.sin(radians(lat2))+Math.cos(radians(lat1))*Math.cos(radians(lat2))*Math.cos(radians(lon2)-radians(lon1));
  9. var d2=Math.cos(radians(lat2))*Math.sin(radians(lon2)-radians(lon1));
  10. var d3=Math.cos(radians(lat1))*Math.sin(radians(lat2))-Math.sin(radians(lat1))*Math.cos(radians(lat2))*Math.cos(radians(lon2)-radians(lon1));
  11. var len=R*Math.atan2(Math.sqrt(d2*d2+d3*d3),d1);
  12. return len;
  13. }​

Прямое геокодирование
Вернуть KML по названию
Copy Source | Copy HTML
  1. function getKML(placeName) {
  2. // Return KML by placename
  3. if (placeName == "") {
  4. return "You have to write the name the place"
  5. }
  6. var url = "http://maps.google.com/maps/geo?q="+ placeName+"&output=kml";
  7. var response = UrlFetchApp.fetch(url);
  8. var str = response.getContentText();
  9. return str;
  10. }

Вернуть координаты по названию
  1. function getLngLat(placeName) {
  2. // Return LngLatitude by placename
  3. if (placeName == "") {
  4. return "You have to write the name the place"
  5. }
  6. var url = "http://maps.google.com/maps/geo?q="+ placeName+"&output=json";
  7. var response = UrlFetchApp.fetch(url);
  8. var str=eval('(' + response.getContentText() + ')').Placemark[ 0].Point.coordinates;
  9. return str;
  10. }
Вернуть долготу по названию
  1. function getLng(placeName) {
  2. // Return Longitude by placename
  3. if (placeName == "") {
  4. return "You have to write the name the place"
  5. }
  6. var url = "http://maps.google.com/maps/geo?q="+ placeName+"&output=json";
  7. var response = UrlFetchApp.fetch(url);
  8. var str=eval('(' + response.getContentText() + ')').Placemark[ 0].Point.coordinates[ 0];
  9. return str;
  10. }
Вернуть широту по названию
  1. function getLat(placeName) {
  2. // Return Latitude by placename
  3. if (placeName == "") {
  4. return "You have to write the name the place"
  5. }
  6. var url = "http://maps.google.com/maps/geo?q="+ placeName+"&output=json";
  7. var response = UrlFetchApp.fetch(url);
  8. var str=eval('(' + response.getContentText() + ')').Placemark[ 0].Point.coordinates[1];
  9. return str;
  10. }
Обратное геокодирование

Вернуть адрес по координатам
  1. function getAddress(placeCoord) {
  2. // Return Address by placeCoord (reverse geocoding) placeCoord=lat,lng
  3. if (placeCoord == "") {
  4. return "You have to write the name the place"
  5. }
  6. var url = "http://maps.google.com/maps/geo?q="+ placeCoord+"&output=json";
  7. var response = UrlFetchApp.fetch(url);
  8. var str=eval('(' + response.getContentText() + ')').Placemark[ 0].address;
  9. return str;
  10. }

Пример таблицы расчетов с применением этих скриптов

вторник, 9 марта 2010 г.

QR коды

Графические сервисы Google позволяют быстро создавать QR коды для любого типа информации.

Несколько примеров:
Мои координаты
Мой email


Номер телефона


Контактная информация

пятница, 26 февраля 2010 г.

OLAP. Статистика и анализ.

Росстат перешел на новый сервис предоставления статистических данных, основанный на технологиях OLAP. К достоинствам системы можно отнести возможность использовать ее компоненты как внедренные активные элементы сайтов (виджеты).

Также имеется возможность поддержки стандарта Opensocial и внедрение в качестве гаджета, например, на страницы сайтов.







суббота, 20 февраля 2010 г.

Административное деление. Пример карты.

Востокгеология: Административное деление. Глобус.
На основе списка файлов KML мы можем создать внедренную карту для любого элемента.
Пример - административное деление Замбии

Просмотреть увеличенную карту

Йемен

Просмотреть увеличенную карту

Административное деление. Глобус.





На основе данных, доступных в интернете, и из личной коллекции создал атлас административного деления стран мира (административный глобус).

Атлас включает в себя два уровня:

Уровень 1
Открыть список стран

Уровень 2
Открыть список стран

Все данные доступны для загрузки в формате KML.

Один из источников (основной)
http://www.gadm.org/

воскресенье, 14 февраля 2010 г.

Олимпийские игры в GMaps


Открыть во весь экран

Links: KML2KML в международной прессе. Google Buzz

Автор популярного блога Gearthblog Frank Taylor высоко оценил новый интерфейс KML2KML
KML2KML 3.0.0 -- We first mentioned the KML2KML tool a while back after they released version 2.1. They've now released version 3 with a number of solid enhancements. If you have to do any complex KML tasks (regioning, splitting files, etc), this is a very useful tool.



Новый сервис Google Buzz мгновенно завоевал популярность. По сути, сервис с программной точки зрения не представляет ничего нового - это Google Wave, встроенный в GMail. Связи между пользователями первоначально устанавливаются на основе GMail contacts, в дальнейшем правила обмена новостями развиваются между участниками сети на основе системы последователей, по аналогии с Twitter. Каждый участник сети может настроить свои источники информации для автоматической передачи сообщений в Buzz. Кроме этого, можно отправлять сообщения, комментировать, давать оценку публикаций непосредственно в Buzz. По первому впечатлению, Buzz возьмет на себя в первую очередь функции обсуждения и формирования социальных групп в процессе знакомства участников обсуждений.
Легкость настройки и последующей агрегации потоков данных впечатляет. Все ранее созданные социальные тематические группы постепенно начинают проявляться в комментариях.

Мой профиль в Google включил в себя 20 источников данных - даже не ожидал, что их окажется так много.

вторник, 9 февраля 2010 г.

KML2KML получил геоцентрический интерфейс

Вслед за выходом KML2KML ver 3 было приятно видеть положительные отклики в прессе.


http://cnews.ru/

Неогеография: KML2KML получил геоцентрический интерфейс

Российская компания "ВостокГеология" (г. Пермь) представила очередной (версия 3.0.0) релиз популярного программного продукта, предназначенного для работы с данными в неогеографическом формате KML (Keyhole Markup Language) - именно этот формат используется в геоинтерфейсах Google Earth, Erdas Apollo, и других и является официальным международным промышленным стандартом.

Программы и программные комплексы класса KML2KML получают всё более широкое распространение, поскольку дают возможность решать…
полный текст

Источник: CNews

понедельник, 8 февраля 2010 г.

Topology of stellar points

Topology of stellar points
Applications in geography.
The primary level of the class of topologies in KML - stellar point.






The sequence of levels of investment is small - only three levels (stack maybe).
It describes the entire topology, creating a consistent geometric model means KML.

Structure of topological KML:
<stellar>
     <point>
     </point>
     <stellar>
          <point>
          </point>
     </stellar>
</stellar>

Топология звездных точек. Модель в процессе создания.

Топология звездных точек 
Применение в географии.

Задача: в терминах XML сформулировать топологические зависимости между объектами.
Построить топологически корректное описание на основе тегов.

Первичный уровень класса топологий в KML - звездные точки.






Последовательность уровней вложения невелика - всего три уровня.
Это целиком описывает топологию, создавая непротиворечивые геометрические модели средствами KML.

Структура топологического KML
<stellar>
     <point>
     </point>
     <stellar>
          <point>
          </point>
     </stellar>
</stellar>

Что мы имеем? Структурированную последовательность точек.
Они описывают дуги и узлы.
<Line = 1>
stellar start
points
stellar end
<Line>

Polygon
Line1
-Line2
Этот этап требует имен, зависящих от количества элементов геометрии. Необходимы формулировки для конечного количества линий.

воскресенье, 7 февраля 2010 г.

Геостатистика

Google развернули новый аналитический сервис Google Fusion
Назначение - это сводная таблица, позволяющая соединяться или импортировать данные в различных форматах электронных таблиц или табличных файлов
Types of files that you can upload:
Comma-separated files (.csv) - Up to 100 MB
Microsoft Excel files (.xls, .xlsx) - Up to 1 MB
OpenDocument Spreadsheet (.ods) - Up to 1 MB
Keyhole Markup Language (.kml) - Up to 100 MB


Пример - смертность по странам мира.
Внедренная таблица

Тематическая карта


Google Earth (GE)
Загрузить KML

Простые, но продуманные функции визуализации и работы с данными, обеспечение совместной работы, коммуникации и многие другие дают возможность активно использовать этот ресурс для ведения статистических ресурсов.
Существует возможность создавать на основе сводных таблиц собственные веб компоненты.

среда, 3 февраля 2010 г.

Мастер-план Перми в Google Earth

По материалам официального сайта "Генплан г.Перми"http://www.permgenplan.ru



Понравился сайт, посвященный генплану г.Перми. Особенно карты развития города.
Добавил к ним привязку, и получилась интересная и красивая картина развития города.
Результаты вы можете загрузить и открыть в GE

KML включает в себя следующие растры:
  • Карта структуры города
  • Карта территорий общего пользования
  • Карта ключевых проектов
  • Карта зонирования и землепользования
  • Карта высотного строительства
  • Карта красных и зеленых зон

  • Карта потенциальных территорий развития

вторник, 26 января 2010 г.

Геологическая пространственная модель поверхности шахтного ствола

Геологическая пространственная модель поверхности шахтного ствола, построенная на основе зарисовок.
Создана при помощи нового инструмента KML2KML Vertical mapper.


Смотрите также на сайте
Открыть в Google Earth
main shaft surface.kmz