<html><body><div style="color:#000; background-color:#fff; font-family:times new roman, new york, times, serif;font-size:16px"><div id="yui_3_16_0_1_1441815105712_28073">Hello, I have a file (source.json) containing 25 GeoJSON polygons with weather alerts, which I imported into postgres using the following command:</div><div id="yui_3_16_0_1_1441815105712_28072"><br></div><div dir="ltr" id="yui_3_16_0_1_1441815105712_28071"><font id="yui_3_16_0_1_1441815105712_45029" face="Courier New, courier, monaco, monospace, sans-serif">$ ogr2ogr -f "PostgreSQL" PG:"dbname=weatherzones user=postgres" "source.json" -nln polys</font><br class="" id="yui_3_16_0_1_1441815105712_31079"><br></div><div id="yui_3_16_0_1_1441815105712_31057">Here's how it looks in Postgres:</div><div id="yui_3_16_0_1_1441815105712_31104"><br></div><div dir="ltr" id="yui_3_16_0_1_1441815105712_31179"><font id="yui_3_16_0_1_1441815105712_31369" face="Courier New, courier, monaco, monospace, sans-serif">polytest=# \d polys;<br class="" id="yui_3_16_0_1_1441815105712_31182">                                       Table "public.polys"<br class="" id="yui_3_16_0_1_1441815105712_31184">    Column    |          Type           |                        Modifiers                        <br class="" id="yui_3_16_0_1_1441815105712_31186">--------------+-------------------------+---------------------------------------------------------<br class="" id="yui_3_16_0_1_1441815105712_31188"> ogc_fid      | integer                 | not null default nextval('polys_ogc_fid_seq'::regclass)<br class="" id="yui_3_16_0_1_1441815105712_31190"> wkb_geometry | geometry(Geometry,4326) | <br class="" id="yui_3_16_0_1_1441815105712_31192"> warnings     | character varying       | <br class="" id="yui_3_16_0_1_1441815105712_31194">Indexes:<br class="" id="yui_3_16_0_1_1441815105712_31196">    "polys_pk" PRIMARY KEY, btree (ogc_fid)<br class="" id="yui_3_16_0_1_1441815105712_31198">    "polys_geom_idx" gist (wkb_geometry)<br class="" id="yui_3_16_0_1_1441815105712_31200"><br class="" id="yui_3_16_0_1_1441815105712_31202">polytest=# </font><br></div><div id="yui_3_16_0_1_1441815105712_27941"><br><span id="yui_3_16_0_1_1441815105712_31076"></span></div><div id="yui_3_16_0_1_1441815105712_31368"><span id="yui_3_16_0_1_1441815105712_31076">I can see it stored all of them:</span></div><div id="yui_3_16_0_1_1441815105712_31367"><br><span id="yui_3_16_0_1_1441815105712_31076"></span></div><div dir="ltr" id="yui_3_16_0_1_1441815105712_31349"><font id="yui_3_16_0_1_1441815105712_37798" face="Courier New, courier, monaco, monospace, sans-serif"><span id="yui_3_16_0_1_1441815105712_31076">polytest=# select count(*) from polys;<br class="" id="yui_3_16_0_1_1441815105712_31352"> count <br class="" id="yui_3_16_0_1_1441815105712_31354">-------<br class="" id="yui_3_16_0_1_1441815105712_31356">    25<br class="" id="yui_3_16_0_1_1441815105712_31358">(1 row)<br class="" id="yui_3_16_0_1_1441815105712_31360"><br class="" id="yui_3_16_0_1_1441815105712_31362">polytest=# </span></font></div><div id="yui_3_16_0_1_1441815105712_44322" dir="ltr"><br></div><div id="yui_3_16_0_1_1441815105712_31400" dir="ltr">However, when I try to use a ST_Intersects(ST_PointFromText('POINT(), I can't seem to get lines with MultiPolygons to return rows.  The regular Polygons seem to work fine, though.</div><br><div id="yui_3_16_0_1_1441815105712_37949" dir="ltr">For example, I have the following MultiPolygon in my table from Nevada: <br></div><div id="yui_3_16_0_1_1441815105712_37950" dir="ltr"><a id="yui_3_16_0_1_1441815105712_37983" href="http://microflush.org/json/24.json">http://microflush.org/json/24.json</a></div><div id="yui_3_16_0_1_1441815105712_37988" dir="ltr"><br></div><div id="yui_3_16_0_1_1441815105712_44485" dir="ltr">Using a validator site, such as <a id="yui_3_16_0_1_1441815105712_44533" href="http://geojsonlint.com/">http://geojsonlint.com/</a> ,  I can copy/paste that JSON into the interface and it looks like 2 adjacent shapes making up the MultiPolygon.</div><div id="yui_3_16_0_1_1441815105712_41137" dir="ltr"><br></div><div id="yui_3_16_0_1_1441815105712_44587" dir="ltr">If I grab points from the upper section of the polygon, using something like <a id="yui_3_16_0_1_1441815105712_44588" href="http://itouchmap.com/latlong.html">http://itouchmap.com/latlong.html</a>, I get rows returned:</div><div id="yui_3_16_0_1_1441815105712_41153" dir="ltr">polytest=# select warnings from polys where ST_Intersects(ST_PointFromText('POINT( -114.543457 39.336281 )', 4326), wkb_geometry) limit 2; <br></div><div id="yui_3_16_0_1_1441815105712_41170" dir="ltr">polytest=# select warnings from polys where ST_Intersects(ST_PointFromText('POINT( -115.658569 39.500297 )', 4326), wkb_geometry) limit 2; <br></div><div id="yui_3_16_0_1_1441815105712_41187" dir="ltr"><br></div><div id="yui_3_16_0_1_1441815105712_41237" dir="ltr">But if I use a point from the lower Polygon section of that MultiPolygon, I get zero:<br></div><div id="yui_3_16_0_1_1441815105712_41038" dir="ltr"><br></div><div id="yui_3_16_0_1_1441815105712_41094" dir="ltr"><font id="yui_3_16_0_1_1441815105712_44739" face="Courier New, courier, monaco, monospace, sans-serif">polytest=# select warnings from polys where ST_Intersects(ST_PointFromText('POINT( -115.977173 38.548667 )', 4326), wkb_geometry) limit 2; </font><br class="" id="yui_3_16_0_1_1441815105712_41071"></div><div id="yui_3_16_0_1_1441815105712_41072" dir="ltr"><br></div><div id="yui_3_16_0_1_1441815105712_41074" dir="ltr"><br></div><div id="yui_3_16_0_1_1441815105712_44719" dir="ltr"><br></div><div id="yui_3_16_0_1_1441815105712_44436" dir="ltr">Another example from Florida (a little more difficult to see, but same issue):</div><div class="" id="yui_3_16_0_1_1441815105712_31748" dir="ltr"><a class="" id="yui_3_16_0_1_1441815105712_31767" href="http://microflush.org/json/06.json">http://microflush.org/json/06.json</a></div><div id="yui_3_16_0_1_1441815105712_44467" dir="ltr"><br></div><div class="" id="yui_3_16_0_1_1441815105712_31462" dir="ltr"><font id="yui_3_16_0_1_1441815105712_44717" face="Courier New, courier, monaco, monospace, sans-serif">polytest=#
 select warnings from polys where ST_Intersects(ST_PointFromText('POINT(
 -81.988228 27.034561 )', 4326), wkb_geometry) limit 2;</font><br class="" id="yui_3_16_0_1_1441815105712_31597"><font face="Courier New, courier, monaco, monospace, sans-serif"><br class="" id="yui_3_16_0_1_1441815105712_44440"><span class="" id="yui_3_16_0_1_1441815105712_31076"></span></font></div><div class="" id="yui_3_16_0_1_1441815105712_31377" dir="ltr"><span class="" id="yui_3_16_0_1_1441815105712_31076"><font id="yui_3_16_0_1_1441815105712_45028" face="Courier New, courier, monaco, monospace, sans-serif">warnings <br class="" id="yui_3_16_0_1_1441815105712_31627">----------<br class="" id="yui_3_16_0_1_1441815105712_31629">(0 rows)</font><br class="" id="yui_3_16_0_1_1441815105712_31631"></span></div><div class="" id="yui_3_16_0_1_1441815105712_31633" dir="ltr"><br class="" id="yui_3_16_0_1_1441815105712_44449"></div><div class="" id="yui_3_16_0_1_1441815105712_31733" dir="ltr">The above point (-81.988228 27.034561) would spacially exist in this MultiPolygon.</div><br><div class="" id="yui_3_16_0_1_1441815105712_44419" dir="ltr"><br class="" id="yui_3_16_0_1_1441815105712_44461"></div><div class="" id="yui_3_16_0_1_1441815105712_44420" dir="ltr">However,
 in this example, it will only return rows if I pick a point inside the little 
polygon which shows up focused to the south of the much larger polygon (when you use the geojsonlin.com site to 
plot the whole thing).  For example, this point:</div><div class="" id="yui_3_16_0_1_1441815105712_37799" dir="ltr"><font face="Courier New, courier, monaco, monospace, sans-serif"><br class="" id="yui_3_16_0_1_1441815105712_44465"></font></div><div class="" id="yui_3_16_0_1_1441815105712_37809" dir="ltr"><font id="yui_3_16_0_1_1441815105712_45025" face="Courier New, courier, monaco, monospace, sans-serif">polytest=#
 select warnings from polys where ST_Intersects(ST_PointFromText('POINT(
 -81.9878 27.034 )', 4326), wkb_geometry) limit 2;</font></div><div id="yui_3_16_0_1_1441815105712_44868" dir="ltr"><font face="Courier New, courier, monaco, monospace, sans-serif">(1 row)</font></div><div id="yui_3_16_0_1_1441815105712_41136" dir="ltr"><br></div><div id="yui_3_16_0_1_1441815105712_44869" dir="ltr">So, it would seem the select statements which should return Multipolygons are not returning for all Polygons contained in the MultiPolygon.</div><div id="yui_3_16_0_1_1441815105712_44870" dir="ltr"><br></div><div id="yui_3_16_0_1_1441815105712_44871" dir="ltr">Is there something I'm doing incorrectly with my queries?</div><div id="yui_3_16_0_1_1441815105712_44872" dir="ltr"><br></div><div id="yui_3_16_0_1_1441815105712_44873" dir="ltr">Any help would be great.</div><div id="yui_3_16_0_1_1441815105712_44874" dir="ltr"><br></div><div id="yui_3_16_0_1_1441815105712_44875" dir="ltr">Thank you!</div><div id="yui_3_16_0_1_1441815105712_44876" dir="ltr"><br></div><div id="yui_3_16_0_1_1441815105712_44877" dir="ltr">Joseph Spenner</div><div id="yui_3_16_0_1_1441815105712_44878" dir="ltr"><br></div><div id="yui_3_16_0_1_1441815105712_31735" dir="ltr"><br><span id="yui_3_16_0_1_1441815105712_31076"></span></div><br></div></body></html>