<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Блоггинг, разработка и продвижение сайтов &#187; Геолокация</title>
	<atom:link href="http://grigorkin.ru/category/geolokaciya/feed/" rel="self" type="application/rss+xml" />
	<link>http://grigorkin.ru</link>
	<description>Блог Григорькина, записи о программировании, саморазвитии, бизнесе, IT, интернете, стартапах и блоггинге.</description>
	<lastBuildDate>Fri, 20 Aug 2010 18:01:41 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Встречаемся ВТолпе!</title>
		<link>http://grigorkin.ru/2010/08/vstrechaemsya-vtolpe/</link>
		<comments>http://grigorkin.ru/2010/08/vstrechaemsya-vtolpe/#comments</comments>
		<pubDate>Mon, 09 Aug 2010 16:33:40 +0000</pubDate>
		<dc:creator>alexypnz</dc:creator>
				<category><![CDATA[Геолокация]]></category>
		<category><![CDATA[Проекты]]></category>
		<category><![CDATA[Стартапы]]></category>
		<category><![CDATA[vtolpe]]></category>
		<category><![CDATA[геосервис]]></category>

		<guid isPermaLink="false">http://grigorkin.ru/?p=1138</guid>
		<description><![CDATA[
			
				
			
		
В октябре 2009 года я писал об интересном стартапе, запущенном на просторах рунета. В конце 2009 года ВТолпе позиционировался как сервис для знакомства с использованием технологии BlueTooth на мобильном телефоне. Идея была оценена не только многочисленными наградами и почтениями в широких кругах разработчиков социальных сервисов, но и самими пользователями. 2009 год был прорывным в судьбе [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fgrigorkin.ru%2F2010%2F08%2Fvstrechaemsya-vtolpe%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fgrigorkin.ru%2F2010%2F08%2Fvstrechaemsya-vtolpe%2F&amp;source=grigorkin&amp;style=normal&amp;service=bit.ly&amp;service_api=R_afb3f311e34d0f5d967124d9942b29a3" height="61" width="50" /><br />
			</a>
		</div>
<p><a href="http://grigorkin.ru/wp-content/uploads/vtolpe_logo.gif"><img class="size-full wp-image-1142 alignleft" title="vtolpe_logo" src="http://grigorkin.ru/wp-content/uploads/vtolpe_logo.gif" alt="" width="177" height="43" /></a>В октябре 2009 года я писал об интересном <a href="http://grigorkin.ru/2009/10/vtolpe-vstrechajsya-realno-obshhajsya-virtualno/">стартапе</a>, запущенном на просторах рунета. В конце 2009 года <strong><a href="http://vtolpe.ru/">ВТолпе</a> </strong>позиционировался как сервис для знакомства с использованием технологии <strong>BlueTooth</strong> на мобильном телефоне. Идея была оценена не только многочисленными наградами и почтениями в широких кругах разработчиков социальных сервисов, но и самими пользователями. 2009 год был прорывным в судьбе этого проекта. Многочисленные восторженные отзывы и толпы молодых людей на улицах родного города основателей сервиса говорили об одном &#8211; сервис нравится пользователям. Но, нравиться пользователям и быть массовым  &#8211; не одно и то же. Сложная для понимания простыми пользователями система с BlueTooth добавила ложку дёгтя в бочку мёда ВТолпе&#8230;<span id="more-1138"></span></p>
<p>Разработчики учли свои ошибки и пожелания  пользователей и выпустили совершенно новую версию ВТолпе. Только для iPhone 3G и выше. Почему именно для iPhone 3G? -  Думаю, наличие GPS в этом устройстве сыграло ключевую роль в выборе данной платформы. Разработчикам сервиса нужно отдать должное: при модернизации изменилось всё, кроме идеи.</p>
<p style="text-align: left;">Приложение получилось максимально лёгким и простым. Если пользователь зарегистрирован ВКонтакте или Facebook, а таких большинство, то, считайте, что он зарегистрирован и ВТолпе.</p>
<p style="text-align: center;"><em>Авторизация происходит с помощью одной из этих социальных сетей.</em></p>
<p style="text-align: center;"><a href="http://grigorkin.ru/wp-content/uploads/vtolpe1.jpg"><img class="size-medium wp-image-1149  aligncenter" title="vtolpe1" src="http://grigorkin.ru/wp-content/uploads/vtolpe1-200x300.jpg" alt="" width="200" height="300" /></a><em> </em></p>
<p style="text-align: center;"><em>Узнать список людей, находящихся рядом можно выбрав необходимый радиус</em>.</p>
<p style="text-align: center;"><a href="http://grigorkin.ru/wp-content/uploads/vtolpe2.jpg"><img class="size-full wp-image-1151      aligncenter" title="vtolpe2" src="http://grigorkin.ru/wp-content/uploads/vtolpe2.jpg" alt="" width="200" height="301" /></a><em></em></p>
<p style="text-align: center;"><em>Встроенный ВКонтакте и Facebook-интерфейс позволяет не переключаясь в браузер общаться с людьми, находящимися рядом с вами.</em></p>
<p style="text-align: center;"><a href="http://grigorkin.ru/wp-content/uploads/vtolpe4.jpg"><img class="aligncenter size-medium wp-image-1153" title="vtolpe4" src="http://grigorkin.ru/wp-content/uploads/vtolpe4-200x300.jpg" alt="" width="200" height="300" /></a></p>
<p style="text-align: left;">С помощью приложения можно:</p>
<ul>
<li>узнать, кто находится рядом с вами;</li>
<li>увидеть анкету встреченного человека и при желании познакомиться с ним;</li>
<li>узнать расстояние до своих друзей, если он зарегистрированы ВТолпе.</li>
</ul>
<p>В заключение скажу, что приложение сделано в стиле <a href="http://flysoft.ru">Flysoft</a>: качественно и идейно. Спустя неделю после запуска проекта в интернете прокатилась волна обсуждений этого сервиса. Судя по отзывам, приложение пришлось по душе активной части российской аудитории AppStore. Работа многих компаний в области геосоциальных сервисов <span style="text-decoration: line-through;">говорит</span> кричит об одном &#8211; будущее интернета за сервисами, которые будут широко использовать геоположение конкретного человека для решения им каких либо задач.</p>
<p>Приложение совершенно бесплатно и доступно к скачиванию из <a href="http://itunes.apple.com/us/app/id382250941">iTunes</a>.</p>
<p><a href="http://twipic.me/">Twipic</a> &#8211; удобный фотохостинг с трансляцией в Твиттер-ленту.</p>
]]></content:encoded>
			<wfw:commentRss>http://grigorkin.ru/2010/08/vstrechaemsya-vtolpe/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Вычисление расстояния между двумя геокоординатами на PHP</title>
		<link>http://grigorkin.ru/2010/03/vychislenie-rasstoyanie-mezhdu-dvumya-geokoordinatami-na-ph/</link>
		<comments>http://grigorkin.ru/2010/03/vychislenie-rasstoyanie-mezhdu-dvumya-geokoordinatami-na-ph/#comments</comments>
		<pubDate>Tue, 09 Mar 2010 09:31:40 +0000</pubDate>
		<dc:creator>alexypnz</dc:creator>
				<category><![CDATA[Геолокация]]></category>
		<category><![CDATA[Программирование]]></category>
		<category><![CDATA[долгота]]></category>
		<category><![CDATA[расстояние]]></category>
		<category><![CDATA[широта]]></category>

		<guid isPermaLink="false">http://grigorkin.ru/?p=698</guid>
		<description><![CDATA[
			
				
			
		
Как определить прямолинейное расстояние(без учета дорог и перепадов высот) между двумя геокоординатами? Очень просто, функция, реализованная на PHP приводится ниже.
Передаем в функцию пару координат, она нам возвращает дистанцию между точками в метрах.

function calcDistance&#40;$lat1, $lon1, $lat2, $lon2&#41;
&#123;
   if &#40;$lat1 == $lat2 &#38;amp;&#38;amp; $lon1 == $lon2&#41; &#123;
      return 1;
  [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fgrigorkin.ru%2F2010%2F03%2Fvychislenie-rasstoyanie-mezhdu-dvumya-geokoordinatami-na-ph%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fgrigorkin.ru%2F2010%2F03%2Fvychislenie-rasstoyanie-mezhdu-dvumya-geokoordinatami-na-ph%2F&amp;source=grigorkin&amp;style=normal&amp;service=bit.ly&amp;service_api=R_afb3f311e34d0f5d967124d9942b29a3" height="61" width="50" /><br />
			</a>
		</div>
<p><a href="http://grigorkin.ru/wp-content/uploads/globus2.png"><img class="size-medium wp-image-717 alignleft" style="border: 0pt none; margin: 10px;" title="globus" src="http://grigorkin.ru/wp-content/uploads/globus2-300x182.png" alt="" width="300" height="182" /></a><strong>Как определить прямолинейное расстояние(без учета дорог и перепадов высот) между двумя геокоординатами?</strong> Очень просто, функция, реализованная на PHP приводится ниже.</p>
<p>Передаем в функцию пару координат, она нам возвращает дистанцию между точками в метрах.<span id="more-698"></span></p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> calcDistance<span style="color: #009900;">&#40;</span><span style="color: #000088;">$lat1</span><span style="color: #339933;">,</span> <span style="color: #000088;">$lon1</span><span style="color: #339933;">,</span> <span style="color: #000088;">$lat2</span><span style="color: #339933;">,</span> <span style="color: #000088;">$lon2</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
   <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$lat1</span> <span style="color: #339933;">==</span> <span style="color: #000088;">$lat2</span> <span style="color: #339933;">&amp;</span>amp<span style="color: #339933;">;&amp;</span>amp<span style="color: #339933;">;</span> <span style="color: #000088;">$lon1</span> <span style="color: #339933;">==</span> <span style="color: #000088;">$lon2</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
      <span style="color: #b1b100;">return</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span>
   <span style="color: #009900;">&#125;</span>
&nbsp;
   <span style="color: #666666; font-style: italic;">// Параметры эллипсоида:</span>
   <span style="color: #000088;">$a</span> <span style="color: #339933;">=</span> <span style="color:#800080;">6378245.0</span><span style="color: #339933;">;</span>
   <span style="color: #000088;">$f</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">1</span> <span style="color: #339933;">/</span> <span style="color:#800080;">298.3</span><span style="color: #339933;">;</span>
   <span style="color: #000088;">$b</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span> <span style="color: #339933;">-</span> <span style="color: #000088;">$f</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> <span style="color: #000088;">$a</span><span style="color: #339933;">;</span>
   <span style="color: #000088;">$EPS</span> <span style="color: #339933;">=</span> <span style="color:#800080;">0.5E-30</span><span style="color: #339933;">;</span>
   <span style="color: #000088;">$PI</span> <span style="color: #339933;">=</span> M_PI<span style="color: #339933;">;</span>
&nbsp;
   <span style="color: #666666; font-style: italic;">//Пересчет значений координат в радианы</span>
   <span style="color: #000088;">$lon1</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$lon1</span> <span style="color: #339933;">*</span> <span style="color: #000088;">$PI</span> <span style="color: #339933;">/</span> <span style="color: #cc66cc;">180</span><span style="color: #339933;">;</span>
   <span style="color: #000088;">$lat1</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$lat1</span> <span style="color: #339933;">*</span> <span style="color: #000088;">$PI</span> <span style="color: #339933;">/</span> <span style="color: #cc66cc;">180</span><span style="color: #339933;">;</span>
   <span style="color: #000088;">$lon2</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$lon2</span> <span style="color: #339933;">*</span> <span style="color: #000088;">$PI</span> <span style="color: #339933;">/</span> <span style="color: #cc66cc;">180</span><span style="color: #339933;">;</span>
   <span style="color: #000088;">$lat2</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$lat2</span> <span style="color: #339933;">*</span> <span style="color: #000088;">$PI</span> <span style="color: #339933;">/</span> <span style="color: #cc66cc;">180</span><span style="color: #339933;">;</span>
&nbsp;
   <span style="color: #000088;">$TanU1</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span> <span style="color: #339933;">-</span> <span style="color: #000088;">$f</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> <span style="color: #990000;">tan</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$lat1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #000088;">$TanU2</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span> <span style="color: #339933;">-</span> <span style="color: #000088;">$f</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> <span style="color: #990000;">tan</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$lat2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #000088;">$U1</span> <span style="color: #339933;">=</span> <span style="color: #990000;">atan</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$TanU1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #000088;">$U2</span> <span style="color: #339933;">=</span> <span style="color: #990000;">atan</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$TanU2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
   <span style="color: #000088;">$SinU1</span> <span style="color: #339933;">=</span> <span style="color: #990000;">sin</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$U1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #000088;">$CosU1</span> <span style="color: #339933;">=</span> <span style="color: #990000;">cos</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$U1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #000088;">$SinU2</span> <span style="color: #339933;">=</span> <span style="color: #990000;">sin</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$U2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #000088;">$CosU2</span> <span style="color: #339933;">=</span> <span style="color: #990000;">cos</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$U2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
   <span style="color: #000088;">$OMEGA</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$lon2</span> <span style="color: #339933;">-</span> <span style="color: #000088;">$lon1</span><span style="color: #339933;">;</span>
   <span style="color: #000088;">$lambda</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$OMEGA</span><span style="color: #339933;">;</span>
&nbsp;
   <span style="color: #b1b100;">do</span> <span style="color: #666666; font-style: italic;">//Начало цикла итерации</span>
   <span style="color: #009900;">&#123;</span>
      <span style="color: #000088;">$LambdaPrev</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$lambda</span><span style="color: #339933;">;</span>
      <span style="color: #000088;">$SinL</span> <span style="color: #339933;">=</span> <span style="color: #990000;">sin</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$lambda</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #000088;">$CosL</span> <span style="color: #339933;">=</span> <span style="color: #990000;">cos</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$lambda</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
      <span style="color: #000088;">$SinSQSigma</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$CosU2</span> <span style="color: #339933;">*</span> <span style="color: #000088;">$SinL</span> <span style="color: #339933;">*</span> <span style="color: #000088;">$CosU2</span> <span style="color: #339933;">*</span> <span style="color: #000088;">$SinL</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span>
                    <span style="color: #009900;">&#40;</span><span style="color: #000088;">$CosU1</span> <span style="color: #339933;">*</span> <span style="color: #000088;">$SinU2</span> <span style="color: #339933;">-</span> <span style="color: #000088;">$SinU1</span> <span style="color: #339933;">*</span> <span style="color: #000088;">$CosU2</span> <span style="color: #339933;">*</span> <span style="color: #000088;">$CosL</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span>
                    <span style="color: #009900;">&#40;</span><span style="color: #000088;">$CosU1</span> <span style="color: #339933;">*</span> <span style="color: #000088;">$SinU2</span> <span style="color: #339933;">-</span> <span style="color: #000088;">$SinU1</span> <span style="color: #339933;">*</span> <span style="color: #000088;">$CosU2</span> <span style="color: #339933;">*</span> <span style="color: #000088;">$CosL</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
      <span style="color: #000088;">$CosSigma</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$SinU1</span> <span style="color: #339933;">*</span> <span style="color: #000088;">$SinU2</span> <span style="color: #339933;">+</span> <span style="color: #000088;">$CosU1</span> <span style="color: #339933;">*</span> <span style="color: #000088;">$CosU2</span> <span style="color: #339933;">*</span> <span style="color: #000088;">$CosL</span><span style="color: #339933;">;</span>
&nbsp;
      <span style="color: #000088;">$TanSigma</span> <span style="color: #339933;">=</span> <span style="color: #990000;">sqrt</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$SinSQSigma</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">/</span> <span style="color: #000088;">$CosSigma</span><span style="color: #339933;">;</span>
      <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$TanSigma</span> <span style="color: #339933;">&amp;</span>gt<span style="color: #339933;">;</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
         <span style="color: #000088;">$Sigma</span> <span style="color: #339933;">=</span> <span style="color: #990000;">atan</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$TanSigma</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
         <span style="color: #000088;">$Sigma</span> <span style="color: #339933;">=</span> <span style="color: #990000;">atan</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$TanSigma</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #000088;">$PI</span><span style="color: #339933;">;</span>
      <span style="color: #009900;">&#125;</span>
&nbsp;
      <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$SinSQSigma</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
         <span style="color: #000088;">$SinAlpha</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
      <span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
         <span style="color: #000088;">$SinAlpha</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$CosU1</span> <span style="color: #339933;">*</span> <span style="color: #000088;">$CosU2</span> <span style="color: #339933;">*</span> <span style="color: #000088;">$SinL</span> <span style="color: #339933;">/</span> <span style="color: #990000;">sqrt</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$SinSQSigma</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #009900;">&#125;</span>
&nbsp;
      <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">cos</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">asin</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$SinAlpha</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> <span style="color: #990000;">cos</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">asin</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$SinAlpha</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
         <span style="color: #000088;">$Cos2SigmaM</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
      <span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
         <span style="color: #000088;">$Cos2SigmaM</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$CosSigma</span> <span style="color: #339933;">-</span> <span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">2</span> <span style="color: #339933;">*</span> <span style="color: #000088;">$SinU1</span> <span style="color: #339933;">*</span> <span style="color: #000088;">$SinU2</span> <span style="color: #339933;">/</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">cos</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">asin</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$SinAlpha</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> <span style="color: #990000;">cos</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">asin</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$SinAlpha</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #009900;">&#125;</span>
&nbsp;
      <span style="color: #000088;">$CPARAM</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$f</span> <span style="color: #339933;">/</span> <span style="color: #cc66cc;">16</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> <span style="color: #990000;">cos</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">asin</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$SinAlpha</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> <span style="color: #990000;">cos</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">asin</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$SinAlpha</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span>
                <span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">4</span> <span style="color: #339933;">+</span> <span style="color: #000088;">$f</span> <span style="color: #339933;">*</span> <span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">4</span> <span style="color: #339933;">-</span> <span style="color: #cc66cc;">3</span> <span style="color: #339933;">*</span> <span style="color: #990000;">cos</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">asin</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$SinAlpha</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> <span style="color: #990000;">cos</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">asin</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$SinAlpha</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
      <span style="color: #000088;">$lambda</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$OMEGA</span> <span style="color: #339933;">+</span> <span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span> <span style="color: #339933;">-</span> <span style="color: #000088;">$CPARAM</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> <span style="color: #000088;">$f</span> <span style="color: #339933;">*</span> <span style="color: #000088;">$SinAlpha</span> <span style="color: #339933;">*</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">acos</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$CosSigma</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span>
                <span style="color: #000088;">$CPARAM</span> <span style="color: #339933;">*</span> <span style="color: #990000;">sin</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">acos</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$CosSigma</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$Cos2SigmaM</span> <span style="color: #339933;">+</span> <span style="color: #000088;">$CPARAM</span> <span style="color: #339933;">*</span> <span style="color: #000088;">$CosSigma</span> <span style="color: #339933;">*</span>
                <span style="color: #009900;">&#40;</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span> <span style="color: #339933;">+</span> <span style="color: #cc66cc;">2</span> <span style="color: #339933;">*</span> <span style="color: #000088;">$Cos2SigmaM</span> <span style="color: #339933;">*</span> <span style="color: #000088;">$Cos2SigmaM</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
   <span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">while</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">abs</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$lambda</span> <span style="color: #339933;">-</span> <span style="color: #000088;">$LambdaPrev</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;</span>gt<span style="color: #339933;">;=</span> <span style="color: #000088;">$EPS</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// Конец цикла итерации</span>
&nbsp;
   <span style="color: #000088;">$USQR</span> <span style="color: #339933;">=</span> <span style="color: #990000;">cos</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">asin</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$SinAlpha</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> <span style="color: #990000;">cos</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">asin</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$SinAlpha</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span>
           <span style="color: #009900;">&#40;</span><span style="color: #000088;">$a</span> <span style="color: #339933;">*</span> <span style="color: #000088;">$a</span> <span style="color: #339933;">-</span> <span style="color: #000088;">$b</span> <span style="color: #339933;">*</span> <span style="color: #000088;">$b</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">/</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$b</span> <span style="color: #339933;">*</span> <span style="color: #000088;">$b</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #000088;">$APARAM</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">1</span> <span style="color: #339933;">+</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$USQR</span> <span style="color: #339933;">/</span> <span style="color: #cc66cc;">16384</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> <span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">4096</span> <span style="color: #339933;">+</span> <span style="color: #000088;">$USQR</span> <span style="color: #339933;">*</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">768</span> <span style="color: #339933;">+</span> <span style="color: #000088;">$USQR</span> <span style="color: #339933;">*</span> <span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">320</span> <span style="color: #339933;">-</span> <span style="color: #cc66cc;">175</span> <span style="color: #339933;">*</span> <span style="color: #000088;">$USQR</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #000088;">$BPARAM</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$USQR</span> <span style="color: #339933;">/</span> <span style="color: #cc66cc;">1024</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> <span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">256</span> <span style="color: #339933;">+</span> <span style="color: #000088;">$USQR</span> <span style="color: #339933;">*</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">128</span> <span style="color: #339933;">+</span> <span style="color: #000088;">$USQR</span> <span style="color: #339933;">*</span> <span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">74</span> <span style="color: #339933;">-</span> <span style="color: #cc66cc;">47</span> <span style="color: #339933;">*</span> <span style="color: #000088;">$USQR</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #000088;">$DSigma</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$BPARAM</span> <span style="color: #339933;">*</span> <span style="color: #990000;">sqrt</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$SinSQSigma</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$Cos2SigmaM</span> <span style="color: #339933;">+</span> <span style="color: #000088;">$BPARAM</span> <span style="color: #339933;">/</span> <span style="color: #cc66cc;">4</span> <span style="color: #339933;">*</span>
             <span style="color: #009900;">&#40;</span><span style="color: #000088;">$CosSigma</span> <span style="color: #339933;">*</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span> <span style="color: #339933;">+</span> <span style="color: #cc66cc;">2</span> <span style="color: #339933;">*</span> <span style="color: #000088;">$Cos2SigmaM</span> <span style="color: #339933;">*</span> <span style="color: #000088;">$Cos2SigmaM</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">-</span> <span style="color: #000088;">$BPARAM</span> <span style="color: #339933;">/</span> <span style="color: #cc66cc;">6</span> <span style="color: #339933;">*</span> <span style="color: #000088;">$Cos2SigmaM</span> <span style="color: #339933;">*</span>
             <span style="color: #009900;">&#40;</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">3</span> <span style="color: #339933;">+</span> <span style="color: #cc66cc;">4</span> <span style="color: #339933;">*</span> <span style="color: #000088;">$SinSQSigma</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">3</span> <span style="color: #339933;">+</span> <span style="color: #cc66cc;">4</span> <span style="color: #339933;">*</span> <span style="color: #000088;">$Cos2SigmaM</span> <span style="color: #339933;">*</span> <span style="color: #000088;">$Cos2SigmaM</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
   <span style="color: #b1b100;">return</span> <span style="color: #000088;">$b</span> <span style="color: #339933;">*</span> <span style="color: #000088;">$APARAM</span> <span style="color: #339933;">*</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$Sigma</span> <span style="color: #339933;">-</span> <span style="color: #000088;">$DSigma</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://grigorkin.ru/2010/03/vychislenie-rasstoyanie-mezhdu-dvumya-geokoordinatami-na-ph/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Определение местоположения с помощью браузера</title>
		<link>http://grigorkin.ru/2010/03/opredelenie-mestopolozheniya-s-pomoshhyu-brauzera/</link>
		<comments>http://grigorkin.ru/2010/03/opredelenie-mestopolozheniya-s-pomoshhyu-brauzera/#comments</comments>
		<pubDate>Sun, 07 Mar 2010 10:06:48 +0000</pubDate>
		<dc:creator>alexypnz</dc:creator>
				<category><![CDATA[Геолокация]]></category>
		<category><![CDATA[Программирование]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[гео]]></category>
		<category><![CDATA[местоположение]]></category>

		<guid isPermaLink="false">http://grigorkin.ru/?p=648</guid>
		<description><![CDATA[
			
				
			
		
Как я неоднократно писал, я считаю, что будущее интернета будет тесно сотрудничать с составляющей по имени &#8220;Гео&#8221;, геопозиционирование, геопривязка, геопоиск, геокритерий &#8211; это несколько ключевых слов, которые будут в скором времени фигурировать в сети намного чаще. Почему я так в этом уверен? -Потому что в мире всё больше наблюдается данный тренд: выпускается всё больше устройств [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fgrigorkin.ru%2F2010%2F03%2Fopredelenie-mestopolozheniya-s-pomoshhyu-brauzera%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fgrigorkin.ru%2F2010%2F03%2Fopredelenie-mestopolozheniya-s-pomoshhyu-brauzera%2F&amp;source=grigorkin&amp;style=normal&amp;service=bit.ly&amp;service_api=R_afb3f311e34d0f5d967124d9942b29a3" height="61" width="50" /><br />
			</a>
		</div>
<p style="text-align: left;">Как я неоднократно писал, я считаю, что будущее интернета будет тесно сотрудничать с составляющей по имени &#8220;Гео&#8221;, геопозиционирование, геопривязка, геопоиск, геокритерий &#8211; это несколько ключевых слов, которые будут в скором времени фигурировать в сети намного чаще. Почему я так в этом уверен? -Потому что в мире всё больше наблюдается данный тренд: выпускается всё больше устройств с поддержкой GPS и <a href="http://ru.wikipedia.org/wiki/%D0%93%D0%BB%D0%BE%D0%BD%D0%B0%D1%81%D1%81">ГЛОНАСС</a>, на орбиту одним за другим доставляются спутники ГЛОНАСС-системы, Яндекс вводит критерий геопозиции клиента при поисковой выдачи, в <a href="picasaweb.google.com">Picassa</a> уже давно можно привязать конкретные снимки к месту на карте, даже есть в продаже фотоаппараты со встроенным GPS-приемником(<a href="http://yandex.ru/yandsearch?text=COOLPIX+P6000">COOLPIX P6000</a>).</p>
<p id="title_heading" style="text-align: left;">Причем местоположение человека можно узнать не обязательно с помощью GPS или ГЛОНАСС, эту информацию может нам любезно предоставить браузер клиента, посетившего наш сайт. <span id="more-648"></span>Желающие могут сразу взглянуть на <a href="http://dev.w3.org/geo/api/spec-source.html">спецификацию</a>, всем остальным объясню на пальцах. Geolocation API Specification предполагает, что с помощью JavaScript-кода можно получить у браузера текущее местоположение пользователя. Браузер сам решает откуда возьмется данная информация, либо из подключенного GPS или ГЛОНАСС-приемника, либо от сотового оператора, либо по сигналам Wi-Fi точек доступа, либо, банально по Ip-адресу. Да, рассчитывать на метровую погрешность координат при использовании этого метода не приходится, но это лучше, чем ничего, верно?</p>
<p style="text-align: left;">Приведу пример кода, который сможет показать широту и долготу нашего местоположения:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">	navigator.<span style="color: #660066;">geolocation</span>.<span style="color: #660066;">getCurrentPosition</span><span style="color: #009900;">&#40;</span>foundLocation<span style="color: #339933;">,</span> noLocation<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #003366; font-weight: bold;">function</span> foundLocation<span style="color: #009900;">&#40;</span>position<span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		<span style="color: #003366; font-weight: bold;">var</span> lat <span style="color: #339933;">=</span> position.<span style="color: #660066;">coords</span>.<span style="color: #660066;">latitude</span><span style="color: #339933;">;</span>
		<span style="color: #003366; font-weight: bold;">var</span> lon <span style="color: #339933;">=</span> position.<span style="color: #660066;">coords</span>.<span style="color: #660066;">longitude</span><span style="color: #339933;">;</span>
		<span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'Our location: '</span> <span style="color: #339933;">+</span> lat <span style="color: #339933;">+</span> <span style="color: #3366CC;">', '</span> <span style="color: #339933;">+</span> lon<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #003366; font-weight: bold;">function</span> noLocation<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		<span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'Find location failure'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span></pre></div></div>

<p style="text-align: left;">Вот, собственно и все. Легко, верно? Сразу скажу, что данная спецификация худо-бедно реализована только в следующих браузерах:</p>
<ul style="text-align: left;">
<li> Firefox 3.1 и выше</li>
<li>Safari for iPhone 3G и старше.</li>
<li>Для браузеров Safari и Chrome &#8211; для поддержки GeolocationAPI требуется установить дополнительные модули.</li>
</ul>
<p style="text-align: left;">Думаю, все же данная функция в ближайшем будущем будет реализована в остальных популярных браузерах, что приведет к буму приставки &#8220;ГЕО&#8221; в сети.</p>
<h2>Демо</h2>
<p><script src="/wp-content/uploads/mapTest.js" type="text/javascript"></script></p>
<p style="text-align: left;">Работу данной спецификации в действии можно посмотреть, кликнув на кнопку ниже.</p>
<p style="text-align: center;"><button onclick="getLocation();">Определить моё местоположение</button></p>
<p id="yMapRes" style="display: none; text-align: center;">По информации, предоставленной вашим браузером, вы находитесь здесь:<br /><img id="yMap" alt="" /></p>
]]></content:encoded>
			<wfw:commentRss>http://grigorkin.ru/2010/03/opredelenie-mestopolozheniya-s-pomoshhyu-brauzera/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
