<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Encontrei que podemos acrescentar geometryN para aceita
    multi-geometrias:<br>
    <br>
    UPDATE passeios <br>
    SET rua =<br>
    (SELECT FID_ FROM ruas<br>
    <br>
    <br>
    ORDER BY
    ST_Distance(ST_Line_Interpolate_Point(geometryN(ruas.wkb_geometry,
    0.5), passeios.wkb_geometry)) ASC LIMIT 1)<br>
    <br>
    <br>
    No entanto n&atilde;o reconhece a fun&ccedil;&atilde;o<br>
    <br>
    <br>
    <br>
    On 19-08-2011 13:28, Diego Moreira wrote:
    <blockquote
cite="mid:CADUiXMK72CxRaXjXtrz=cn33FC9thNKe50LBdLbd7i0wrhOZfg@mail.gmail.com"
      type="cite">Resolveu?<br>
      <br clear="all">
      Diego Moreira Carvalho <br>
      <br>
      <br>
      <br>
      <div class="gmail_quote">Em 19 de agosto de 2011 09:13, Diego
        Moreira <span dir="ltr">&lt;<a moz-do-not-send="true"
            href="mailto:moreira.geo@gmail.com">moreira.geo@gmail.com</a>&gt;</span>
        escreveu:<br>
        <blockquote class="gmail_quote" style="margin:0 0 0
          .8ex;border-left:1px #ccc solid;padding-left:1ex;">
          O m&eacute;todo ST_Line_Interpolate_Point retorna um ponto ao longo
          de uma linha dado uma porcentagem do comprimento desta
          linha.... se passarmos sempre 0.5, teremos sempre o meio da
          linha... independente do numero de v&eacute;rtices que ela tem,<br>
          Agora eu acho que resolve<br>
          <br>
          <br>
          "UPDATE passeios SET rua =<br>
          (SELECT FID_ FROM eixos_rua ORDER BY ST_Distance(<b>ST_Line_Interpolate_Point(eixos_rua.wkb_geometry,
            0.5)</b> , passeios.wkb_geometry) ASC LIMIT 1)"<br>
          <br>
          <br>
          Diego Moreira Carvalho<br>
          <br>
          <br>
          <br>
          <br>
          Em 19 de agosto de 2011 08:54, Pedro Costa &lt;<a
            moz-do-not-send="true" href="mailto:pedrocostaarma@sapo.pt"
            target="_blank">pedrocostaarma@sapo.pt</a>&gt; escreveu:
          <div>
            <div class="h5">
              <br>
              &gt; Exactamente, neste caso estou a mudar a unha,&nbsp; mas
              sabes alguma maneira mais<br>
              &gt; r&aacute;pida?<br>
              &gt;<br>
              &gt; Obrigado<br>
              &gt;<br>
              &gt;<br>
              &gt;<br>
              &gt; On 19-08-2011 12:50, Diego Moreira wrote:<br>
              &gt;<br>
              &gt; Provavelmente os mal atribu&iacute;dos estao relacionados a
              ruas que tem somente<br>
              &gt; dois ou tres pontos.... da para resolver...<br>
              &gt;<br>
              &gt; Em 19/08/2011 06:47, "Pedro Costa" &lt;<a
                moz-do-not-send="true"
                href="mailto:pedrocostaarma@sapo.pt" target="_blank">pedrocostaarma@sapo.pt</a>&gt;
              escreveu:<br>
              &gt;&gt; Caro Diego,<br>
              &gt;&gt;<br>
              &gt;&gt; Funcionou... Obrigado pela ajuda.<br>
              &gt;&gt; Apesar de tudo alguns passeios ainda s&atilde;o mal
              atribu&iacute;dos, mas melhorou<br>
              &gt;&gt; bastante...<br>
              &gt;&gt;<br>
              &gt;&gt; Com os melhores cumprimentos,<br>
              &gt;&gt;<br>
              &gt;&gt; Pedro Costa<br>
              &gt;&gt;<br>
              &gt;&gt;<br>
              &gt;&gt;<br>
              &gt;&gt;<br>
              &gt;&gt;<br>
              &gt;&gt; Em 18-08-2011 20:04, Diego Moreira escreveu:<br>
              &gt;&gt;&gt; Acho que vai dar certo, o pg numa divis&atilde;o do
              tipo 3/2 retorna 1,<br>
              &gt;&gt;&gt; retornaria 1.5 se fosse 3.0/2...<br>
              &gt;&gt;&gt; Ent&atilde;o... acho que vai funcionar.<br>
              &gt;&gt;&gt;<br>
              &gt;&gt;&gt; Diego Moreira Carvalho<br>
              &gt;&gt;&gt;<br>
              &gt;&gt;&gt;<br>
              &gt;&gt;&gt;<br>
              &gt;&gt;&gt; Em 18 de agosto de 2011 16:00, Diego Moreira
              &lt;<a moz-do-not-send="true"
                href="mailto:moreira.geo@gmail.com" target="_blank">moreira.geo@gmail.com</a><br>
              &gt;&gt;&gt; &lt;mailto:<a moz-do-not-send="true"
                href="mailto:moreira.geo@gmail.com" target="_blank">moreira.geo@gmail.com</a>&gt;&gt;
              escreveu:<br>
              &gt;&gt;&gt;<br>
              &gt;&gt;&gt; NumPoints(geometry)<br>
              &gt;&gt;&gt;<br>
              &gt;&gt;&gt; Encontra e Retorna o n&uacute;mero de pontos na
              primeira linha na<br>
              &gt;&gt;&gt; geometria. Retorna NULO se n&atilde;o h&aacute; nenhuma
              linha na geometria.<br>
              &gt;&gt;&gt;<br>
              &gt;&gt;&gt; PointN(geometry,integer)<br>
              &gt;&gt;&gt;<br>
              &gt;&gt;&gt; Retorna o en&eacute;simo ponto na primeira linha na
              geometria.<br>
              &gt;&gt;&gt; Retorna NULO se n&atilde;o h&aacute; nenhuma linha na
              geometria.<br>
              &gt;&gt;&gt;<br>
              &gt;&gt;&gt; "UPDATE passeios SET rua =<br>
              &gt;&gt;&gt; (SELECT FID_ FROM eixos_rua ORDER BY<br>
              &gt;&gt;&gt; ST_Distance(PointN(eixos_rua.wkb_geometry,<br>
              &gt;&gt;&gt; NumPoints(eixos_rua.wkb_geometry)/2) ,
              passeios.wkb_geometry) ASC<br>
              &gt;&gt;&gt; LIMIT 1)"<br>
              &gt;&gt;&gt;<br>
              &gt;&gt;&gt;<br>
              &gt;&gt;&gt; Sera que isso d&aacute; certo? caso n&atilde;o, o problema
              &eacute; que a fun&ccedil;&atilde;o PointN<br>
              &gt;&gt;&gt; espera receber um inteiro, mas o resultado da
              divis&atilde;o por 2<br>
              &gt;&gt;&gt; retorna um numero tipo 3.5<br>
              &gt;&gt;&gt;<br>
              &gt;&gt;&gt; Diego Moreira Carvalho<br>
              &gt;&gt;&gt;<br>
              &gt;&gt;&gt;<br>
              &gt;&gt;&gt;<br>
              &gt;&gt;&gt; Em 18 de agosto de 2011 15:49, Pedro Costa
              &lt;<a moz-do-not-send="true"
                href="mailto:pedrocostaarma@sapo.pt" target="_blank">pedrocostaarma@sapo.pt</a><br>
              &gt;&gt;&gt; &lt;mailto:<a moz-do-not-send="true"
                href="mailto:pedrocostaarma@sapo.pt" target="_blank">pedrocostaarma@sapo.pt</a>&gt;&gt;
              escreveu:<br>
              &gt;&gt;&gt;<br>
              &gt;&gt;&gt; &Eacute; exactamente por isso Diego. Mas sabes como
              fa&ccedil;o para<br>
              &gt;&gt;&gt; determinar a contagem de pontos em sql?<br>
              &gt;&gt;&gt;<br>
              &gt;&gt;&gt; Obrigado<br>
              &gt;&gt;&gt;<br>
              &gt;&gt;&gt;<br>
              &gt;&gt;&gt;<br>
              &gt;&gt;&gt;<br>
              &gt;&gt;&gt; On 18-08-2011 19:40, Diego Moreira wrote:<br>
              &gt;&gt;&gt;&gt; Boa tarde Pedrom<br>
              &gt;&gt;&gt;&gt;<br>
              &gt;&gt;&gt;&gt; Acredito que tal problema ocorre porque
              as vezes a<br>
              &gt;&gt;&gt;&gt; estremidade da rua adjacente a que
              deveria ser escolhida &eacute;<br>
              &gt;&gt;&gt;&gt; mais pr&oacute;xima. Acho que o problema pode
              ser resolvido da<br>
              &gt;&gt;&gt;&gt; seguinte forma:<br>
              &gt;&gt;&gt;&gt;<br>
              &gt;&gt;&gt;&gt; Pego o ponto n/2 do eixo da rua: se a rua
              tem dez pontos pego<br>
              &gt;&gt;&gt;&gt; o 5 ponto, e executo aquela mesma sql, s&oacute;
              que com este ponto,<br>
              &gt;&gt;&gt;&gt; e n&atilde;o com a
              geometria(eixos_rua.wkb_geometry).<br>
              &gt;&gt;&gt;&gt;<br>
              &gt;&gt;&gt;&gt; Acho que deve resolver.<br>
              &gt;&gt;&gt;&gt;<br>
              &gt;&gt;&gt;&gt; Espero ter ajudado.<br>
              &gt;&gt;&gt;&gt;<br>
              &gt;&gt;&gt;&gt; Diego Moreira Carvalho<br>
              &gt;&gt;&gt;&gt;<br>
              &gt;&gt;&gt;&gt;<br>
              &gt;&gt;&gt;&gt;<br>
              &gt;&gt;&gt;&gt; Em 18 de agosto de 2011 11:39, Pedro
              Costa<br>
              &gt;&gt;&gt;&gt; &lt;<a moz-do-not-send="true"
                href="mailto:pedrocostaarma@sapo.pt" target="_blank">pedrocostaarma@sapo.pt</a>
              &lt;mailto:<a moz-do-not-send="true"
                href="mailto:pedrocostaarma@sapo.pt" target="_blank">pedrocostaarma@sapo.pt</a>&gt;&gt;<br>
              &gt;&gt;&gt;&gt; escreveu:<br>
              &gt;&gt;&gt;&gt;<br>
              &gt;&gt;&gt;&gt; Pessoal &eacute; o seguinte, eu tenho duas
              tabelas no pgadmin<br>
              &gt;&gt;&gt;&gt; (passeios e ruas), e quero que o campo
              rua dos passeios<br>
              &gt;&gt;&gt;&gt; seja prenchido pela rua correspondente.
              Isto pode<br>
              &gt;&gt;&gt;&gt; fazer-se em fun&ccedil;&atilde;o da dist&acirc;ncia, como o
              Jo&atilde;o Carvalho me<br>
              &gt;&gt;&gt;&gt; ajudou:<br>
              &gt;&gt;&gt;&gt;<br>
              &gt;&gt;&gt;&gt; "UPDATE passeios SET rua = (SELECT FID_
              FROM eixos_rua<br>
              &gt;&gt;&gt;&gt; ORDER BY<br>
              &gt;&gt;&gt;&gt;
              ST_Distance(eixos_rua.wkb_geometry,passeios.wkb_geometry)<br>
              &gt;&gt;&gt;&gt; ASC LIMIT 1)"<br>
              &gt;&gt;&gt;&gt;<br>
              &gt;&gt;&gt;&gt; No entanto em muitos casos a rua
              escolhida n&atilde;o &eacute; a<br>
              &gt;&gt;&gt;&gt; correspondente, esta query n&atilde;o &eacute; muito
              eficiente neste<br>
              &gt;&gt;&gt;&gt; caso. Algu&eacute;m sabe uma maneira diferente
              em que seja<br>
              &gt;&gt;&gt;&gt; escolhida a rua que est&aacute; mais pr&oacute;xima "em
              toda a sua<br>
              &gt;&gt;&gt;&gt; extens&atilde;o"?<br>
              &gt;&gt;&gt;&gt; Podem ver a imagem em anexo para
              perceberem melhor, as<br>
              &gt;&gt;&gt;&gt; linhas verdes s&atilde;o os passeios e as
              vermelhas os eixos de<br>
              &gt;&gt;&gt;&gt; rua. Algu&eacute;m tem alguma ideia que possa
              ajudar?<br>
              &gt;&gt;&gt;&gt;<br>
              &gt;&gt;&gt;&gt; Obrigado<br>
              &gt;&gt;&gt;&gt;<br>
              &gt;&gt;&gt;&gt;
              _______________________________________________<br>
              &gt;&gt;&gt;&gt; Portugal mailing list<br>
              &gt;&gt;&gt;&gt; <a moz-do-not-send="true"
                href="mailto:Portugal@lists.osgeo.org" target="_blank">Portugal@lists.osgeo.org</a>
              &lt;mailto:<a moz-do-not-send="true"
                href="mailto:Portugal@lists.osgeo.org" target="_blank">Portugal@lists.osgeo.org</a>&gt;<br>
              &gt;&gt;&gt;&gt; <a moz-do-not-send="true"
                href="http://lists.osgeo.org/mailman/listinfo/portugal"
                target="_blank">http://lists.osgeo.org/mailman/listinfo/portugal</a><br>
              &gt;&gt;&gt;&gt;<br>
              &gt;&gt;&gt;&gt;<br>
              &gt;&gt;&gt;&gt;<br>
              &gt;&gt;&gt;&gt;<br>
              &gt;&gt;&gt;&gt;
              _______________________________________________<br>
              &gt;&gt;&gt;&gt; Portugal mailing list<br>
              &gt;&gt;&gt;&gt; <a moz-do-not-send="true"
                href="mailto:Portugal@lists.osgeo.org" target="_blank">Portugal@lists.osgeo.org</a>
              &lt;mailto:<a moz-do-not-send="true"
                href="mailto:Portugal@lists.osgeo.org" target="_blank">Portugal@lists.osgeo.org</a>&gt;<br>
              &gt;&gt;&gt;&gt; <a moz-do-not-send="true"
                href="http://lists.osgeo.org/mailman/listinfo/portugal"
                target="_blank">http://lists.osgeo.org/mailman/listinfo/portugal</a><br>
              &gt;&gt;&gt;<br>
              &gt;&gt;&gt;<br>
              &gt;&gt;&gt;
              _______________________________________________<br>
              &gt;&gt;&gt; Portugal mailing list<br>
              &gt;&gt;&gt; <a moz-do-not-send="true"
                href="mailto:Portugal@lists.osgeo.org" target="_blank">Portugal@lists.osgeo.org</a>
              &lt;mailto:<a moz-do-not-send="true"
                href="mailto:Portugal@lists.osgeo.org" target="_blank">Portugal@lists.osgeo.org</a>&gt;<br>
              &gt;&gt;&gt; <a moz-do-not-send="true"
                href="http://lists.osgeo.org/mailman/listinfo/portugal"
                target="_blank">http://lists.osgeo.org/mailman/listinfo/portugal</a><br>
              &gt;&gt;&gt;<br>
              &gt;&gt;&gt;<br>
              &gt;&gt;&gt;<br>
              &gt;&gt;&gt;<br>
              &gt;&gt;&gt;<br>
              &gt;&gt;&gt;
              _______________________________________________<br>
              &gt;&gt;&gt; Portugal mailing list<br>
              &gt;&gt;&gt; <a moz-do-not-send="true"
                href="mailto:Portugal@lists.osgeo.org" target="_blank">Portugal@lists.osgeo.org</a><br>
              &gt;&gt;&gt; <a moz-do-not-send="true"
                href="http://lists.osgeo.org/mailman/listinfo/portugal"
                target="_blank">http://lists.osgeo.org/mailman/listinfo/portugal</a><br>
              &gt;<br>
              &gt;<br>
              &gt; _______________________________________________<br>
              &gt; Portugal mailing list<br>
              &gt; <a moz-do-not-send="true"
                href="mailto:Portugal@lists.osgeo.org" target="_blank">Portugal@lists.osgeo.org</a><br>
              &gt; <a moz-do-not-send="true"
                href="http://lists.osgeo.org/mailman/listinfo/portugal"
                target="_blank">http://lists.osgeo.org/mailman/listinfo/portugal</a><br>
              &gt;<br>
              &gt;<br>
              &gt; _______________________________________________<br>
              &gt; Portugal mailing list<br>
              &gt; <a moz-do-not-send="true"
                href="mailto:Portugal@lists.osgeo.org" target="_blank">Portugal@lists.osgeo.org</a><br>
              &gt; <a moz-do-not-send="true"
                href="http://lists.osgeo.org/mailman/listinfo/portugal"
                target="_blank">http://lists.osgeo.org/mailman/listinfo/portugal</a><br>
              &gt;<br>
              &gt;<br>
              <br>
            </div>
          </div>
        </blockquote>
      </div>
      <br>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
Portugal mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Portugal@lists.osgeo.org">Portugal@lists.osgeo.org</a>
<a class="moz-txt-link-freetext" href="http://lists.osgeo.org/mailman/listinfo/portugal">http://lists.osgeo.org/mailman/listinfo/portugal</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>