Is there anything I can to do help this happen? I admit I haven't done much intensively with C++ since my undergrad in the late '90s. I'm in the coddled world of IT now and use stuff like C#. :-)<div><br></div>
<div>Aren<br><br><div class="gmail_quote">On Mon, Nov 28, 2011 at 5:30 PM, Stephen Woodbridge <span dir="ltr"><<a href="mailto:woodbri@swoodbridge.com">woodbri@swoodbridge.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Yes, this makes sense. Regardless you can always add a higher level parser to deal with parsing a single field of input and splitting it into fields and then deciding which appropriate API to call to get results.<br>
<br>
I have written and contributed to PAGC a single line address parser that works for US addresses. It is a standalone C module that can be reused and is licensed under MIT-X style license, so it could be picked up and easily wrapped with a plpgsql wrapper to pass text on input and get a fielded record of parsed results.<br>
<br>
-Steve<div><div class="h5"><br>
<br>
On 11/28/2011 5:53 PM, Paragon Corporation wrote:<br>
</div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5">
Steve,<br>
<br>
Yap that's what we were thinking. That's why we have it as a separate<br>
function specifically for cross intersection which will take the form:<br>
<br>
geocode_intersection(roadway1, roadway2, city, state, zip)<br>
<br>
So we at least for the first pass, are not going to assume any symbol etc.<br>
to break (we have enough issues with our normalize logic that we are<br>
cleaning up).<br>
We'll force people to type the streets in as separate arguments.<br>
<br>
<br>
For our case we already have it coded that way so the easiest to port since<br>
ours (the use case we have it coded for) is fed from a user interface<br>
that looks somethng like<br>
<br>
where people have<br>
<br>
Address: ______________________________<u></u>__ (goes regular route)<br>
<br>
or<br>
<br>
Cross Street of ______________ and _____________ (goes thru our geocode<br>
intersection route)<br>
<br>
option.<br>
<br>
<br>
<br>
<br>
</div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5">
-----Original Message-----<br>
From: <a href="mailto:postgis-users-bounces@postgis.refractions.net" target="_blank">postgis-users-bounces@postgis.<u></u>refractions.net</a><br>
[mailto:<a href="mailto:postgis-users-bounces@postgis.refractions.net" target="_blank">postgis-users-bounces@<u></u>postgis.refractions.net</a>] On<br>
Behalf Of Stephen Woodbridge<br>
Sent: Monday, November 28, 2011 5:39 PM<br>
To: <a href="mailto:postgis-users@postgis.refractions.net" target="_blank">postgis-users@postgis.<u></u>refractions.net</a><br>
Subject: Re: [postgis-users] Geocoding cross streets?<br>
<br>
On 11/28/2011 5:28 PM, Aren Cambre wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I think that *geocode_intersection* function would be perfect!<br>
<br>
I just entered an enhancement request at<br>
<a href="http://trac.osgeo.org/postgis/ticket/1333" target="_blank">http://trac.osgeo.org/postgis/<u></u>ticket/1333</a>.<br>
<br>
I totally understand about merging into the existing<br>
</blockquote>
*geocode* function.<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
A counter-strategy might be to require the *&* symbol? But if you're<br>
</blockquote>
<br>
This is actually not a good idea from the point of view that<br>
the Tiger data does have street names the contain an&<br></div></div>
character like "B& O", "Tom& Ann" or something like that,<div><div class="h5"><br>
and others. I already did this analysis when looking at PAGC<br>
geocoder and Tiger data. You will also fine the word "and" in<br>
some street names so that is not good as a separator. In PAGC<br>
I arbitrarily pick the '@' character as it is not used in the<br>
Tiger data and it reads as "street a (at) street b" which<br>
seems as good as any definition for an intersection.<br>
<br>
Thanks,<br>
-Steve W<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
requiring that, then seems like it wouldn't be much more<br>
</blockquote>
work for the<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
developer to split into cross streets rather than having postgis<br>
figure that out upon every geocode.<br>
<br>
Aren<br>
<br>
On Mon, Nov 28, 2011 at 4:08 PM, Paragon Corporation<<a href="mailto:lr@pcorp.us" target="_blank">lr@pcorp.us</a><br>
<mailto:<a href="mailto:lr@pcorp.us" target="_blank">lr@pcorp.us</a>>> wrote:<br>
<br>
It doesn't geocode cross streets or if it is its share<br>
</blockquote>
accident. I<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
think what it's doing is just picking the first one<br>
</blockquote>
most likely so<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
you are getting at the beginning of a street with that<br>
</blockquote>
name and it's<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
ignoring the second street at best.<br>
The cross streets feature takes a different algorithm.<br>
</blockquote>
We do have<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
that coded as a sub process in one of our projects, but it's not<br>
committed in tiger geocoder. Feel free to post a ticket under<br>
tiger_geocoder<br>
if you are interested in seeing it incorporated into<br>
</blockquote>
tiger geocoder.<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<a href="http://trac.osgeo.org/postgis/" target="_blank">http://trac.osgeo.org/postgis/</a><br>
Right now what we have can be relatively easily incorporated in<br>
tiger geocoder to be a function of the form:<br>
geocode_intersection(roadway1, roadway2, city, state, zip)<br>
Would that work for you? I would hesitate to try to<br>
</blockquote>
merge into the<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
existing geocode function since I'm not sure how much<br>
</blockquote>
unnecessary<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
processing that would add if people know they aren't<br>
</blockquote>
dealing with<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
cross street addresses.<br>
Thanks,<br>
Leo and Regina<br>
<a href="http://www.postgis.us" target="_blank">http://www.postgis.us</a><br>
<br>
*From:* <a href="mailto:postgis-users-bounces@postgis.refractions.net" target="_blank">postgis-users-bounces@postgis.<u></u>refractions.net</a><br>
<mailto:<a href="mailto:postgis-users-bounces@postgis.refractions.net" target="_blank">postgis-users-bounces@<u></u>postgis.refractions.net</a>><br>
[mailto:<a href="mailto:postgis-users-bounces@postgis.refractions.net" target="_blank">postgis-users-bounces@<u></u>postgis.refractions.net</a><br>
<mailto:<a href="mailto:postgis-users-bounces@postgis.refractions.net" target="_blank">postgis-users-bounces@<u></u>postgis.refractions.net</a>>] *On<br>
Behalf Of *Aren Cambre<br>
*Sent:* Monday, November 28, 2011 3:14 PM<br>
*To:* PostGIS Users Discussion<br>
*Subject:* Re: [postgis-users] Geocoding cross streets?<br>
<br>
Hey, thanks!<br>
<br>
I used this query:<br>
<br>
*SELECT g.rating, ST_X(geomout) AS lon,<br>
</blockquote>
ST_Y(geomout) AS lat,<br>
</div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5">
(addy).* FROM geocode('XXXX') as g;*<br>
*<br>
*<br>
where *XXXX* is replaced with strings like:<br>
<br>
* *erin and tralee, dallas, tx*<br>
* *erin& tralee, dallas, tx*<br></div></div>
* *sagecanyon& sagegreen, houston, tx*<div><div class="h5"><br>
<br>
Those produce lat/longs that are a few miles from<br>
</div></div></blockquote><div><div class="h5">
the correct<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
locations.<br>
*<br>
*<br>
Aren<br>
<br>
On Mon, Nov 28, 2011 at 1:33 PM, Johnathan Leppert<br>
<<a href="mailto:johnathan.leppert@gmail.com" target="_blank">johnathan.leppert@gmail.com</a><br>
<mailto:<a href="mailto:johnathan.leppert@gmail.com" target="_blank">johnathan.leppert@<u></u>gmail.com</a>>> wrote:<br>
<br>
Cross-streets should be supported. Can you<br>
</blockquote>
supply your exact<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
query and what versions of PostGIS and geocoder<br>
</blockquote>
you are using?<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Johnathan<br>
<br>
On Mon, Nov 28, 2011 at 9:26 AM, Aren Cambre<br>
<<a href="mailto:aren@arencambre.com" target="_blank">aren@arencambre.com</a><br>
</blockquote>
<mailto:<a href="mailto:aren@arencambre.com" target="_blank">aren@arencambre.com</a>>> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
I have the TIGER geocoder running with<br>
</blockquote>
PostGIS 2.0 as<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
per<br>
<br>
</blockquote>
<a href="http://www.letseehere.com/postgis-geocoder-using-tiger-2010-data" target="_blank">http://www.letseehere.com/<u></u>postgis-geocoder-using-tiger-<u></u>2010-data</a>.<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
<br>
It seems to do well finding street addresses, but it<br>
can't seem to find cross streets. For example, if I<br>
geocode *sagecanyon and sagegreen, houston,<br>
</blockquote>
tx*, I get a<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
location on the other side of town. Here's<br>
</blockquote>
a Google Map<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
showing both: <a href="http://g.co/maps/nphp9" target="_blank">http://g.co/maps/nphp9</a><br>
<br>
Can I even use the TIGER geocoder for cross streets?<br>
<br>
Aren<br>
<br>
______________________________<u></u>_________________<br>
postgis-users mailing list<br>
<a href="mailto:postgis-users@postgis.refractions.net" target="_blank">postgis-users@postgis.<u></u>refractions.net</a><br>
<mailto:<a href="mailto:postgis-users@postgis.refractions.net" target="_blank">postgis-users@postgis.<u></u>refractions.net</a>><br>
<br>
<a href="http://postgis.refractions.net/mailman/listinfo/postgis-users" target="_blank">http://postgis.refractions.<u></u>net/mailman/listinfo/postgis-<u></u>users</a><br>
<br>
<br>
<br>
<br>
--<br>
/Johnathan /<br>
Software Engineer<br>
San Francisco, California<br>
/Follow me on Twitter: @iamleppert<br>
<<a href="http://twitter.com/#!/iamleppert" target="_blank">http://twitter.com/#!/<u></u>iamleppert</a>> /<br>
<br>
<br>
______________________________<u></u>_________________<br>
postgis-users mailing list<br>
<a href="mailto:postgis-users@postgis.refractions.net" target="_blank">postgis-users@postgis.<u></u>refractions.net</a><br>
<mailto:<a href="mailto:postgis-users@postgis.refractions.net" target="_blank">postgis-users@postgis.<u></u>refractions.net</a>><br>
<br>
<a href="http://postgis.refractions.net/mailman/listinfo/postgis-users" target="_blank">http://postgis.refractions.<u></u>net/mailman/listinfo/postgis-<u></u>users</a><br>
<br>
<br>
<br>
______________________________<u></u>_________________<br>
postgis-users mailing list<br>
<a href="mailto:postgis-users@postgis.refractions.net" target="_blank">postgis-users@postgis.<u></u>refractions.net</a><br>
<mailto:<a href="mailto:postgis-users@postgis.refractions.net" target="_blank">postgis-users@postgis.<u></u>refractions.net</a>><br>
<a href="http://postgis.refractions.net/mailman/listinfo/postgis-users" target="_blank">http://postgis.refractions.<u></u>net/mailman/listinfo/postgis-<u></u>users</a><br>
<br>
<br>
<br>
<br>
______________________________<u></u>_________________<br>
postgis-users mailing list<br>
<a href="mailto:postgis-users@postgis.refractions.net" target="_blank">postgis-users@postgis.<u></u>refractions.net</a><br>
<a href="http://postgis.refractions.net/mailman/listinfo/postgis-users" target="_blank">http://postgis.refractions.<u></u>net/mailman/listinfo/postgis-<u></u>users</a><br>
</blockquote>
<br>
______________________________<u></u>_________________<br>
postgis-users mailing list<br>
<a href="mailto:postgis-users@postgis.refractions.net" target="_blank">postgis-users@postgis.<u></u>refractions.net</a><br>
<a href="http://postgis.refractions.net/mailman/listinfo/postgis-users" target="_blank">http://postgis.refractions.<u></u>net/mailman/listinfo/postgis-<u></u>users</a><br>
<br>
</div></div></blockquote><div><div class="h5">
<br>
<br>
______________________________<u></u>_________________<br>
postgis-users mailing list<br>
<a href="mailto:postgis-users@postgis.refractions.net" target="_blank">postgis-users@postgis.<u></u>refractions.net</a><br>
<a href="http://postgis.refractions.net/mailman/listinfo/postgis-users" target="_blank">http://postgis.refractions.<u></u>net/mailman/listinfo/postgis-<u></u>users</a><br>
</div></div></blockquote><div class="HOEnZb"><div class="h5">
<br>
______________________________<u></u>_________________<br>
postgis-users mailing list<br>
<a href="mailto:postgis-users@postgis.refractions.net" target="_blank">postgis-users@postgis.<u></u>refractions.net</a><br>
<a href="http://postgis.refractions.net/mailman/listinfo/postgis-users" target="_blank">http://postgis.refractions.<u></u>net/mailman/listinfo/postgis-<u></u>users</a><br>
</div></div></blockquote></div><br></div>