├── .gitignore
├── README.md
├── postgis-intro
├── .editorconfig
└── sources
│ ├── en
│ ├── 3d.rst
│ ├── Makefile
│ ├── about_data.rst
│ ├── advanced_geometry_construction.rst
│ ├── advanced_geometry_construction
│ │ ├── adv_geom0.jpg
│ │ ├── adv_geom1.jpg
│ │ ├── adv_geom2.jpg
│ │ ├── adv_geom3.jpg
│ │ ├── adv_geom4.jpg
│ │ └── adv_geom5.jpg
│ ├── backup.rst
│ ├── clusterindex.rst
│ ├── conf.py
│ ├── creating_db.rst
│ ├── de9im.rst
│ ├── equality.rst
│ ├── equality
│ │ ├── polygon-table.png
│ │ ├── polygon1.png
│ │ ├── polygon2.png
│ │ ├── polygon3.png
│ │ ├── polygon4.png
│ │ ├── polygon5.png
│ │ ├── polygons.svg
│ │ ├── start13.png
│ │ ├── start14.png
│ │ ├── start15.png
│ │ └── start17.png
│ ├── geography.rst
│ ├── geography
│ │ ├── cartesian_spherical.jpg
│ │ ├── lax_cdg.jpg
│ │ ├── lax_nrt.png
│ │ └── lax_tok.jpg
│ ├── geography_exercises.rst
│ ├── geometries.rst
│ ├── geometries
│ │ ├── represent-07.png
│ │ ├── start01.png
│ │ ├── start08.png
│ │ └── table01.png
│ ├── geometries_exercises.rst
│ ├── geometry_returning.rst
│ ├── geometry_returning
│ │ ├── buffer.png
│ │ ├── centroid.jpg
│ │ ├── intersection.jpg
│ │ ├── liberty_negative.jpg
│ │ ├── liberty_positive.jpg
│ │ ├── st_buffer.png
│ │ ├── union.jpg
│ │ └── union_counties.png
│ ├── geometry_returning_exercises.rst
│ ├── glossary.rst
│ ├── history_tracking.rst
│ ├── index.rst
│ ├── indexing.rst
│ ├── indexing
│ │ ├── bbox.png
│ │ ├── index-01.png
│ │ └── index-02.png
│ ├── installation.rst
│ ├── introduction.rst
│ ├── introduction
│ │ ├── beginning.png
│ │ ├── boundingbox.png
│ │ ├── hierarchy.png
│ │ ├── lines.png
│ │ ├── mbr.png
│ │ ├── points.png
│ │ └── polygons.png
│ ├── joins.rst
│ ├── joins_advanced.rst
│ ├── joins_exercises.rst
│ ├── knn.rst
│ ├── license.rst
│ ├── linear_referencing.rst
│ ├── loading_data.rst
│ ├── postgis-functions.rst
│ ├── projection.rst
│ ├── projection_exercises.rst
│ ├── rasters.rst
│ ├── rasters
│ │ ├── hello-ny.png
│ │ ├── hello-raster-ny-mean.png
│ │ ├── hello-raster-ny.png
│ │ ├── hello.png
│ │ ├── postgis_raster.jpg
│ │ ├── postgis_raster.odg
│ │ ├── raster-hello-ny.png
│ │ ├── raster-ny.png
│ │ ├── raster-st-pixel-as-polygons-pgAdmin-Grid.png
│ │ ├── raster-st-pixel-as-polygons-pgAdmin-geomviewer.png
│ │ ├── raster_as_geometry.png
│ │ ├── st-dump-as-polygons.png
│ │ ├── st_colormap_ny_dem.png
│ │ ├── st_transform_nooverlaps.png
│ │ └── st_transform_overlaps.png
│ ├── schemas.rst
│ ├── screenshots
│ │ ├── backup1.jpg
│ │ ├── backup2.jpg
│ │ ├── backup3.jpg
│ │ ├── backup4.jpg
│ │ ├── backup5.jpg
│ │ ├── centroid_neighborhood.png
│ │ ├── clustering1.jpg
│ │ ├── clustering2.jpg
│ │ ├── clustering3.jpg
│ │ ├── clustering4.jpg
│ │ ├── clustering5.png
│ │ ├── collection.png
│ │ ├── collection2.png
│ │ ├── dashboard_01.png
│ │ ├── dashboard_02.png
│ │ ├── data_loading_1.png
│ │ ├── data_loading_2.png
│ │ ├── data_loading_2a.png
│ │ ├── data_loading_3.png
│ │ ├── data_loading_4.png
│ │ ├── de9im1.jpg
│ │ ├── de9im10.jpg
│ │ ├── de9im11.jpg
│ │ ├── de9im12.jpg
│ │ ├── de9im2.jpg
│ │ ├── de9im3.jpg
│ │ ├── de9im4.jpg
│ │ ├── de9im5.jpg
│ │ ├── de9im6.jpg
│ │ ├── de9im7.jpg
│ │ ├── de9im8.jpg
│ │ ├── de9im9.jpg
│ │ ├── install_components.png
│ │ ├── install_directory.png
│ │ ├── install_finish.png
│ │ ├── install_installing.png
│ │ ├── install_license.png
│ │ ├── install_macos_01.png
│ │ ├── install_macos_02.png
│ │ ├── install_pgadmin_01.png
│ │ ├── install_ready.png
│ │ ├── install_startmenu.png
│ │ ├── install_welcome.png
│ │ ├── install_windows_01.png
│ │ ├── knn1.jpg
│ │ ├── knn2.jpg
│ │ ├── knn3.jpg
│ │ ├── knn4.png
│ │ ├── knn5.png
│ │ ├── lrs1.jpg
│ │ ├── nyc_census_blocks.png
│ │ ├── nyc_neighborhoods.png
│ │ ├── nyc_streets.png
│ │ ├── nyc_subway_stations.png
│ │ ├── nyc_tracts_flatbush.jpg
│ │ ├── pgadmin_01.png
│ │ ├── pgadmin_02.png
│ │ ├── pgadmin_02a.png
│ │ ├── pgadmin_03.png
│ │ ├── pgadmin_03a.png
│ │ ├── pgadmin_04.png
│ │ ├── pgadmin_05.png
│ │ ├── pgadmin_06.png
│ │ ├── pgadmin_07.png
│ │ ├── pgadmin_08.png
│ │ ├── pgadmin_09.png
│ │ ├── pgshapeloader_01.png
│ │ ├── pgshapeloader_01a.png
│ │ ├── pgshapeloader_02.png
│ │ ├── pgshapeloader_03.png
│ │ ├── polygons.png
│ │ ├── prj2epsg_01.png
│ │ ├── qgis_dbmanager.png
│ │ ├── refresh.png
│ │ ├── schemas.jpg
│ │ ├── ssl_conf.jpg
│ │ ├── ssl_create.jpg
│ │ ├── ssl_props.jpg
│ │ └── subways_buffered.png
│ ├── security.rst
│ ├── simple_sql.rst
│ ├── simple_sql_exercises.rst
│ ├── spatial_relationships.rst
│ ├── spatial_relationships
│ │ ├── atlantic_commons.jpg
│ │ ├── broad_st.jpg
│ │ ├── cortland.jpg
│ │ ├── distance-01.png
│ │ ├── st_buffer.png
│ │ ├── st_crosses.png
│ │ ├── st_disjoint.png
│ │ ├── st_dwithin.png
│ │ ├── st_equals.png
│ │ ├── st_intersection.png
│ │ ├── st_intersects.png
│ │ ├── st_overlaps.png
│ │ ├── st_touches.png
│ │ └── st_within.png
│ ├── spatial_relationships_exercises.rst
│ ├── static
│ │ └── workshop-sql.txt
│ ├── topology.rst
│ ├── topology
│ │ ├── basic_types.png
│ │ ├── boros_topogeom.png
│ │ ├── boros_universal_face.png
│ │ ├── components.png
│ │ ├── edge_left_right.png
│ │ ├── edge_perspective.png
│ │ ├── face_directions.png
│ │ ├── geomtable2topotable.png
│ │ ├── hierarchy.png
│ │ ├── next_edge_base.png
│ │ ├── next_edge_one_edge.png
│ │ ├── next_edge_one_edge_left.png
│ │ ├── next_edge_one_edge_right.png
│ │ ├── next_left_edge_perspective.png
│ │ ├── next_right_edge_perspective.png
│ │ ├── read_topoelement.png
│ │ ├── topo_keys.png
│ │ ├── topogeo2components.png
│ │ └── topology_main_concept.png
│ ├── topology_base_types.rst
│ ├── topology_topo_types.rst
│ ├── tuning.rst
│ ├── tuning
│ │ ├── conf01.png
│ │ ├── conf02.png
│ │ ├── conf03.png
│ │ ├── conf04.png
│ │ ├── conf05.png
│ │ ├── conf06.png
│ │ ├── conf07.png
│ │ ├── conf08.png
│ │ ├── conf09.png
│ │ └── conf10.png
│ ├── upgrades.rst
│ ├── validity.rst
│ ├── validity
│ │ ├── banana.png
│ │ └── figure_eight.png
│ └── welcome.rst
│ ├── jp
│ ├── Makefile
│ ├── about_data.rst
│ ├── conf.py
│ ├── creating_db.rst
│ ├── equality.rst
│ ├── equality
│ │ ├── polygon-table.png
│ │ ├── polygon1.png
│ │ ├── polygon2.png
│ │ ├── polygon3.png
│ │ ├── polygon4.png
│ │ ├── polygon5.png
│ │ ├── polygons.svg
│ │ ├── start13.png
│ │ ├── start14.png
│ │ ├── start15.png
│ │ └── start17.png
│ ├── favicon.ico
│ ├── geography.rst
│ ├── geography
│ │ ├── cartesian_spherical.jpg
│ │ ├── lax_cdg.jpg
│ │ ├── lax_nrt.png
│ │ └── lax_tok.jpg
│ ├── geometries.rst
│ ├── geometries
│ │ ├── represent-04.png
│ │ ├── represent-05.png
│ │ ├── represent-06.png
│ │ ├── represent-07.png
│ │ ├── start01.png
│ │ ├── start08.png
│ │ └── table01.png
│ ├── geometries_exercises.rst
│ ├── geometry_returning.rst
│ ├── geometry_returning
│ │ ├── buffer.png
│ │ ├── centroid.jpg
│ │ ├── intersection.jpg
│ │ ├── liberty_negative.jpg
│ │ ├── liberty_positive.jpg
│ │ ├── st_buffer.png
│ │ ├── union.jpg
│ │ └── union_counties.png
│ ├── glossary.rst
│ ├── index.rst
│ ├── indexing.rst
│ ├── indexing
│ │ ├── bbox.png
│ │ └── index-01.png
│ ├── installation.rst
│ ├── introduction.rst
│ ├── introduction
│ │ ├── beginning.png
│ │ ├── boundingbox.png
│ │ ├── hierarchy.png
│ │ ├── lines.png
│ │ ├── mbr.png
│ │ ├── points.png
│ │ └── polygons.png
│ ├── joins.rst
│ ├── joins_advanced.rst
│ ├── joins_exercises.rst
│ ├── license.rst
│ ├── loading_data.rst
│ ├── postgis-functions.rst
│ ├── projection.rst
│ ├── projection_exercises.rst
│ ├── screenshots
│ │ ├── centroid_neighborhood.png
│ │ ├── collection.png
│ │ ├── collection2.png
│ │ ├── dashboard_01.png
│ │ ├── dashboard_02.png
│ │ ├── install_01.png
│ │ ├── install_02.png
│ │ ├── install_03.png
│ │ ├── install_04.png
│ │ ├── install_05.png
│ │ ├── install_06.png
│ │ ├── install_07.png
│ │ ├── install_08.png
│ │ ├── nyc_census_blocks.png
│ │ ├── nyc_neighborhoods.png
│ │ ├── nyc_streets.png
│ │ ├── nyc_subway_stations.png
│ │ ├── pgadmin_01.png
│ │ ├── pgadmin_02.png
│ │ ├── pgadmin_03.png
│ │ ├── pgadmin_04.png
│ │ ├── pgadmin_05.png
│ │ ├── pgadmin_06.png
│ │ ├── pgadmin_07.png
│ │ ├── pgadmin_08.png
│ │ ├── pgadmin_09.png
│ │ ├── pgshapeloader_01.png
│ │ ├── pgshapeloader_02.png
│ │ ├── polygons.png
│ │ ├── prj2epsg_01.png
│ │ ├── refresh.png
│ │ └── subways_buffered.png
│ ├── simple_sql.rst
│ ├── simple_sql_exercises.rst
│ ├── spatial_relationships.rst
│ ├── spatial_relationships
│ │ ├── atlantic_commons.jpg
│ │ ├── broad_st.jpg
│ │ ├── cortland.jpg
│ │ ├── distance-01.png
│ │ ├── st_buffer.png
│ │ ├── st_crosses.png
│ │ ├── st_disjoint.png
│ │ ├── st_dwithin.png
│ │ ├── st_equals.png
│ │ ├── st_intersection.png
│ │ ├── st_intersects.png
│ │ ├── st_overlaps.png
│ │ ├── st_touches.png
│ │ └── st_within.png
│ ├── spatial_relationships_exercises.rst
│ ├── tuning.rst
│ ├── tuning
│ │ ├── conf01.png
│ │ ├── conf02.png
│ │ ├── conf03.png
│ │ ├── conf04.png
│ │ ├── conf05.png
│ │ ├── conf06.png
│ │ ├── conf07.png
│ │ ├── conf08.png
│ │ ├── conf09.png
│ │ └── conf10.png
│ ├── validity.rst
│ ├── validity
│ │ ├── banana.png
│ │ └── figure_eight.png
│ └── welcome.rst
│ └── locale
│ ├── README
│ ├── de
│ └── LC_MESSAGES
│ │ ├── 3d.po
│ │ ├── about_data.mo
│ │ ├── about_data.po
│ │ ├── advanced_geometry_construction.po
│ │ ├── backup.po
│ │ ├── clusterindex.po
│ │ ├── creating_db.po
│ │ ├── de9im.po
│ │ ├── equality.po
│ │ ├── geography.po
│ │ ├── geography_exercises.po
│ │ ├── geometries.po
│ │ ├── geometries_exercises.po
│ │ ├── geometry_returning.po
│ │ ├── geometry_returning_exercises.po
│ │ ├── glossary.po
│ │ ├── history_tracking.po
│ │ ├── index.po
│ │ ├── indexing.po
│ │ ├── installation.po
│ │ ├── introduction.po
│ │ ├── joins.po
│ │ ├── joins_advanced.po
│ │ ├── joins_exercises.po
│ │ ├── knn.po
│ │ ├── license.po
│ │ ├── linear_referencing.po
│ │ ├── loading_data.po
│ │ ├── postgis-functions.po
│ │ ├── projection.po
│ │ ├── projection_exercises.po
│ │ ├── rasters.po
│ │ ├── schemas.po
│ │ ├── security.po
│ │ ├── simple_sql.po
│ │ ├── simple_sql_exercises.po
│ │ ├── spatial_relationships.po
│ │ ├── spatial_relationships_exercises.po
│ │ ├── topology.po
│ │ ├── tuning.po
│ │ ├── upgrades.po
│ │ ├── validity.po
│ │ └── welcome.po
│ ├── es
│ └── LC_MESSAGES
│ │ ├── 3d.po
│ │ ├── about_data.po
│ │ ├── advanced_geometry_construction.po
│ │ ├── backup.po
│ │ ├── clusterindex.po
│ │ ├── creating_db.po
│ │ ├── de9im.po
│ │ ├── equality.po
│ │ ├── geography.po
│ │ ├── geography_exercises.po
│ │ ├── geometries.po
│ │ ├── geometries_exercises.po
│ │ ├── geometry_returning.po
│ │ ├── geometry_returning_exercises.po
│ │ ├── glossary.po
│ │ ├── history_tracking.po
│ │ ├── index.po
│ │ ├── indexing.po
│ │ ├── installation.po
│ │ ├── introduction.po
│ │ ├── joins.po
│ │ ├── joins_advanced.po
│ │ ├── joins_exercises.po
│ │ ├── knn.po
│ │ ├── license.po
│ │ ├── linear_referencing.po
│ │ ├── loading_data.po
│ │ ├── postgis-functions.po
│ │ ├── projection.po
│ │ ├── projection_exercises.po
│ │ ├── rasters.po
│ │ ├── schemas.po
│ │ ├── security.po
│ │ ├── simple_sql.po
│ │ ├── simple_sql_exercises.po
│ │ ├── spatial_relationships.po
│ │ ├── spatial_relationships_exercises.po
│ │ ├── topology.po
│ │ ├── tuning.po
│ │ ├── upgrades.po
│ │ ├── validity.po
│ │ └── welcome.po
│ ├── fr
│ └── LC_MESSAGES
│ │ ├── glossary.po
│ │ ├── index.po
│ │ └── welcome.po
│ ├── it
│ └── LC_MESSAGES
│ │ ├── 3d.mo
│ │ ├── 3d.po
│ │ ├── backup.mo
│ │ ├── backup.po
│ │ ├── clusterindex.mo
│ │ ├── clusterindex.po
│ │ ├── geography.po
│ │ ├── geography_exercises.mo
│ │ ├── geography_exercises.po
│ │ ├── geometries_exercises.mo
│ │ ├── geometries_exercises.po
│ │ ├── glossary.mo
│ │ ├── glossary.po
│ │ ├── index.mo
│ │ ├── index.po
│ │ ├── license.mo
│ │ ├── license.po
│ │ ├── loading_data.mo
│ │ ├── loading_data.po
│ │ ├── simple_sql_exercises.mo
│ │ ├── simple_sql_exercises.po
│ │ ├── spatial_relationships.mo
│ │ ├── spatial_relationships.po
│ │ ├── tuning.mo
│ │ └── tuning.po
│ ├── ja
│ └── LC_MESSAGES
│ │ ├── 3d.po
│ │ ├── about_data.po
│ │ ├── advanced_geometry_construction.po
│ │ ├── backup.po
│ │ ├── clusterindex.po
│ │ ├── creating_db.po
│ │ ├── de9im.po
│ │ ├── equality.po
│ │ ├── geography.po
│ │ ├── geography_exercises.po
│ │ ├── geometries.po
│ │ ├── geometries_exercises.po
│ │ ├── geometry_returning.po
│ │ ├── geometry_returning_exercises.po
│ │ ├── glossary.po
│ │ ├── history_tracking.po
│ │ ├── index.po
│ │ ├── indexing.po
│ │ ├── installation.po
│ │ ├── introduction.po
│ │ ├── joins.po
│ │ ├── joins_advanced.po
│ │ ├── joins_exercises.po
│ │ ├── knn.po
│ │ ├── license.po
│ │ ├── linear_referencing.po
│ │ ├── loading_data.po
│ │ ├── postgis-functions.po
│ │ ├── projection.po
│ │ ├── projection_exercises.po
│ │ ├── rasters.po
│ │ ├── schemas.po
│ │ ├── security.po
│ │ ├── simple_sql.po
│ │ ├── simple_sql_exercises.po
│ │ ├── spatial_relationships.po
│ │ ├── spatial_relationships_exercises.po
│ │ ├── topology.po
│ │ ├── tuning.po
│ │ ├── upgrades.po
│ │ ├── validity.po
│ │ └── welcome.po
│ ├── ko
│ └── LC_MESSAGES
│ │ ├── about_data.po
│ │ ├── backup.po
│ │ ├── creating_db.po
│ │ ├── glossary.po
│ │ ├── index.po
│ │ ├── installation.po
│ │ ├── introduction.po
│ │ ├── loading_data.po
│ │ ├── rasters.po
│ │ ├── simple_sql.po
│ │ └── welcome.po
│ ├── pot
│ ├── 3d.pot
│ ├── about_data.pot
│ ├── advanced_geometry_construction.pot
│ ├── backup.pot
│ ├── clusterindex.pot
│ ├── creating_db.pot
│ ├── de9im.pot
│ ├── equality.pot
│ ├── geography.pot
│ ├── geography_exercises.pot
│ ├── geometries.pot
│ ├── geometries_exercises.pot
│ ├── geometry_returning.pot
│ ├── geometry_returning_exercises.pot
│ ├── glossary.pot
│ ├── history_tracking.pot
│ ├── index.pot
│ ├── indexing.pot
│ ├── installation.pot
│ ├── introduction.pot
│ ├── joins.pot
│ ├── joins_advanced.pot
│ ├── joins_exercises.pot
│ ├── knn.pot
│ ├── license.pot
│ ├── linear_referencing.pot
│ ├── loading_data.pot
│ ├── postgis-functions.pot
│ ├── projection.pot
│ ├── projection_exercises.pot
│ ├── rasters.pot
│ ├── schemas.pot
│ ├── security.pot
│ ├── simple_sql.pot
│ ├── simple_sql_exercises.pot
│ ├── spatial_relationships.pot
│ ├── spatial_relationships_exercises.pot
│ ├── topology.pot
│ ├── tuning.pot
│ ├── upgrades.pot
│ ├── validity.pot
│ └── welcome.pot
│ ├── sv
│ └── LC_MESSAGES
│ │ ├── 3d.po
│ │ ├── about_data.po
│ │ ├── advanced_geometry_construction.po
│ │ ├── backup.po
│ │ ├── clusterindex.po
│ │ ├── creating_db.po
│ │ ├── de9im.po
│ │ ├── equality.po
│ │ ├── geography.po
│ │ ├── geography_exercises.po
│ │ ├── geometries.po
│ │ ├── geometries_exercises.po
│ │ ├── geometry_returning.po
│ │ ├── geometry_returning_exercises.po
│ │ ├── glossary.po
│ │ ├── history_tracking.po
│ │ ├── index.po
│ │ ├── indexing.po
│ │ ├── installation.po
│ │ ├── introduction.po
│ │ ├── joins.po
│ │ ├── joins_advanced.po
│ │ ├── joins_exercises.po
│ │ ├── knn.po
│ │ ├── license.po
│ │ ├── linear_referencing.po
│ │ ├── loading_data.po
│ │ ├── postgis-functions.po
│ │ ├── projection.po
│ │ ├── projection_exercises.po
│ │ ├── rasters.po
│ │ ├── schemas.po
│ │ ├── security.po
│ │ ├── simple_sql.po
│ │ ├── simple_sql_exercises.po
│ │ ├── spatial_relationships.po
│ │ ├── spatial_relationships_exercises.po
│ │ ├── topology.po
│ │ ├── tuning.po
│ │ ├── upgrades.po
│ │ ├── validity.po
│ │ └── welcome.po
│ ├── uk
│ └── LC_MESSAGES
│ │ ├── glossary.po
│ │ ├── introduction.po
│ │ └── welcome.po
│ └── zh_Hans
│ └── LC_MESSAGES
│ ├── 3d.po
│ ├── about_data.po
│ ├── advanced_geometry_construction.po
│ ├── clusterindex.po
│ ├── creating_db.po
│ ├── equality.po
│ ├── geography.po
│ ├── geography_exercises.po
│ ├── geometries.po
│ ├── geometries_exercises.po
│ ├── glossary.po
│ ├── history_tracking.po
│ ├── index.po
│ ├── indexing.po
│ ├── installation.po
│ ├── introduction.po
│ ├── joins.po
│ ├── joins_exercises.po
│ ├── license.po
│ ├── loading_data.po
│ ├── postgis-functions.po
│ ├── projection.po
│ ├── projection_exercises.po
│ ├── simple_sql.po
│ ├── simple_sql_exercises.po
│ ├── spatial_relationships.po
│ ├── spatial_relationships_exercises.po
│ ├── upgrades.po
│ └── welcome.po
└── themes
├── foss4g2013
├── layout.html
├── static
│ ├── extra.css
│ ├── favicon.ico
│ └── img
│ │ ├── cc-by-sa.png
│ │ ├── opengeo-logo.png
│ │ └── page-heading-bg.png
└── theme.conf
└── postgis
├── layout.html
├── static
├── extra.css
├── favicon.ico
└── img
│ ├── cc-by-sa.png
│ ├── opengeo-logo.png
│ ├── page-heading-bg.png
│ └── postgis-logo.png
└── theme.conf
/.gitignore:
--------------------------------------------------------------------------------
1 | # Sphinx default build target
2 | postgis-intro/doc
3 | # OSX nonsense
4 | .DS_Store
5 | _build
6 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # PostGIS Workshops
2 |
3 | Training materials for PostGIS
4 |
5 | ## Workshops
6 |
7 | The workshop pages are viewable at below.
8 | Note that we are working on the translations from English to other languages.
9 |
10 | * English: [[pdf]](https://postgis.net/workshops/en/postgis-intro/PostGISIntro.pdf) https://postgis.net/workshops/en/postgis-intro/
11 | * Japanese: https://postgis.net/workshops/ja/postgis-intro/
12 | * Chinese (Simplified): https://postgis.net/workshops/zh_Hans/postgis-intro/
13 | * Swedish: https://postgis.net/workshops/sv/postgis-intro/
14 | * German: [[pdf]](https://postgis.net/workshops/de/postgis-intro/PostGISIntro.pdf) https://postgis.net/workshops/de/postgis-intro/
15 | * Korean: https://postgis.net/workshops/ko/postgis-intro/
16 | * Spanish: https://postgis.net/workshops/es/postgis-intro/
17 | * Italian: https://postgis.net/workshops/it/postgis-intro/
18 | * French: https://postgis.net/workshops/fr/postgis-intro/
19 | * Ukrainian: https://postgis.net/workshops/uk/postgis-intro/
20 |
21 | ## Translations
22 | We are using [Weblate software](https://weblate.org) for translation. If you want to help out, log into [OSGeo Weblate](https://weblate.osgeo.org/projects/postgis-workshop/).
23 |
24 | If you don't already have an OSGeo account, [you can get one here](https://id.osgeo.org/ldap/create). An OSGeo account will allow you to participate in translating both the PostGIS workshop and PostGIS documentation as well is several other [OSGeo projects](https://www.osgeo.org/projects/).
25 |
26 |
27 |
28 |
29 |
30 | ## Building the Workshop Content
31 |
32 | * Install Sphinx: http://www.sphinx-doc.org/en/1.8/usage/installation.html
33 | * python3 -m venv ~/pw-env
34 | * source ~/pw-env/bin/activate
35 | * Go to the source directory: `cd postgis-intro/sources/en/`
36 | * Build the HTML: `make html`
37 | * Check the outputs: `cd ../../doc/en`
38 |
39 | If you get an error about TemplateNotFound('sphinxdoc/layout.html') then
40 | Try doing below (for python3, might need to use pip3 instead of pip):
41 | `pip install sphinx-rtd-theme`
42 |
43 | ## running in Python3 with virtual-env
44 | ```
45 | sudo apt install python3-pip
46 | sudo apt install python3-venv
47 | python3 -m venv ~/pw-env
48 | source ~/pw-env/bin/activate #enter the venv
49 | pip3 install --upgrade pip
50 | pip3 install sphinx-rtd-theme
51 | ```
52 |
53 | ## setting up po translation files
54 | ```
55 | pip3 install sphinx-intl
56 | cd postgis-intro/sources/en
57 | make pot
58 | make po
59 | ```
60 |
61 | ## Building translated docs
62 | ```
63 | cd postgis-intro/sources/en
64 | LANG=ja make html-translation
65 | LANG=de make html-translation
66 | LANG=es make html-translation
67 | LANG=it make html-translation
68 |
69 | # to build pdfs
70 | LANG=de make pdf-translation
71 |
72 | # if you get errors building, you might need to install lang specific
73 | sudo apt install texlive-lang-german
74 | sudo apt install texlive-lang-japanese
75 | ```
76 |
77 | ## PDF builds
78 | ```
79 | make pdf #builds just english
80 | #if you get errors about cmap.sty missing try doing:
81 | sudo apt install texlive-fonts-recommended texlive-latex-recommended texlive-latex-extra
82 | ```
83 |
84 | ### Slide Decks
85 |
86 | * TBD, probably using reveal.js
87 |
--------------------------------------------------------------------------------
/postgis-intro/.editorconfig:
--------------------------------------------------------------------------------
1 | # http://editorconfig.org
2 |
3 | # top-most EditorConfig file
4 | root = true
5 |
6 | # these are the defaults
7 | [*.rst]
8 | charset = utf-8
9 | end_of_line = lf
10 | trim_trailing_whitespace = true
11 | insert_final_newline = true
12 | indent_style = space
13 | indent_size = 2
14 |
15 | [*.py]
16 | indent_style = space
17 | indent_size = 4
18 |
19 | # Makefiles want tab indentation
20 | [Makefile]
21 | indent_style = tab
22 |
23 | # .bat files want CRLF
24 | [*.bat]
25 | end_of_line = crlf
26 |
27 |
--------------------------------------------------------------------------------
/postgis-intro/sources/en/advanced_geometry_construction/adv_geom0.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/advanced_geometry_construction/adv_geom0.jpg
--------------------------------------------------------------------------------
/postgis-intro/sources/en/advanced_geometry_construction/adv_geom1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/advanced_geometry_construction/adv_geom1.jpg
--------------------------------------------------------------------------------
/postgis-intro/sources/en/advanced_geometry_construction/adv_geom2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/advanced_geometry_construction/adv_geom2.jpg
--------------------------------------------------------------------------------
/postgis-intro/sources/en/advanced_geometry_construction/adv_geom3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/advanced_geometry_construction/adv_geom3.jpg
--------------------------------------------------------------------------------
/postgis-intro/sources/en/advanced_geometry_construction/adv_geom4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/advanced_geometry_construction/adv_geom4.jpg
--------------------------------------------------------------------------------
/postgis-intro/sources/en/advanced_geometry_construction/adv_geom5.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/advanced_geometry_construction/adv_geom5.jpg
--------------------------------------------------------------------------------
/postgis-intro/sources/en/clusterindex.rst:
--------------------------------------------------------------------------------
1 | .. _clusterindex:
2 |
3 | Clustering on Indices
4 | =====================
5 |
6 | Databases can only retrieve information as fast as they can get it off of disk. Small databases will float up entirely into RAM cache, and get away from physical disk limitations, but for large databases, access to the physical disk will be a limiting stop in disk access speed.
7 |
8 | Data is written to disk opportunistically, so there is not necessarily any correlation between the order data is stored on the disk and the way it will be accessed or organized by applications.
9 |
10 | .. image:: ./screenshots/clustering1.jpg
11 | :class: inline
12 |
13 | One way to speed up access to data is to ensure that records which is likely to be retrieved together in the same result set are located in similar physical locations on the hard disk platters. This is called "clustering".
14 |
15 | The right clustering scheme to use can be tricky, but a general rule applies: indexes define a natural ordering scheme for data which is similar to the access pattern that will be used in retrieving the data.
16 |
17 | .. image:: ./screenshots/clustering2.jpg
18 | :class: inline
19 |
20 | Because of this, ordering the data on the disk in the same order as the index can provide a speed advantage in some cases.
21 |
22 | Clustering on the R-Tree
23 | ------------------------
24 |
25 | Spatial data tends to be accessed in spatially correlated windows: think of the map window in a web or desktop application. All the data in the windows has similar location value (or it wouldn't be in the window!)
26 |
27 | So, clustering based on a spatial index makes sense for spatial data that is going to be accessed with spatial queries: similar things tend to have similar locations.
28 |
29 | Let's cluster our ``nyc_census_blocks`` based on their spatial index:
30 |
31 | .. code-block:: sql
32 |
33 | -- Cluster the blocks based on their spatial index
34 | CLUSTER nyc_census_blocks USING nyc_census_blocks_geom_idx;
35 |
36 | The command re-writes the ``nyc_census_blocks`` in the order defined by the spatial index ``nyc_census_blocks_geom_gist``. Can you perceive a speed difference? Maybe not, because the original data may have already had some pre-existing spatial ordering (this is not uncommon in GIS data sets).
37 |
38 | Disk Versus Memory/SSD
39 | ----------------------
40 |
41 | Most modern databases are run using SSD storage, which is much faster at random access than old spinning magnetic media. Also, most modern databases are running on top of data which is small enough to fit into the RAM of the database server, and ends up there as the operating system "virtual filesystem" caches it.
42 |
43 | Is clustering still necessary?
44 |
45 | Surprisingly, yes. Keeping records that are "near each other" in space "near each other" in memory increases the odds that related records will move up the servers "memory cache hierarchy" together, and thus make memory accesses faster.
46 |
47 | .. image:: ./screenshots/clustering5.png
48 | :class: inline
49 |
50 | System RAM is not the fastest memory on a modern computer. There are several levels of cache between system RAM and the actual CPU, and the underlying operating system and processor will move data up and down the cache hierarchy in blocks. If the block getting moved up happens to include the piece of data the system will need next... that's a big win. Correlating the memory structure with the spatial structure is a way in increase the odds of that win happening.
51 |
52 | Does Index Structure Matter?
53 | ----------------------------
54 |
55 | In theory, yes. In practice, no really. As long as the index is a "pretty good" spatial decomposition of the data, the main determinant of performance will be the order of the actual table tuples.
56 |
57 | The difference between "no index" and "index" is generally huge and highly measurable. The difference between "mediocre index" and "great index" usually takes quite careful measurement to discern, and can be very sensitive to the workload being tested.
58 |
59 |
60 | Function List
61 | -------------
62 |
63 | `CLUSTER `_: Re-orders the data in a table to match the ordering in the index.
64 |
--------------------------------------------------------------------------------
/postgis-intro/sources/en/creating_db.rst:
--------------------------------------------------------------------------------
1 | .. _creating_db:
2 |
3 | Creating a Spatial Database
4 | ===========================
5 |
6 | PgAdmin
7 | -------
8 |
9 | PostgreSQL has a number of administrative front-ends. The primary one is `psql `_, a command-line tool for entering SQL queries. Another popular PostgreSQL front-end is the free and open source graphical tool `pgAdmin `_. All queries done in pgAdmin can also be done on the command line with ``psql``.
10 | pgAdmin also includes a geometry viewer you can use to spatial view PostGIS queries.
11 |
12 | #. Find pgAdmin and start it up.
13 |
14 | .. image:: ./screenshots/pgadmin_01.png
15 | :class: inline
16 |
17 | #. If this is the first time you have run pgAdmin, you probably don't have any servers configured. Right click the ``Servers`` item in the Browser panel.
18 |
19 | We'll name our server **PostGIS**. In the Connection tab, enter the ``Host name/address``. If you're working with a local PostgreSQL install, you'll be able to use ``localhost``. If you're using a cloud service, you should be able to retrieve the host name from your account.
20 |
21 | Leave **Port** set at ``5432``, and both **Maintenance database** and **Username** as ``postgres``. The **Password** should be what you specified with a local install or with your cloud service.
22 |
23 | .. image:: ./screenshots/pgadmin_02a.png
24 | :class: inline
25 |
26 | Creating a Database
27 | -------------------
28 |
29 | #. Open the Databases tree item and have a look at the available databases. The ``postgres`` database is the user database for the default postgres user and is not too interesting to us.
30 |
31 | #. Right-click on the ``Databases`` item and select ``New Database``.
32 |
33 | .. image:: ./screenshots/pgadmin_02.png
34 | :class: inline
35 |
36 | #. Fill in the ``Create Database`` form as shown below and click **OK**.
37 |
38 | .. list-table::
39 |
40 | * - **Name**
41 | - ``nyc``
42 | * - **Owner**
43 | - ``postgres``
44 |
45 |
46 | .. image:: ./screenshots/pgadmin_03.png
47 | :class: inline
48 |
49 | #. Select the new ``nyc`` database and open it up to display the tree of objects. You'll see the ``public`` schema.
50 |
51 | .. image:: ./screenshots/pgadmin_04.png
52 |
53 | #. Click on the SQL query button indicated below (or go to *Tools > Query Tool*).
54 |
55 | .. image:: ./screenshots/pgadmin_05.png
56 |
57 | #. Enter the following query into the query text field to load the PostGIS spatial extension:
58 |
59 | .. code-block:: sql
60 |
61 | CREATE EXTENSION postgis;
62 |
63 | #. Click the **Play** button in the toolbar (or press **F5**) to "Execute the query."
64 |
65 | #. Now confirm that PostGIS is installed by running a PostGIS function:
66 |
67 | .. code-block:: sql
68 |
69 | SELECT postgis_full_version();
70 |
71 | You have successfully created a PostGIS spatial database!!
72 |
73 |
74 | Function List
75 | -------------
76 |
77 | `PostGIS_Full_Version `_: Reports full PostGIS version and build configuration info.
78 |
--------------------------------------------------------------------------------
/postgis-intro/sources/en/equality/polygon-table.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/equality/polygon-table.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/equality/polygon1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/equality/polygon1.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/equality/polygon2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/equality/polygon2.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/equality/polygon3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/equality/polygon3.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/equality/polygon4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/equality/polygon4.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/equality/polygon5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/equality/polygon5.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/equality/start13.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/equality/start13.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/equality/start14.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/equality/start14.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/equality/start15.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/equality/start15.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/equality/start17.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/equality/start17.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/geography/cartesian_spherical.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/geography/cartesian_spherical.jpg
--------------------------------------------------------------------------------
/postgis-intro/sources/en/geography/lax_cdg.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/geography/lax_cdg.jpg
--------------------------------------------------------------------------------
/postgis-intro/sources/en/geography/lax_nrt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/geography/lax_nrt.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/geography/lax_tok.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/geography/lax_tok.jpg
--------------------------------------------------------------------------------
/postgis-intro/sources/en/geography_exercises.rst:
--------------------------------------------------------------------------------
1 | .. _geography_exercises:
2 |
3 | Geography Exercises
4 | ===================
5 |
6 | Here's a reminder of all the functions we have seen so far. They should be useful for the exercises!
7 |
8 | * :command:`Sum(number)` adds up all the numbers in the result set
9 | * :command:`ST_GeogFromText(text)` returns a geography
10 | * :command:`ST_Distance(geography, geography)` returns the distance between geographies
11 | * :command:`ST_Transform(geometry, srid)` returns geometry, in the new projection
12 | * :command:`ST_Length(geography)` returns the length of the line
13 | * :command:`ST_Intersects(geometry, geometry)` returns true if the objects are not disjoint in planar space
14 | * :command:`ST_Intersects(geography, geography)` returns true if the objects are not disjoint in spheroidal space
15 |
16 | Also remember the tables we have available:
17 |
18 | * ``nyc_streets``
19 |
20 | * name, type, geom
21 |
22 | * ``nyc_neighborhoods``
23 |
24 | * name, boroname, geom
25 |
26 |
27 | Exercises
28 | ---------
29 |
30 | * **How far is New York from Seattle? What are the units of the answer?**
31 |
32 | .. note::
33 |
34 | New York = ``POINT(-74.0064 40.7142)`` and Seattle = ``POINT(-122.3331 47.6097)``
35 |
36 | .. code-block:: sql
37 |
38 | SELECT ST_Distance(
39 | 'POINT(-74.0064 40.7142)'::geography,
40 | 'POINT(-122.3331 47.6097)'::geography
41 | );
42 |
43 | ::
44 |
45 | 3875538.57141352
46 |
47 |
48 | * **What is the total length of all streets in New York, calculated on the spheroid?**
49 |
50 | .. code-block:: sql
51 |
52 | SELECT Sum(
53 | ST_Length(Geography(
54 | ST_Transform(geom,4326)
55 | )))
56 | FROM nyc_streets;
57 |
58 | ::
59 |
60 | 10421999.666
61 |
62 | .. note::
63 |
64 | The length calculated in the planar "UTM Zone 18" projection is 10418904.717, 0.02% different. UTM is good at preserving area and distance, within the zone boundaries.
65 |
66 |
67 | * **Does ‘POINT(1 2.0001)’ intersect with ‘POLYGON((0 0, 0 2, 2 2, 2 0, 0 0))’ in geography? In geometry? Why the difference?**
68 |
69 | .. code-block:: sql
70 |
71 | SELECT ST_Intersects(
72 | 'POINT(1 2.0001)'::geography,
73 | 'POLYGON((0 0,0 2,2 2,2 0,0 0))'::geography
74 | );
75 |
76 | SELECT ST_Intersects(
77 | 'POINT(1 2.0001)'::geometry,
78 | 'POLYGON((0 0,0 2,2 2,2 0,0 0))'::geometry
79 | );
80 |
81 | ::
82 |
83 | true and false
84 |
85 | .. note::
86 |
87 | The upper edge of the square is a straight line in geometry, and passes **below** the point, so the square does not contain the point. The upper edge of the square is a great circle in geography, and passes **above** the point, so the square does contain the point.
88 |
89 |
--------------------------------------------------------------------------------
/postgis-intro/sources/en/geometries/represent-07.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/geometries/represent-07.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/geometries/start01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/geometries/start01.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/geometries/start08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/geometries/start08.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/geometries/table01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/geometries/table01.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/geometry_returning/buffer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/geometry_returning/buffer.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/geometry_returning/centroid.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/geometry_returning/centroid.jpg
--------------------------------------------------------------------------------
/postgis-intro/sources/en/geometry_returning/intersection.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/geometry_returning/intersection.jpg
--------------------------------------------------------------------------------
/postgis-intro/sources/en/geometry_returning/liberty_negative.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/geometry_returning/liberty_negative.jpg
--------------------------------------------------------------------------------
/postgis-intro/sources/en/geometry_returning/liberty_positive.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/geometry_returning/liberty_positive.jpg
--------------------------------------------------------------------------------
/postgis-intro/sources/en/geometry_returning/st_buffer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/geometry_returning/st_buffer.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/geometry_returning/union.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/geometry_returning/union.jpg
--------------------------------------------------------------------------------
/postgis-intro/sources/en/geometry_returning/union_counties.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/geometry_returning/union_counties.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/geometry_returning_exercises.rst:
--------------------------------------------------------------------------------
1 | .. _geometry_returning_exercises:
2 |
3 | Geometry Constructing Exercises
4 | ===============================
5 |
6 | Here's a reminder of some of the functions we have seen. Hint: they should be useful for the exercises!
7 |
8 | * :command:`sum(expression)` aggregate to return a sum for a set of records
9 | * :command:`ST_Area(geometry)` returns the area of the geometry
10 | * :command:`ST_Centroid(geometry)` returns the ``geometry`` centroid
11 | * :command:`ST_Transform(geometry, srid)` converts ``geometries`` into different spatial reference systems
12 | * :command:`ST_Buffer(geometry, radius)` returns an expanded ``geometry`` shape
13 | * :command:`ST_Contains(geometry1, geometry2)` returns true if geometry1 contains geometry2
14 | * :command:`ST_Union(geometry[])` returns the aggregate union of all geometries in the group
15 | * :command:`ST_GeometryType(geometry)` returns the type of the geometry
16 | * :command:`ST_NumGeometries(geometry)` returns the number of geometries in a collection or 1 for simple geometries
17 | * :command:`ST_Intersection(geometry, geometry)` returns the area that the two input geometries share in common
18 |
19 |
20 | Remember the tables we have available:
21 |
22 | * ``nyc_census_blocks``
23 |
24 | * name, popn_total, boroname, geom
25 |
26 | * ``nyc_streets``
27 |
28 | * name, type, geom
29 |
30 | * ``nyc_subway_stations``
31 |
32 | * name, geom
33 |
34 | * ``nyc_neighborhoods``
35 |
36 | * name, boroname, geom
37 |
38 | Exercises
39 | ---------
40 |
41 | * **How many census blocks don’t contain their own centroid?**
42 |
43 | .. code-block:: sql
44 |
45 | SELECT Count(*)
46 | FROM nyc_census_blocks
47 | WHERE NOT
48 | ST_Contains(
49 | geom,
50 | ST_Centroid(geom)
51 | );
52 |
53 | ::
54 |
55 | 481
56 |
57 | * **Union all the census blocks into a single output. What kind of geometry is it? How many parts does it have?**
58 |
59 | .. code-block:: sql
60 |
61 | CREATE TABLE nyc_census_blocks_merge AS
62 | SELECT ST_Union(geom) AS geom
63 | FROM nyc_census_blocks;
64 |
65 | SELECT ST_GeometryType(geom)
66 | FROM nyc_census_blocks_merge;
67 |
68 | ::
69 |
70 | ST_MultiPolygon
71 |
72 | .. code-block:: sql
73 |
74 | SELECT ST_NumGeometries(geom)
75 | FROM nyc_census_blocks_merge;
76 |
77 | ::
78 |
79 | 63
80 |
81 |
82 | * **What is the area of a one unit buffer around the origin? How different is it from what you would expect? Why?**
83 |
84 | .. code-block:: sql
85 |
86 | SELECT ST_Area(ST_Buffer('POINT(0 0)', 1));
87 |
88 | ::
89 |
90 | 3.121445152258052
91 |
92 | .. note::
93 |
94 | A unit circle (circle with radius of one) should have an area of pi, 3.1415926... The difference is due to the linear stroking of the edges of the buffer. The buffer has a finite number of edges. Increasing the number of edges in the buffer will get the value closer to pi, but it will always be smaller due to the linearization.
95 |
96 | * **The Brooklyn neighborhoods of ‘Park Slope’ and ‘Carroll Gardens’ are going to war! Construct a polygon delineating a 100 meter wide DMZ on the border between the neighborhoods. What is the area of the DMZ?**
97 |
98 | .. code-block:: sql
99 |
100 | CREATE TABLE brooklyn_dmz AS
101 | SELECT
102 | ST_Intersection(
103 | ST_Buffer(ps.geom, 50),
104 | ST_Buffer(cg.geom, 50))
105 | AS geom
106 | FROM
107 | nyc_neighborhoods ps,
108 | nyc_neighborhoods cg
109 | WHERE ps.name = 'Park Slope'
110 | AND cg.name = 'Carroll Gardens';
111 |
112 | SELECT ST_Area(geom) FROM brooklyn_dmz;
113 |
114 | .. note::
115 |
116 | It is easy to buffer both the neighborhoods of interest, but to get the intersection requires a self-join of the table, creating one relation (``ps``) with just the "Park Slope" record and another (``cg``) with just the "Carroll Gardens" record. Note that the area of the intersection is in square meters because we are still working in UTM 18 (EPSG:26918).
117 |
118 | ::
119 |
120 | 180990.964207547
121 |
122 |
--------------------------------------------------------------------------------
/postgis-intro/sources/en/index.rst:
--------------------------------------------------------------------------------
1 | .. Introduction to PostGIS master file.
2 |
3 | Introduction to PostGIS
4 | =======================
5 |
6 | Getting Started
7 | ---------------
8 |
9 | * This workshop uses a `data bundle `_. Download it and extract to a convenient location.
10 |
11 | * The **presentation deck** that goes with this workshop is available `on Google Slides `_.
12 |
13 | * The **cheat sheet** of SQL commands that are run in this workshop is `available here `_.
14 |
15 |
16 | Data Bundle
17 | -----------
18 |
19 | Inside the data bundle, you will find:
20 |
21 | **data/**
22 | a directory containing the data files we will be loading
23 |
24 | **printing/**
25 | a directory containing the exercise pages and data model pages
26 |
27 |
28 | License & Copying
29 | -----------------
30 |
31 | All the data in the package is public domain and freely redistributable. All the software in the package is open source, and freely redistributable. This workshop is licensed as Creative Commons "`share alike with attribution `_", and is freely redistributable under the terms of that license.
32 |
33 |
34 | Workshop Modules
35 | ----------------
36 |
37 | .. toctree::
38 | :maxdepth: 1
39 | :numbered:
40 |
41 | welcome
42 | introduction
43 | installation
44 | creating_db
45 | loading_data
46 | about_data
47 | simple_sql
48 | simple_sql_exercises
49 | geometries
50 | geometries_exercises
51 | spatial_relationships
52 | spatial_relationships_exercises
53 | joins
54 | joins_exercises
55 | indexing
56 | projection
57 | projection_exercises
58 | geography
59 | geography_exercises
60 | geometry_returning
61 | geometry_returning_exercises
62 | joins_advanced
63 | validity
64 | equality
65 | linear_referencing
66 | de9im
67 | clusterindex
68 | 3d
69 | knn
70 | rasters
71 | topology
72 | topology_base_types
73 | topology_topo_types
74 | history_tracking
75 | tuning
76 | security
77 | schemas
78 | backup
79 | upgrades
80 | advanced_geometry_construction
81 |
82 | postgis-functions
83 | glossary
84 | license
85 |
86 |
87 | Links to have on hand
88 | ---------------------
89 |
90 | * PostGIS - https://postgis.net/
91 |
92 | - Docs - https://postgis.net/docs/
93 |
94 | * PostgreSQL - https://www.postgresql.org/
95 |
96 | - Docs - https://www.postgresql.org/docs/
97 | - Downloads - https://www.postgresql.org/download/
98 | - JDBC Driver - https://jdbc.postgresql.org/
99 | - .Net Driver - https://www.npgsql.org/
100 | - Python Driver - http://www.pygresql.org/
101 | - C/C++ Driver - https://www.postgresql.org/docs/current/static/libpq.html
102 |
103 | * PgAdmin - https://www.pgadmin.org/
104 |
105 | * Open Source Desktop Clients
106 |
107 | - QGIS - https://qgis.org/
108 | - OpenJUMP - http://openjump.org/
109 | - uDig - https://udig.github.io/
110 |
111 |
--------------------------------------------------------------------------------
/postgis-intro/sources/en/indexing/bbox.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/indexing/bbox.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/indexing/index-01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/indexing/index-01.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/indexing/index-02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/indexing/index-02.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/installation.rst:
--------------------------------------------------------------------------------
1 | .. _installation:
2 |
3 | Installation
4 | ============
5 |
6 | To explore the PostgreSQL/PostGIS database, and learn about writing spatial queries in SQL, we will need some software, either installed locally or available remotely on the cloud.
7 |
8 | * There are instructions below on how to access PostgreSQL for installation on Windows or MacOS. PostgreSQL for Windows and MacOS either include PostGIS or have an easy way to add it on.
9 | * There are instructions below on how to install `PgAdmin `_. PgAdmin is a graphical database explorer and SQL editor which provides a "user facing" interface to the database engine that does all the work.
10 |
11 | For always up-to-date directions on installing PostgreSQL, go to the `PostgreSQL download page `_ and select the operating system you are using.
12 |
13 |
14 | PostgreSQL for Microsoft Windows
15 | --------------------------------
16 |
17 | For a Windows install:
18 |
19 | #. Go to the `Windows PostgreSQL download page `_.
20 |
21 | #. Select the latest version of PostgreSQL and save the installer to disk.
22 |
23 | #. Run the installer and accept the defaults.
24 |
25 | #. Find and run the "StackBuilder" program that was installed with the database.
26 |
27 | #. Select the "Spatial Extensions" section and choose latest "PostGIS ..Bundle" option.
28 |
29 | .. image:: ./screenshots/install_windows_01.png
30 | :class: inline
31 |
32 | #. Accept the defaults and install.
33 |
34 |
35 | PostgreSQL for Apple MacOS
36 | --------------------------
37 |
38 | For a MacOS install:
39 |
40 | #. Go to the `Postgres.app `_ site, and download the latest release.
41 |
42 | #. Open the disk image, and drag the **Postgres** icon into the **Applications** folder.
43 |
44 | .. image:: ./screenshots/install_macos_01.png
45 | :class: inline
46 |
47 | #. In the **Applications** folder, double-click the **Postgres** icon to start the server.
48 |
49 | #. Click the **Initialize** button to create a new blank database instance.
50 |
51 | .. image:: ./screenshots/install_macos_02.png
52 | :class: inline, border
53 |
54 | #. In the **Applications** folder, go to the **Utilities** folder and open **Terminal**.
55 |
56 | #. Add the command-line utilities to your `PATH` for convenience.
57 |
58 | ::
59 |
60 | sudo mkdir -p /etc/paths.d
61 | echo /Applications/Postgres.app/Contents/Versions/latest/bin | sudo tee /etc/paths.d/postgresapp
62 |
63 |
64 | PgAdmin for Windows and MacOS
65 | -----------------------------
66 |
67 | PgAdmin is available for multiple platforms, at https://www.pgadmin.org/download/.
68 |
69 | #. Download and install the latest version for your platform.
70 |
71 | #. Start PgAdmin!
72 |
73 | .. image:: ./screenshots/install_pgadmin_01.png
74 | :class: inline
75 |
76 |
77 |
78 |
79 |
--------------------------------------------------------------------------------
/postgis-intro/sources/en/introduction/beginning.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/introduction/beginning.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/introduction/boundingbox.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/introduction/boundingbox.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/introduction/hierarchy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/introduction/hierarchy.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/introduction/lines.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/introduction/lines.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/introduction/mbr.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/introduction/mbr.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/introduction/points.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/introduction/points.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/introduction/polygons.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/introduction/polygons.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/license.rst:
--------------------------------------------------------------------------------
1 | .. _license:
2 |
3 | Appendix C: License
4 | ===================
5 |
6 | This work is licensed under the Creative Commons Attribution-Share Alike, United States License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/us/ or send a letter to Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA.
7 |
8 | Our attribution requirement is that you retain the visible copyright notices in all materials.
9 |
--------------------------------------------------------------------------------
/postgis-intro/sources/en/postgis-functions.rst:
--------------------------------------------------------------------------------
1 | .. _postgis-functions:
2 |
3 | Appendix A: PostGIS Functions
4 | =============================
5 |
6 | Constructors
7 | ------------
8 |
9 | :command:`ST_MakePoint(Longitude, Latitude)`
10 | Returns a new point. Note the order of the coordinates (longitude then latitude).
11 |
12 | :command:`ST_GeomFromText(WellKnownText, srid)`
13 | Returns a new geometry from a standard WKT string and srid.
14 |
15 | :command:`ST_SetSRID(geometry, srid)`
16 | Updates the srid on a geometry. Returns the same geometry. This does not alter the coordinates of the geometry, it just updates the srid. This function is useful for conditioning geometries created without an srid.
17 |
18 | :command:`ST_Expand(geometry, Radius)`
19 | Returns a new geometry that is an expanded bounding box of the input geometry. This function is useful for creating envelopes for use in indexed searches.
20 |
21 | Outputs
22 | -------
23 |
24 | :command:`ST_AsText(geometry)`
25 | Returns a geometry in a human-readable text format.
26 |
27 | :command:`ST_AsGML(geometry)`
28 | Returns a geometry in standard OGC :term:`GML` format.
29 |
30 | :command:`ST_AsGeoJSON(geometry)`
31 | Returns a geometry to a standard `GeoJSON `_ format.
32 |
33 | Measurements
34 | ------------
35 |
36 | :command:`ST_Area(geometry)`
37 | Returns the area of the geometry in the units of the spatial reference system.
38 |
39 | :command:`ST_Length(geometry)`
40 | Returns the length of the geometry in the units of the spatial reference system.
41 |
42 | :command:`ST_Perimeter(geometry)`
43 | Returns the perimeter of the geometry in the units of the spatial reference system.
44 |
45 | :command:`ST_NumPoints(linestring)`
46 | Returns the number of vertices in a linestring.
47 |
48 | :command:`ST_NumRings(polygon)`
49 | Returns the number of rings in a polygon.
50 |
51 | :command:`ST_NumGeometries(geometry)`
52 | Returns the number of geometries in a geometry collection.
53 |
54 | Relationships
55 | -------------
56 |
57 | :command:`ST_Distance(geometry, geometry)`
58 | Returns the distance between two geometries in the units of the spatial reference system.
59 |
60 | :command:`ST_DWithin(geometry, geometry, radius)`
61 | Returns true if the geometries are within the radius distance of one another, otherwise false.
62 |
63 | :command:`ST_Intersects(geometry, geometry)`
64 | Returns true if the geometries are not disjoint, otherwise false.
65 |
66 | :command:`ST_Contains(geometry, geometry)`
67 | Returns true if the first geometry fully contains the second geometry, otherwise false.
68 |
69 | :command:`ST_Crosses(geometry, geometry)`
70 | Returns true if a line or polygon boundary crosses another line or polygon boundary, otherwise false.
71 |
--------------------------------------------------------------------------------
/postgis-intro/sources/en/rasters/hello-ny.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/rasters/hello-ny.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/rasters/hello-raster-ny-mean.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/rasters/hello-raster-ny-mean.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/rasters/hello-raster-ny.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/rasters/hello-raster-ny.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/rasters/hello.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/rasters/hello.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/rasters/postgis_raster.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/rasters/postgis_raster.jpg
--------------------------------------------------------------------------------
/postgis-intro/sources/en/rasters/postgis_raster.odg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/rasters/postgis_raster.odg
--------------------------------------------------------------------------------
/postgis-intro/sources/en/rasters/raster-hello-ny.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/rasters/raster-hello-ny.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/rasters/raster-ny.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/rasters/raster-ny.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/rasters/raster-st-pixel-as-polygons-pgAdmin-Grid.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/rasters/raster-st-pixel-as-polygons-pgAdmin-Grid.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/rasters/raster-st-pixel-as-polygons-pgAdmin-geomviewer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/rasters/raster-st-pixel-as-polygons-pgAdmin-geomviewer.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/rasters/raster_as_geometry.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/rasters/raster_as_geometry.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/rasters/st-dump-as-polygons.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/rasters/st-dump-as-polygons.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/rasters/st_colormap_ny_dem.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/rasters/st_colormap_ny_dem.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/rasters/st_transform_nooverlaps.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/rasters/st_transform_nooverlaps.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/rasters/st_transform_overlaps.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/rasters/st_transform_overlaps.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/screenshots/backup1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/backup1.jpg
--------------------------------------------------------------------------------
/postgis-intro/sources/en/screenshots/backup2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/backup2.jpg
--------------------------------------------------------------------------------
/postgis-intro/sources/en/screenshots/backup3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/backup3.jpg
--------------------------------------------------------------------------------
/postgis-intro/sources/en/screenshots/backup4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/backup4.jpg
--------------------------------------------------------------------------------
/postgis-intro/sources/en/screenshots/backup5.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/backup5.jpg
--------------------------------------------------------------------------------
/postgis-intro/sources/en/screenshots/centroid_neighborhood.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/centroid_neighborhood.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/screenshots/clustering1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/clustering1.jpg
--------------------------------------------------------------------------------
/postgis-intro/sources/en/screenshots/clustering2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/clustering2.jpg
--------------------------------------------------------------------------------
/postgis-intro/sources/en/screenshots/clustering3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/clustering3.jpg
--------------------------------------------------------------------------------
/postgis-intro/sources/en/screenshots/clustering4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/clustering4.jpg
--------------------------------------------------------------------------------
/postgis-intro/sources/en/screenshots/clustering5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/clustering5.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/screenshots/collection.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/collection.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/screenshots/collection2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/collection2.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/screenshots/dashboard_01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/dashboard_01.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/screenshots/dashboard_02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/dashboard_02.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/screenshots/data_loading_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/data_loading_1.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/screenshots/data_loading_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/data_loading_2.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/screenshots/data_loading_2a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/data_loading_2a.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/screenshots/data_loading_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/data_loading_3.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/screenshots/data_loading_4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/data_loading_4.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/screenshots/de9im1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/de9im1.jpg
--------------------------------------------------------------------------------
/postgis-intro/sources/en/screenshots/de9im10.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/de9im10.jpg
--------------------------------------------------------------------------------
/postgis-intro/sources/en/screenshots/de9im11.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/de9im11.jpg
--------------------------------------------------------------------------------
/postgis-intro/sources/en/screenshots/de9im12.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/de9im12.jpg
--------------------------------------------------------------------------------
/postgis-intro/sources/en/screenshots/de9im2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/de9im2.jpg
--------------------------------------------------------------------------------
/postgis-intro/sources/en/screenshots/de9im3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/de9im3.jpg
--------------------------------------------------------------------------------
/postgis-intro/sources/en/screenshots/de9im4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/de9im4.jpg
--------------------------------------------------------------------------------
/postgis-intro/sources/en/screenshots/de9im5.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/de9im5.jpg
--------------------------------------------------------------------------------
/postgis-intro/sources/en/screenshots/de9im6.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/de9im6.jpg
--------------------------------------------------------------------------------
/postgis-intro/sources/en/screenshots/de9im7.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/de9im7.jpg
--------------------------------------------------------------------------------
/postgis-intro/sources/en/screenshots/de9im8.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/de9im8.jpg
--------------------------------------------------------------------------------
/postgis-intro/sources/en/screenshots/de9im9.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/de9im9.jpg
--------------------------------------------------------------------------------
/postgis-intro/sources/en/screenshots/install_components.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/install_components.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/screenshots/install_directory.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/install_directory.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/screenshots/install_finish.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/install_finish.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/screenshots/install_installing.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/install_installing.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/screenshots/install_license.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/install_license.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/screenshots/install_macos_01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/install_macos_01.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/screenshots/install_macos_02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/install_macos_02.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/screenshots/install_pgadmin_01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/install_pgadmin_01.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/screenshots/install_ready.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/install_ready.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/screenshots/install_startmenu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/install_startmenu.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/screenshots/install_welcome.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/install_welcome.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/screenshots/install_windows_01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/install_windows_01.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/screenshots/knn1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/knn1.jpg
--------------------------------------------------------------------------------
/postgis-intro/sources/en/screenshots/knn2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/knn2.jpg
--------------------------------------------------------------------------------
/postgis-intro/sources/en/screenshots/knn3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/knn3.jpg
--------------------------------------------------------------------------------
/postgis-intro/sources/en/screenshots/knn4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/knn4.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/screenshots/knn5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/knn5.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/screenshots/lrs1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/lrs1.jpg
--------------------------------------------------------------------------------
/postgis-intro/sources/en/screenshots/nyc_census_blocks.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/nyc_census_blocks.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/screenshots/nyc_neighborhoods.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/nyc_neighborhoods.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/screenshots/nyc_streets.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/nyc_streets.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/screenshots/nyc_subway_stations.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/nyc_subway_stations.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/screenshots/nyc_tracts_flatbush.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/nyc_tracts_flatbush.jpg
--------------------------------------------------------------------------------
/postgis-intro/sources/en/screenshots/pgadmin_01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/pgadmin_01.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/screenshots/pgadmin_02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/pgadmin_02.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/screenshots/pgadmin_02a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/pgadmin_02a.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/screenshots/pgadmin_03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/pgadmin_03.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/screenshots/pgadmin_03a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/pgadmin_03a.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/screenshots/pgadmin_04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/pgadmin_04.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/screenshots/pgadmin_05.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/pgadmin_05.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/screenshots/pgadmin_06.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/pgadmin_06.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/screenshots/pgadmin_07.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/pgadmin_07.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/screenshots/pgadmin_08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/pgadmin_08.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/screenshots/pgadmin_09.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/pgadmin_09.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/screenshots/pgshapeloader_01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/pgshapeloader_01.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/screenshots/pgshapeloader_01a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/pgshapeloader_01a.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/screenshots/pgshapeloader_02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/pgshapeloader_02.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/screenshots/pgshapeloader_03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/pgshapeloader_03.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/screenshots/polygons.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/polygons.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/screenshots/prj2epsg_01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/prj2epsg_01.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/screenshots/qgis_dbmanager.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/qgis_dbmanager.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/screenshots/refresh.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/refresh.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/screenshots/schemas.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/schemas.jpg
--------------------------------------------------------------------------------
/postgis-intro/sources/en/screenshots/ssl_conf.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/ssl_conf.jpg
--------------------------------------------------------------------------------
/postgis-intro/sources/en/screenshots/ssl_create.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/ssl_create.jpg
--------------------------------------------------------------------------------
/postgis-intro/sources/en/screenshots/ssl_props.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/ssl_props.jpg
--------------------------------------------------------------------------------
/postgis-intro/sources/en/screenshots/subways_buffered.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/screenshots/subways_buffered.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/spatial_relationships/atlantic_commons.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/spatial_relationships/atlantic_commons.jpg
--------------------------------------------------------------------------------
/postgis-intro/sources/en/spatial_relationships/broad_st.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/spatial_relationships/broad_st.jpg
--------------------------------------------------------------------------------
/postgis-intro/sources/en/spatial_relationships/cortland.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/spatial_relationships/cortland.jpg
--------------------------------------------------------------------------------
/postgis-intro/sources/en/spatial_relationships/distance-01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/spatial_relationships/distance-01.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/spatial_relationships/st_buffer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/spatial_relationships/st_buffer.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/spatial_relationships/st_crosses.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/spatial_relationships/st_crosses.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/spatial_relationships/st_disjoint.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/spatial_relationships/st_disjoint.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/spatial_relationships/st_dwithin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/spatial_relationships/st_dwithin.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/spatial_relationships/st_equals.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/spatial_relationships/st_equals.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/spatial_relationships/st_intersection.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/spatial_relationships/st_intersection.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/spatial_relationships/st_intersects.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/spatial_relationships/st_intersects.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/spatial_relationships/st_overlaps.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/spatial_relationships/st_overlaps.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/spatial_relationships/st_touches.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/spatial_relationships/st_touches.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/spatial_relationships/st_within.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/spatial_relationships/st_within.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/spatial_relationships_exercises.rst:
--------------------------------------------------------------------------------
1 | .. _spatial_relationships_exercises:
2 |
3 | Spatial Relationships Exercises
4 | ===============================
5 |
6 | Here's a reminder of the functions we saw in the last section. They should be useful for the exercises!
7 |
8 | * :command:`sum(expression)` aggregate to return a sum for a set of records
9 | * :command:`count(expression)` aggregate to return the size of a set of records
10 | * :command:`ST_Contains(geometry A, geometry B)` returns true if geometry A contains geometry B
11 | * :command:`ST_Crosses(geometry A, geometry B)` returns true if geometry A crosses geometry B
12 | * :command:`ST_Disjoint(geometry A , geometry B)` returns true if the geometries do not "spatially intersect"
13 | * :command:`ST_Distance(geometry A, geometry B)` returns the minimum distance between geometry A and geometry B
14 | * :command:`ST_DWithin(geometry A, geometry B, radius)` returns true if geometry A is radius distance or less from geometry B
15 | * :command:`ST_Equals(geometry A, geometry B)` returns true if geometry A is the same as geometry B
16 | * :command:`ST_Intersects(geometry A, geometry B)` returns true if geometry A intersects geometry B
17 | * :command:`ST_Overlaps(geometry A, geometry B)` returns true if geometry A and geometry B share space, but are not completely contained by each other.
18 | * :command:`ST_Touches(geometry A, geometry B)` returns true if the boundary of geometry A touches geometry B
19 | * :command:`ST_Within(geometry A, geometry B)` returns true if geometry A is within geometry B
20 |
21 | Also remember the tables we have available:
22 |
23 | * ``nyc_census_blocks``
24 |
25 | * blkid, popn_total, boroname, geom
26 |
27 | * ``nyc_streets``
28 |
29 | * name, type, geom
30 |
31 | * ``nyc_subway_stations``
32 |
33 | * name, geom
34 |
35 | * ``nyc_neighborhoods``
36 |
37 | * name, boroname, geom
38 |
39 | Exercises
40 | ---------
41 |
42 | * **What is the geometry value for the street named 'Atlantic Commons'?**
43 |
44 | .. code-block:: sql
45 |
46 | SELECT ST_AsText(geom)
47 | FROM nyc_streets
48 | WHERE name = 'Atlantic Commons';
49 |
50 | ::
51 |
52 | MULTILINESTRING((586781.701577724 4504202.15314339,586863.51964484 4504215.9881701))
53 |
54 | * **What neighborhood and borough is Atlantic Commons in?**
55 |
56 | .. code-block:: sql
57 |
58 | SELECT name, boroname
59 | FROM nyc_neighborhoods
60 | WHERE ST_Intersects(
61 | geom,
62 | ST_GeomFromText('LINESTRING(586782 4504202,586864 4504216)', 26918)
63 | );
64 |
65 | ::
66 |
67 | name | boroname
68 | ------------+----------
69 | Fort Green | Brooklyn
70 |
71 | .. note::
72 |
73 | "Hey, why did you change from a 'MULTILINESTRING' to a 'LINESTRING'?" Spatially they describe the same shape, so going from a single-item multi-geometry to a singleton saves a few keystrokes.
74 |
75 | More importantly, we also rounded the coordinates to make them easier to read, which does actually change results: we couldn't use the ST_Touches() predicate to find out which roads join Atlantic Commons, because the coordinates are not exactly the same anymore.
76 |
77 |
78 | * **What streets does Atlantic Commons join with?**
79 |
80 | .. code-block:: sql
81 |
82 | SELECT name
83 | FROM nyc_streets
84 | WHERE ST_DWithin(
85 | geom,
86 | ST_GeomFromText('LINESTRING(586782 4504202,586864 4504216)', 26918),
87 | 0.1
88 | );
89 |
90 | ::
91 |
92 | name
93 | ------------------
94 | Cumberland St
95 | Atlantic Commons
96 |
97 | .. image:: ./spatial_relationships/atlantic_commons.jpg
98 |
99 |
100 | * **Approximately how many people live on (within 50 meters of) Atlantic Commons?**
101 |
102 | .. code-block:: sql
103 |
104 | SELECT Sum(popn_total)
105 | FROM nyc_census_blocks
106 | WHERE ST_DWithin(
107 | geom,
108 | ST_GeomFromText('LINESTRING(586782 4504202,586864 4504216)', 26918),
109 | 50
110 | );
111 |
112 | ::
113 |
114 | 1438
115 |
116 |
--------------------------------------------------------------------------------
/postgis-intro/sources/en/topology/basic_types.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/topology/basic_types.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/topology/boros_topogeom.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/topology/boros_topogeom.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/topology/boros_universal_face.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/topology/boros_universal_face.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/topology/components.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/topology/components.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/topology/edge_left_right.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/topology/edge_left_right.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/topology/edge_perspective.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/topology/edge_perspective.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/topology/face_directions.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/topology/face_directions.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/topology/geomtable2topotable.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/topology/geomtable2topotable.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/topology/hierarchy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/topology/hierarchy.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/topology/next_edge_base.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/topology/next_edge_base.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/topology/next_edge_one_edge.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/topology/next_edge_one_edge.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/topology/next_edge_one_edge_left.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/topology/next_edge_one_edge_left.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/topology/next_edge_one_edge_right.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/topology/next_edge_one_edge_right.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/topology/next_left_edge_perspective.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/topology/next_left_edge_perspective.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/topology/next_right_edge_perspective.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/topology/next_right_edge_perspective.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/topology/read_topoelement.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/topology/read_topoelement.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/topology/topo_keys.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/topology/topo_keys.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/topology/topogeo2components.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/topology/topogeo2components.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/topology/topology_main_concept.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/topology/topology_main_concept.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/tuning/conf01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/tuning/conf01.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/tuning/conf02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/tuning/conf02.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/tuning/conf03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/tuning/conf03.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/tuning/conf04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/tuning/conf04.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/tuning/conf05.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/tuning/conf05.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/tuning/conf06.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/tuning/conf06.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/tuning/conf07.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/tuning/conf07.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/tuning/conf08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/tuning/conf08.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/tuning/conf09.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/tuning/conf09.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/tuning/conf10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/tuning/conf10.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/validity/banana.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/validity/banana.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/validity/figure_eight.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/en/validity/figure_eight.png
--------------------------------------------------------------------------------
/postgis-intro/sources/en/welcome.rst:
--------------------------------------------------------------------------------
1 | .. _welcome:
2 |
3 | Welcome
4 | *******
5 |
6 | Workshop Conventions
7 | ====================
8 |
9 | These sections conform to a number of conventions to make it easier to follow the conversation. This section gives a brief overview of what to expect in the way of typographic conventions, as well as a short overview of the structure of each workbook.
10 |
11 | Directions
12 | ----------
13 |
14 | Directions for you, the workshop attendee, will be noted by **bold** font.
15 |
16 | For example:
17 |
18 | Click **Next** to continue.
19 |
20 | Code
21 | ----
22 |
23 | SQL query examples will be displayed in an offset box
24 |
25 | .. code-block:: sql
26 |
27 | SELECT postgis_full_version();
28 |
29 | These examples can be entered into the query window or command line interface.
30 |
31 | Notes
32 | -----
33 |
34 | Notes are used to provide information that is useful but not critical to the overall understanding of the topic.
35 |
36 | .. note:: If you haven't eaten an apple today, the doctor may be on the way.
37 |
38 | Functions
39 | ---------
40 |
41 | Where function names are defined in the text, they will be rendered in a :command:`bold` font.
42 |
43 | For example:
44 |
45 | :command:`ST_Touches(geometry A, geometry B)` returns TRUE if either of the geometries' boundaries intersect
46 |
47 | Files, Tables and Column Names
48 | ------------------------------
49 |
50 | File names, paths, table names and column names will be shown in ``fixed-width`` font.
51 |
52 | For example:
53 |
54 | Select the ``name`` column in the ``nyc_streets`` table.
55 |
56 | Menus and Form elements
57 | -----------------------
58 |
59 | Menus/submenus and form elements such as fields or check boxes and other on-screen artifacts are displayed in *italics*.
60 |
61 | For example:
62 |
63 | Click on the *File > New* menu. Check the box that says *Confirm*.
64 |
65 | Workflow
66 | --------
67 |
68 | Sections are designed to be progressive. Each section will start with the assumption that you have completed and understood the previous section in the series and will build on that knowledge. A single section will progress through a handful of ideas and provide working examples wherever possible. At the end of a section, where appropriate, we have included a handful of exercises to allow you to try out the ideas we've presented. In some cases the section will include "Things To Try". These tasks contain more complex problems than the exercises and is designed to challenge participants with advanced knowledge.
69 |
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/Makefile:
--------------------------------------------------------------------------------
1 | # Makefile for Sphinx documentation
2 | #
3 |
4 | # You can set these variables from the command line.
5 | SPHINXOPTS =
6 | SPHINXBUILD = sphinx-build
7 | PAPER =
8 |
9 | # Internal variables.
10 | DOC = ../../doc/jp
11 | PAPEROPT_a4 = -D latex_paper_size=a4
12 | PAPEROPT_letter = -D latex_paper_size=letter
13 | ALLSPHINXOPTS = -d $(DOC)/.build/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
14 |
15 | .PHONY: help clean html web pickle htmlhelp latex changes linkcheck
16 |
17 | help:
18 | @echo "Please use \`make ' where is one of"
19 | @echo " html to make standalone HTML files"
20 | @echo " pickle to make pickle files (usable by e.g. sphinx-web)"
21 | @echo " htmlhelp to make HTML files and a HTML help project"
22 | @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
23 | @echo " changes to make an overview over all changed/added/deprecated items"
24 | @echo " linkcheck to check all external links for integrity"
25 |
26 | clean:
27 | -rm -rf $(DOC)
28 |
29 | html:
30 | mkdir -p ../../doc $(DOC) $(DOC)/.build/doctrees
31 | $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(DOC)
32 | @echo
33 | @echo "Build finished. The HTML pages are in $(DOC)."
34 |
35 | # find $(DOC) -name .svn -type d -exec /bin/rm -rf {} ';'
36 |
37 | pickle:
38 | mkdir -p $(DOC)/.build/pickle $(DOC)/.build/doctrees
39 | $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(DOC)/.build/pickle
40 | @echo
41 | @echo "Build finished; now you can process the pickle files or run"
42 | @echo " sphinx-web $(DOC)/.build/pickle"
43 | @echo "to start the sphinx-web server."
44 |
45 | web: pickle
46 |
47 | htmlhelp:
48 | mkdir -p $(DOC)/.build/htmlhelp $(DOC)/.build/doctrees
49 | $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(DOC)/.build/htmlhelp
50 | @echo
51 | @echo "Build finished; now you can run HTML Help Workshop with the" \
52 | ".hhp project file in $(DOC)/.build/htmlhelp."
53 |
54 | latex:
55 | mkdir -p $(DOC)/.build/latex $(DOC)/.build/doctrees
56 | $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(DOC)/.build/latex
57 | @echo
58 | @echo "Build finished; the LaTeX files are in $(DOC)/.build/latex."
59 | @echo "Run \`make all-pdf' or \`make all-ps' in that directory to" \
60 | "run these through (pdf)latex."
61 |
62 | #sed -i bak 's/includegraphics/includegraphics\[scale=0.45\]/g' "$(DOC)/.build/latex/PostGISIntro.tex"
63 |
64 | changes:
65 | mkdir -p $(DOC)/.build/changes $(DOC)/.build/doctrees
66 | $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(DOC)/.build/changes
67 | @echo
68 | @echo "The overview file is in $(DOC)/.build/changes."
69 |
70 | linkcheck:
71 | mkdir -p $(DOC)/.build/linkcheck $(DOC)/.build/doctrees
72 | $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(DOC)/.build/linkcheck
73 | @echo
74 | @echo "Link check complete; look for any errors in the above output " \
75 | "or in $(DOC)/.build/linkcheck/output.txt."
76 |
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/creating_db.rst:
--------------------------------------------------------------------------------
1 | .. _creating_db:
2 |
3 | 第3章: 空間データベースの作成
4 | ======================================
5 |
6 | DashboardとPgAdmin
7 | -------------------------
8 |
9 | "Dashboard"は、OpenGeoスイートのすべての部分にアクセスする主要なアプリケーションです。
10 |
11 | 最初にDashboardを起動すると、GeoServerにアクセスするためのデフォルトのパスワードに関しての画面が表示されます。
12 |
13 | .. image:: ./screenshots/dashboard_01.png
14 |
15 | .. note::
16 |
17 | PostGISは、無制限のアクセス権を持つローカルユーザーでインストールされています。もし、リモートコンピュータから接続する場合は、ユーザーは、 "postgres" 、パスワードは "postgres" を指定して下さい。
18 |
19 | ここでは、Dashboardの「PostGIS」を使用することになります。
20 |
21 | #. 最初に、PostGISを起動する必要があります。Dashboardの右上隅の緑色の **Start** ボタンをクリックします。
22 |
23 | #. Suiteが初めて起動したときは、データ領域を初期化して、template databasesが設定されます。これは数分かかることがあります。Suiteの起動後、pdAdminを起動するためにComponentsのPostGISに存在する **Manage** オプションをクリックすることができます。
24 |
25 | .. image:: ./screenshots/dashboard_02.png
26 |
27 | .. note::
28 |
29 | PostgreSQLには、多くの管理用のフロントエンドがあります。プライマリは、SQLを入力するためのコマンドラインツール `psql `_ があります。その他にも人気があるPostgreSQLのフロントエンドは、オープンソースのツールとして、 `pgAdmin `_ があります。
30 |
31 | #. もし、pgAdminが初めてインストールされた場合は、pgAdminにおいて構成された **PostGIS(localhost: 54321)** のためのサーバエントリーがあります。PostGISエントリーをダブルクリックすると、データベースに接続するためにパスワードが求められますのでパスワードを入力してください。
32 |
33 | .. image:: ./screenshots/pgadmin_01.png
34 |
35 | .. note::
36 |
37 | お使いのコンピュータにPgAdminをインストールしている場合は、 **(localhost: 54321)** のエントリーは必要ありません。新しい接続を作成する必要があります。OpenGeoスイートのPostGISに接続するには、*File > Add Server*に移動して、 **localhost** とポート **54321** (標準ではないポート番号にしてください)で新しいサーバを登録してください。
38 |
39 | データベースの作成
40 | -------------------
41 | PostgreSQLには、新しいデータベースを初期化するために使用できる **template database** の考えがあります。新しいデータベースが自動的にテンプレートからすべての情報を自動的に取得します。PostGISをインストールすると、 ``template_postgis`` を使用して空間情報が有効になるデータベースが作成されます。新しい空間データベースを作成する場合には ``template_postgis`` を使用します。
42 |
43 | #. データベースのツリー項目を開き、利用可能なデータベースを見てください。``postgres`` データベースは、デフォルトのpostgresユーザへのユーザデータベースです。``template_postgis``は、空間データベースを作成するために使用されます。
44 |
45 | #. ``Databases``項目を選択し、``New Database``上で右クリックしてください。
46 |
47 | .. image:: ./screenshots/pgadmin_01.png
48 |
49 | .. note::
50 |
51 | もし、データベース( ``template_postgis`` )が、他のユーザによってアクセスされていることを示すエラーが表示される場合は、 ``PostGIS (localhost:54321)`` 項目上で、右クリックして、 ``Disconnect`` を選択してください。再接続して、再度、同じ項目をダブルクリックしてください。
52 |
53 | #. ``New Database`` には、以下に示すように設定して、 **OK** をクリックしてください。
54 |
55 | .. list-table::
56 |
57 | * - **Name**
58 | - ``nyc``
59 | * - **Owner**
60 | - ``postgres``
61 | * - **Encoding**
62 | - ``UTF8``
63 | * - **Template**
64 | - ``template_postgis``
65 |
66 | .. image:: ./screenshots/pgadmin_03.png
67 |
68 | #. 新しい ``nyc`` データベースを選択してください。以下に示すようにobjectsのツリーが表示されます。Schemasの ``public`` 配下のTablesには、PostGIS固有のテーブルである ``geometry_columns`` と ``spatial_ref_sys`` が存在します。
69 |
70 | .. image:: ./screenshots/pgadmin_04.png
71 |
72 | #. 以下に示したSQLボタンをクリックしてください。(または、 *Tools > Query Tool* を選択してください)
73 |
74 | .. image:: ./screenshots/pgadmin_05.png
75 |
76 | #. SQLのテキストフィールドに次のSQL文を入力してください。
77 |
78 | .. code-block:: sql
79 |
80 | SELECT postgis_full_version();
81 |
82 | .. note::
83 |
84 | これは、最初のSQL文になります。 ``postgis_full_version()`` は、PostGISのバージョン情報とコンフィギュレーション情報を返します。
85 |
86 | #. ツールバーの **Play** ボタン、または、 **F5** を押して、クエリーを実行してください。PostGISは、データベースが適切で有効になっていることを確認して、以下の内容を表示します。
87 |
88 | .. image:: ./screenshots/pgadmin_06.png
89 |
90 | PostGIS空間データベースの作成に成功しました!
91 |
92 | 関数一覧
93 | -------------
94 |
95 | `PostGISのフルバージョン `_ : レポートは、完全なPostGISのバージョン情報とコンフィギュレーション情報を報告します。
96 |
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/equality.rst:
--------------------------------------------------------------------------------
1 | .. _equality:
2 |
3 | 第22章:等値性
4 | =================================
5 |
6 | 等値
7 | --------
8 |
9 | ジオメトリを取り扱う際に等値を判別するのはややこしくなりがちです。PostGISは、透明性のためには下記の定義が用いたれますが、異なるレベルの等値を判別する目的の3種類の関数をサポートしています。これらの関数を描くためには、次のようなポリゴンを用います。
10 |
11 | .. image:: ./equality/polygon-table.png
12 |
13 | これらのポリゴンは、以下のコマンドを用いてロードされます。
14 |
15 | .. code-block:: sql
16 |
17 | CREATE TABLE polygons (name varchar, poly geometry);
18 |
19 | INSERT INTO polygons VALUES
20 | ('Polygon 1', 'POLYGON((-1 1.732,1 1.732,2 0,1 -1.732,
21 | -1 -1.732,-2 0,-1 1.732))'),
22 | ('Polygon 2', 'POLYGON((-1 1.732,-2 0,-1 -1.732,1 -1.732,
23 | 2 0,1 1.732,-1 1.732))'),
24 | ('Polygon 3', 'POLYGON((1 -1.732,2 0,1 1.732,-1 1.732,
25 | -2 0,-1 -1.732,1 -1.732))'),
26 | ('Polygon 4', 'POLYGON((-1 1.732,0 1.732, 1 1.732,1.5 0.866,
27 | 2 0,1.5 -0.866,1 -1.732,0 -1.732,-1 -1.732,-1.5 -0.866,
28 | -2 0,-1.5 0.866,-1 1.732))'),
29 | ('Polygon 5', 'POLYGON((-2 -1.732,2 -1.732,2 1.732,
30 | -2 1.732,-2 -1.732))');
31 |
32 | SELECT Populate_Geometry_Columns();
33 |
34 | .. image:: ./equality/start13.png
35 |
36 | 完全等値
37 | ^^^^^^^^^^^^^
38 |
39 | 完全等値は、二つのポリゴンについて、位置が同じであることを確認するために、頂点を順に比較することで決定されます。以下の例は、この手法が有効性においてどう制限されることがあるかを示してます。
40 |
41 | .. code-block:: sql
42 |
43 | SELECT a.name, b.name, CASE WHEN ST_OrderingEquals(a.poly, b.poly)
44 | THEN 'Exactly Equal' ELSE 'Not Exactly Equal' end
45 | FROM polygons as a, polygons as b;
46 |
47 | .. image:: ./equality/start14.png
48 |
49 | この例では、ポリゴンはそれぞれ自身に等しいのみで、その他の外見は同等なポリゴン(Polygon 1から3の例)とは等しくありません。Polygon 1,2,3の場合、頂点は位置は同一ですが、順序が異なっています。Polygon 4はPolygon 1と同等でなくなるような、六角形の辺の上に同一線上で冗長な頂点があります。
50 |
51 | 空間等値
52 | ^^^^^^^^^^^^^^^
53 |
54 | 上で見たように、完全等値はジオメトリの空間的性質を考慮しません。ジオメトリの空間的な等値あるいは等価を試すために、`ST_Equals`と適切に名付けられた関数があります。
55 |
56 | .. code-block:: sql
57 |
58 | SELECT a.name, b.name, CASE WHEN ST_Equals(a.poly, b.poly)
59 | THEN 'Spatially Equal' ELSE 'Not Equal' end
60 | FROM polygons as a, polygons as b;
61 |
62 | .. image:: ./equality/start15.png
63 |
64 | これらの結果は、等値の直感的な理解に合致しています。Polygon 1から4は同じ領域を閉じているため等値と見なされます。ポリゴンが描かれる方向、ポリゴンを定義するための始点、点の数は、ここではいずれも重要ではありません。重要なことは、ポリゴンが同じ空間を含んでいると言うことです。
65 |
66 | 等値境界
67 | ^^^^^^^^^^^^
68 |
69 | 完全等値は最悪の場合、等値を判別するためにジオメトリのすべての頂点を比較することを必要とします。これは時間がかかりますし、ジオメトリの膨大な数の比較を行うには適切でないこともあります。スピーディな比較をするためには、等値境界演算子の、`=`が用意されています。この演算子はバウンディングボックス(矩形)上のみで、ジオメトリが同じ二次元の範囲を専有している(しかし同じ空間の必要はありません)ことを確認しながら動作します。
70 |
71 | .. code-block:: sql
72 |
73 | SELECT a.name, b.name, CASE WHEN a.poly = b.poly
74 | THEN 'Equal Bounds' ELSE 'Non-equal Bounds' end
75 | FROM polygons as a, polygons as b;
76 |
77 | .. image:: ./equality/start17.png
78 |
79 | ご覧のように、すべての空間的に等値なジオメトリは等値な境界を持ちます。残念ながら、Polygon 5も、この試験では等値を返します。なぜならそれは同一のバウンディングボックスをその他のジオメトリとして共有しているからです。では、これは使い物になるのでしょうか。この答えは後ほど詳しく説明しますが、手短に答えますと、この演算子によって、データの結合やフィルタリングを行う際に、膨大な比較セットを管理しやすいブロックに低減するという、空間インデックスの利用が可能となります。
80 |
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/equality/polygon-table.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/equality/polygon-table.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/equality/polygon1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/equality/polygon1.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/equality/polygon2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/equality/polygon2.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/equality/polygon3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/equality/polygon3.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/equality/polygon4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/equality/polygon4.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/equality/polygon5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/equality/polygon5.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/equality/start13.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/equality/start13.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/equality/start14.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/equality/start14.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/equality/start15.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/equality/start15.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/equality/start17.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/equality/start17.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/favicon.ico
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/geography/cartesian_spherical.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/geography/cartesian_spherical.jpg
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/geography/lax_cdg.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/geography/lax_cdg.jpg
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/geography/lax_nrt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/geography/lax_nrt.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/geography/lax_tok.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/geography/lax_tok.jpg
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/geometries/represent-04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/geometries/represent-04.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/geometries/represent-05.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/geometries/represent-05.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/geometries/represent-06.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/geometries/represent-06.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/geometries/represent-07.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/geometries/represent-07.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/geometries/start01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/geometries/start01.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/geometries/start08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/geometries/start08.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/geometries/table01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/geometries/table01.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/geometry_returning/buffer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/geometry_returning/buffer.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/geometry_returning/centroid.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/geometry_returning/centroid.jpg
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/geometry_returning/intersection.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/geometry_returning/intersection.jpg
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/geometry_returning/liberty_negative.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/geometry_returning/liberty_negative.jpg
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/geometry_returning/liberty_positive.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/geometry_returning/liberty_positive.jpg
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/geometry_returning/st_buffer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/geometry_returning/st_buffer.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/geometry_returning/union.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/geometry_returning/union.jpg
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/geometry_returning/union_counties.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/geometry_returning/union_counties.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/glossary.rst:
--------------------------------------------------------------------------------
1 | .. _glossary:
2 |
3 | 付録 B: 用語解説
4 | ====================
5 |
6 | .. glossary::
7 |
8 | CRS
9 | 座標参照系のことで、測地座標系と投影座標系の組み合わせからなります。
10 |
11 | GDAL
12 | `Geospatial Data Abstraction Library `_ の略で、オープンソースのラスタ・アクセス・ライブラリです。多様なフォーマットに対応し、オープンソース・ソフトウェアとプロプライエタリ・ソフトウェアの両方で幅広く利用されています。"GOO-duhl"と発音します。
13 |
14 | GeoJSON
15 | JavaScriptバーチャルマシン上で非常に高速に解析可能なテキストフォーマットのことで、"Javascript Object Notation"の略です。空間分野では `GeoJSON `_ という拡張仕様が一般的に利用されています。
16 |
17 | GIS
18 | `Geographic information system `_ 、もしくは、"geographical information system"。位置情報に関連するデータの取込み、保存、分析、管理、表現するためのシステムです。
19 |
20 | GML
21 | `Geography Markup Language `_ の略です。GMLは:term:`OGC`スタンダードの規約で、空間的なフィーチャ情報を表現するためのXMLフォーマットです。
22 |
23 | JSON
24 | JavaScriptバーチャルマシン上で非常に高速にパース可能なテキストフォーマットのことで、"Javascript Object Notation"の略です。空間分野では `GeoJSON `_ という拡張仕様が一般的に利用されています。
25 |
26 | JSTL
27 | :term:`JSP`用のタグライブラリである"JavaServer Page Template Library"の略で、JSPにおいてデータベースへの問い合わせや、繰り返し、条件文などをハンドリングする多数の標準関数を、簡潔な構文にカプセル化したものです。
28 |
29 | JSP
30 | "JavaServer Pages"の略で、マークアップとJavaの実行コードのインタリーブを可能にするJavaサーバ・アプリケーション用のスクリプト・システムのことです。
31 |
32 | KML
33 | "Keyhole Markup Language"の略で、Google Earthで利用されている空間的なXMLフォーマットのことです。Google Earthは当初は"Keyhole"という名前の会社によって開発されたため、その名称に名残が残っています。
34 |
35 | OGC
36 | `The Open Geospatial Consortium `_ (OGC)は、地理空間サービスの仕様を整備する標準機関です。
37 |
38 | OSGeo
39 | `The Open Source Geospatial Foundation `_ (OSGeo)は、オープンソース地理空間システムの促進とサポートに献身する非営利財団です。
40 |
41 | SFSQL
42 | `Simple Features for SQL `_ (SFSQL)は、標準的な空間データベースを構築するためのデータ型や関数を定義した:term:`OGC`の仕様です。
43 |
44 | SLD
45 | `Styled Layer Descriptor `_ (SLD)は、:term:`OGC`によって定義されている、ベクタ・フィーチャーを地図上にどのようにレンダリングするかを記述するフォーマットの仕様です。
46 |
47 | SRID
48 | "Spatial reference ID"の略で、特定の"空間参照系"にユニークな数値を割り当てたものです。PostGISの**spatial_ref_sys**テーブルには、よく利用される非常に多くSRIDと、テキスト表現された座標参照系が格納されています。
49 |
50 | SQL
51 | "Structured query language"の略で、リレーショナルデータベースへの問い合わせに利用される標準的な言語です。詳しくは http://ja.wikipedia.org/wiki/SQL を参照してください。
52 |
53 | SQL/MM
54 | `SQL Multimedia `_ の略です。拡張データ型の項もいくつか含まれており、さらにそこには相当数の空間データ型が記述されています。
55 |
56 | SVG
57 | "Scalable vector graphics"の略で、静的・動的(対話式やアニメーション)に2次元のベクターグラフィックを描画するための、XMLをベースとするフォーマット仕様です。詳しくは http://ja.wikipedia.org/wiki/Scalable_Vector_Graphics を参照してください。
58 |
59 | WFS
60 | `Web Feature Service `_ (WFS) は :term:`OGC` によって定義されている、Webを通じた地理的フィーチャーの入出力インタフェース仕様のことです。
61 |
62 | WMS
63 | `Web Map Service `_ (WMS) は :term:`OGC` によって定義されている、レンダリングされた地図画像をWebを通してリクエストするためのインタフェース仕様です。
64 |
65 | WKB
66 | "Well-known binary"の略です。Simple Feature for SQL(:term:`SFSQL`)の、ジオメトリのバイナリ表現を参照してください。
67 |
68 | WKT
69 | "Well-known text"の略です。"POINT"、"LINESTRING"、"POLYGON"などで始まる、ジオメトリをテキスト表現した文字列のことか、"PROJCS"、"GEOGCS"などで始まる、:term:`CRS` をテキスト表現したものを指します。WKT表現は :term:`OGC` 標準ですが、固有の仕様書はありません。ジオメトリとCRSについてのWKTが最初に登場したのは、 :term:`SFSQL` のバージョン1.0の仕様書です。
70 |
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/index.rst:
--------------------------------------------------------------------------------
1 | .. Introduction to PostGIS master file.
2 |
3 | PostGIS入門
4 | =======================
5 |
6 | はじめに
7 | ---------------
8 |
9 | * このワークショップでは、ソフトウェアとデータ一式をまとめた以下のZIPファイルを使用します。
10 | http://s3.opengeo.org/postgisintro-2010-2.zip
11 | * ZIPファイルをダウンロードして適当な場所に解凍してください。
12 |
13 | ワークショップで使用するもの
14 | ------------------
15 |
16 | ZIPファイルの内容は以下のとおりです:
17 |
18 | **workshop/**
19 | HTML版ワークショップ(本ページ)
20 |
21 | **software/**
22 | インストールするソフトウェア(および予備ファイル)
23 |
24 | **data/**
25 | シェープファイル
26 |
27 | パッケージに含まれる全データはパブリックドメインであり自由に再配布可能です。パッケージに含まれるソフトウェアはオープンソースであり自由に再配布可能です。このワークショップはクリエイティブコモンズのライセンスのライセンスの元に、"`表示-継承 `_"され、先のライセンス下のもとに自由に再配布することができます。
28 |
29 | ワークショップモジュール
30 | ----------------
31 |
32 | .. toctree::
33 | :maxdepth: 1
34 |
35 | welcome
36 | introduction
37 | installation
38 | creating_db
39 | loading_data
40 | about_data
41 | simple_sql
42 | simple_sql_exercises
43 | geometries
44 | geometries_exercises
45 | spatial_relationships
46 | spatial_relationships_exercises
47 | joins
48 | joins_exercises
49 | indexing
50 | projection
51 | projection_exercises
52 | geography
53 | geometry_returning
54 | joins_advanced
55 | validity
56 | tuning
57 | equality
58 | postgis-functions
59 | glossary
60 | license
61 |
62 |
63 | 参考リンク
64 | ---------------------
65 |
66 | * PostGIS - http://postgis.net/
67 |
68 | - ドキュメント - http://postgis.net/docs/
69 |
70 | * PostgreSQL - http://www.postgresl.org/
71 |
72 | - ダウンロード - http://www.postgresql.org/download/
73 | - ドキュメント - http://www.postgresql.org/docs/
74 | - JDBCドラバー - http://jdbc.postgresql.org/
75 | - .Netドライバー - http://npgsql.projects.postgresql.org/
76 | - Pythonドライバー - http://www.pygresql.org/
77 | - C/C++ドラバー - http://www.postgresql.org/docs/8.4/static/libpq.html
78 |
79 | * PgAdmin III - http://www.pgadmin.org/
80 |
81 | * オープンソースGISデスクトップクライアント
82 |
83 | - uDig - http://udig.refractions.net/
84 | - QGIS - http://qgis.org/
85 | - OpenJUMP - http://openjump.org/
86 |
87 |
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/indexing/bbox.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/indexing/bbox.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/indexing/index-01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/indexing/index-01.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/installation.rst:
--------------------------------------------------------------------------------
1 | .. _installation:
2 |
3 | 第2章: インストール
4 | =======================
5 |
6 | まず最初にOpenGeoスイートのインストールを行います。OpenGeoスイートは、PostGIS/PostgreSQLに加えGeoServer、OpenLayersやその他様々なWebツールを含んだソフトウェアパッケージであり、Windows、Apple OS/X、Linux向けにインストーラが提供されています。
7 | .. note::
8 |
9 | PostgreSQLだけをインストールしたい場合には、PostgreSQLプロジェクトサイト( http://postgresql.org/download/ )から直接ソースコードやバイナリをダウンロードすることができます。PostgreSQLインストール後に、"StackBuilder"ユーティリティーを使ってPostGISエクステンションを追加してください。
10 |
11 | .. note::
12 |
13 | この文書はWindows向けに書かれていますが、OS/Xでも大きな違いはありません。OpenGeoスイートのインストール後は、どちらのOSでも同じような操作となります。
14 |
15 | #. ディレクトリ :file:`postgisintro\\software\\` の配下に :file:`opengeosuite-2.1.3.exe` (OS/Xの場合は, :file:`opengeosuite-2.1.3.dmg`)というファイル名のインストーラがあります。これをダブルクリックして実行してください。
16 |
17 | #. OpenGeoからの心のこもったメッセージが表示されます。一読した後に **Next** ボタンをクリックしてください。
18 |
19 | .. image:: ./screenshots/install_01.png
20 |
21 |
22 | #. OpenGeoスイートはGNU GPLライセンスのもとで提供されています。規約に同意されたら **I Agree** ボタンを押してください。
23 |
24 | .. image:: ./screenshots/install_02.png
25 |
26 |
27 | #. OpenGeoスイートのインストール先は通常 ``C:\Program Files\`` 以下となります。データの配置場所はホームディレクトリの :file:`.opengeo` となります。指定したら **Next** ボタンを押してください。
28 |
29 | .. image:: ./screenshots/install_03.png
30 |
31 |
32 | #. スタートメニューの中にショートカットを作成します。指定したら **Next**ボタン を押してください。
33 |
34 | .. image:: ./screenshots/install_04.png
35 |
36 |
37 | #. OpenGeoスイートのすべてのコンポーネントが必須となります。すべて選択したうえで**Next**ボタンを押してください。
38 |
39 | .. image:: ./screenshots/install_05.png
40 |
41 |
42 | #. インストールの準備が整いました。 **Install** ボタンを押してください。
43 |
44 | .. image:: ./screenshots/install_06.png
45 |
46 |
47 | #. インストールが実行されます。所要時間は数分程度です。
48 |
49 | .. image:: ./screenshots/install_07.png
50 |
51 |
52 | #. インストールが完了したら、ワークショップの次のステップに進むためにダッシュボードを起動してください。 **Finish** ボタンを押して、インストールは完了です。
53 |
54 | .. image:: ./screenshots/install_08.png
55 |
56 |
57 |
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/introduction/beginning.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/introduction/beginning.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/introduction/boundingbox.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/introduction/boundingbox.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/introduction/hierarchy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/introduction/hierarchy.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/introduction/lines.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/introduction/lines.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/introduction/mbr.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/introduction/mbr.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/introduction/points.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/introduction/points.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/introduction/polygons.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/introduction/polygons.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/joins_exercises.rst:
--------------------------------------------------------------------------------
1 | .. _joins_exercises:
2 |
3 | 第13章: 空間結合 - 演習 -
4 | ===================================
5 |
6 | 以下は今までに見てきた関数の一部です。この演習ではこれらの関数を使用します。
7 |
8 | * :command:`sum(expression)` はレコードの合計値を集計します。
9 | * :command:`count(expression)` はレコードのサイズ(総数)を集計します。
10 | * :command:`ST_Area(geometry)` はポリゴンのエリアを返します。
11 | * :command:`ST_AsText(geometry)` はWKT形式の``テキスト``を返します。
12 | * :command:`ST_Contains(geometry A, geometry B)` はジオメトリAがジオメトリBを含んでいるときにtrueを返します。
13 | * :command:`ST_Distance(geometry A, geometry B)` はジオメトリAとジオメトリBの間の最短距離を返します。
14 | * :command:`ST_DWithin(geometry A, geometry B, radius)` はジオメトリAがジオメトリBから特定の距離以内にあるときにtrueを返します。
15 | * :command:`ST_GeomFromText(text)`は``ジオメトリ`` を返します。
16 | * :command:`ST_Intersects(geometry A, geometry B)` はジオメトリAとジオメトリBが交差するあるいは部分的に重なるときにtrueを返します。
17 | * :command:`ST_Length(linestring)` はラインの長さを返します。
18 | * :command:`ST_Touches(geometry A, geometry B)` はジオメトリAの境界部分がジオメトリBと接しているときにtureを返します。
19 | * :command:`ST_Within(geometry A, geometry B)` はジオメトリAがジオメトリBの内部に存在するときにtureを返します。
20 |
21 | また、各テーブルの構成は次のようになっています:
22 |
23 | * ``nyc_census_blocks``
24 |
25 | * name, popn_total, boroname, the_geom
26 |
27 | * ``nyc_streets``
28 |
29 | * name, type, the_geom
30 |
31 | * ``nyc_subway_stations``
32 |
33 | * name, routes, the_geom
34 |
35 | * ``nyc_neighborhoods``
36 |
37 | * name, boroname, the_geom
38 |
39 | 演習
40 | ---------
41 |
42 | * **"'Little Italy'にある地下鉄駅はどこでしょう?またその駅はどこの路線でしょう?"**
43 |
44 | .. code-block:: sql
45 |
46 | SELECT s.name, s.routes
47 | FROM nyc_subway_stations AS s
48 | JOIN nyc_neighborhoods AS n
49 | ON ST_Contains(n.the_geom, s.the_geom)
50 | WHERE n.name = 'Little Italy';
51 |
52 | ::
53 |
54 | name | routes
55 | -----------+--------
56 | Spring St | 6
57 |
58 | * **"地下鉄の6番線沿いにある地域の名称をすべて求めなさい。"** (ヒント: ``nyc_subway_stations`` の ``routes`` 列の値は'B,D,6,V'や'C,6'のようになっています)
59 |
60 | .. code-block:: sql
61 |
62 | SELECT DISTINCT n.name, n.boroname
63 | FROM nyc_subway_stations AS s
64 | JOIN nyc_neighborhoods AS n
65 | ON ST_Contains(n.the_geom, s.the_geom)
66 | WHERE strpos(s.routes,'6') > 0;
67 |
68 | ::
69 |
70 | name | boroname
71 | --------------------+-----------
72 | Midtown | Manhattan
73 | Hunts Point | The Bronx
74 | Gramercy | Manhattan
75 | Little Italy | Manhattan
76 | Financial District | Manhattan
77 | South Bronx | The Bronx
78 | Yorkville | Manhattan
79 | Murray Hill | Manhattan
80 | Mott Haven | The Bronx
81 | Upper East Side | Manhattan
82 | Chinatown | Manhattan
83 | East Harlem | Manhattan
84 | Greenwich Village | Manhattan
85 | Parkchester | The Bronx
86 | Soundview | The Bronx
87 |
88 | .. 補足::
89 |
90 | 地域によっては同じ路線の駅を複数持つこともあるので、 ``DISTINCT`` キーワードを使って重複するレコードは取り除いています。
91 |
92 | * **"9/11以降、'Battery Park'地域は数日の間立ち入り禁止区域に指定されました。これにより移動を余儀なくされた人々はどれくらいいたでしょうか?"**
93 |
94 | .. code-block:: sql
95 |
96 | SELECT Sum(popn_total)
97 | FROM nyc_neighborhoods AS n
98 | JOIN nyc_census_blocks AS c
99 | ON ST_Intersects(n.the_geom, c.the_geom)
100 | WHERE n.name = 'Battery Park';
101 |
102 | ::
103 |
104 | 9928
105 |
106 | * **"'Upper West Side'と'Upper East Side'の人口密度(人/km^2)はどれくらいでしょうか?"** (ヒント: 1 km^2 = 1000000 m^2)
107 |
108 | .. code-block:: sql
109 |
110 | SELECT
111 | n.name,
112 | Sum(c.popn_total) / (ST_Area(n.the_geom) / 1000000.0) AS popn_per_sqkm
113 | FROM nyc_census_blocks AS c
114 | JOIN nyc_neighborhoods AS n
115 | ON ST_Intersects(c.the_geom, n.the_geom)
116 | WHERE n.name = 'Upper West Side'
117 | OR n.name = 'Upper East Side'
118 | GROUP BY n.name, n.the_geom;
119 |
120 | ::
121 |
122 | name | popn_per_sqkm
123 | -----------------+------------------
124 | Upper East Side | 47943.3590089405
125 | Upper West Side | 39729.5779474286
126 |
127 |
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/license.rst:
--------------------------------------------------------------------------------
1 | .. _license:
2 |
3 | 付録 C: ライセンス
4 | ===================
5 |
6 | この作業はクリエイティブ・コモンズ 表示-継承 3.0 の元にライセンスされています。このライセンスの複製を入手する場合は、http://creativecommons.org/licenses/by-sa/3.0/us/を訪れるか、Creative Commons(171 Second Street, Suite 300, San Francisco, California, 94105, USA)宛に手紙を送付してください。
7 |
8 | 利用に際しては、すべての資料に対して目に見える形でのコピーライト表記が必要です。
9 |
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/postgis-functions.rst:
--------------------------------------------------------------------------------
1 | .. _postgis-functions:
2 |
3 | 付録 A: PostGISの関数
4 | =============================
5 |
6 | コンストラクタ
7 | ------------
8 |
9 | :command:`ST_MakePoint(Longitude, Latitude)`
10 | 新しいジオメトリポイントを生成します。座標 (経度, 緯度)の順序に注意して下さい。
11 |
12 | :command:`ST_GeomFromText(WellKnownText, srid)`
13 | Well-Known Text表現(WKT)とSRIDから新しいST_Geometryを返します。
14 |
15 | :command:`ST_SetSRID(geometry, srid)`
16 | ジオメトリのSRIDを更新します。同じジオメトリを返します。これは、ジオメトリは変更せず、ジオメトリのSRIDだけを更新します。
17 |
18 | :command:`ST_Expand(geometry, Radius)`
19 | 入力ジオメトリのバウンディングボックスから全ての方向に拡張されたバウンディングボックスを返します。インデックス検索で使用するために範囲を作成する場合に便利です。
20 |
21 | 出力
22 | -------
23 |
24 | :command:`ST_AsText(geometry)`
25 | ジオメトリ/ジオグラフィのSRIDメタデータのないWell-Known Text(WKT)表現を返します。
26 |
27 | :command:`ST_AsGML(geometry)`
28 | OGC標準のGeography Markup Language (GML)要素としてジオメトリを返します。
29 |
30 | :command:`ST_AsGeoJSON(geometry)`
31 | OGC標準のGeometry Javascript Object Notation (GeoJSON)要素としてジオメトリを返します。 `GeoJSON `_ フォーマット。
32 |
33 | 測定
34 | ------------
35 |
36 | :command:`ST_Area(geometry)`
37 | 空間参照系の単位でジオメトリの面積を返します。
38 |
39 | :command:`ST_Length(geometry)`
40 | 空間参照系の単位でジオメトリの長さを返します。
41 |
42 | :command:`ST_Perimeter(geometry)`
43 | 空間参照系の単位でジオメトリの境界の長さの計測値を返します。
44 |
45 | :command:`ST_NumPoints(linestring)`
46 | ラインストリング内のポイント数を返します。
47 |
48 | :command:`ST_NumRings(polygon)`
49 | ポリゴンのリング数を返します。
50 |
51 | :command:`ST_NumGeometries(geometry)`
52 | ジオメトリコレクション内のジオメトリの数を返します。
53 |
54 | 関係
55 | -------------
56 |
57 | :command:`ST_Distance(geometry, geometry)`
58 | 空間参照系の単位の2つのジオメトリ間の距離を返します。
59 |
60 | :command:`ST_DWithin(geometry, geometry, radius)`
61 | ジオメトリが、指定したジオメトリから指定した距離内にある場合に、TRUEを返します。そうでない場合は、FALSEを返します。
62 |
63 | :command:`ST_Intersects(geometry, geometry)`
64 | ジオメトリが、「空間的にインタセクトする」(空間に共有部分がある)場合には、TRUEを返します。そうでない場合は、FALSEを返します。
65 |
66 | :command:`ST_Contains(geometry, geometry)`
67 | もし、最初のジオメトリが完全に次のジオメトリに含まれている場合は、TRUEを返します。そうでない場合は、FALSEを返します。
68 |
69 | :command:`ST_Crosses(geometry, geometry)`
70 | ライン、またはポリゴンの境界が、他のライン、またはポリゴンの境界とクロスする場合は、TRUEを返します。そうでない場合は、FALSEを返します。
71 |
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/projection_exercises.rst:
--------------------------------------------------------------------------------
1 | .. _projection_exercises:
2 |
3 | 第16章:投影法についての演習
4 | ================================
5 |
6 | これまで見てきた関数のおさらいをしておきます。ヒント:本実践で役に立つものばかりです。
7 |
8 | * :command:`sum(expression)`: レコードセットの合計値を返します。
9 | * :command:`ST_Length(linestring)`: ラインストリングの長さを返します。
10 | * :command:`ST_SRID(geometry, srid)`: ジオメトリのSRIDを返します。
11 | * :command:`ST_Transform(geometry, srid)`: 異なる空間参照系へジオメトリを変換します。
12 | * :command:`ST_GeomFromText(text)`: ジオメトリを返します。
13 | * :command:`ST_AsText(geometry)`: WKTテキストを返します。
14 | * :command:`ST_AsGML(geometry)`: GMLテキストを返します。
15 |
16 | オンラインで下記の情報を参照することができます。
17 |
18 | * http://spatialreference.org
19 | * http://prj2epsg.org
20 |
21 |
22 | 下記のテーブルが利用できることを確認してください。
23 |
24 | * ``nyc_census_blocks``
25 |
26 | * name, popn_total, boroname, the_geom
27 |
28 | * ``nyc_streets``
29 |
30 | * name, type, the_geom
31 |
32 | * ``nyc_subway_stations``
33 |
34 | * name, the_geom
35 |
36 | * ``nyc_neighborhoods``
37 |
38 | * name, boroname, the_geom
39 |
40 |
41 | 演習
42 | ---------
43 |
44 | * **UTM ゾーン18で計測した場合のニューヨーク市内にある道路の合計距離は?**
45 |
46 | .. code-block:: sql
47 |
48 | SELECT Sum(ST_Length(the_geom))
49 | FROM nyc_streets;
50 |
51 | ::
52 |
53 | 10418904.7172
54 |
55 | * **SRID 2831のWKTでの定義は?**
56 |
57 | .. code-block:: sql
58 |
59 | SELECT srtext FROM spatial_ref_sys
60 | WHERE SRID = 2831;
61 |
62 |
63 | ※ `prj2epsg `_ でも知ることができます。
64 |
65 |
66 | ::
67 |
68 | PROJCS["NAD83(HARN) / New York Long Island",
69 | GEOGCS["NAD83(HARN)",
70 | DATUM["NAD83 (High Accuracy Regional Network)",
71 | SPHEROID["GRS 1980", 6378137.0, 298.257222101, AUTHORITY["EPSG","7019"]],
72 | TOWGS84[-0.991, 1.9072, 0.5129, 0.0257899075194932, -0.009650098960270402, -0.011659943232342112, 0.0],
73 | AUTHORITY["EPSG","6152"]],
74 | PRIMEM["Greenwich", 0.0, AUTHORITY["EPSG","8901"]],
75 | UNIT["degree", 0.017453292519943295],
76 | AXIS["Geodetic longitude", EAST],
77 | AXIS["Geodetic latitude", NORTH],
78 | AUTHORITY["EPSG","4152"]],
79 | PROJECTION["Lambert Conic Conformal (2SP)", AUTHORITY["EPSG","9802"]],
80 | PARAMETER["central_meridian", -74.0],
81 | PARAMETER["latitude_of_origin", 40.166666666666664],
82 | PARAMETER["standard_parallel_1", 41.03333333333333],
83 | PARAMETER["false_easting", 300000.0],
84 | PARAMETER["false_northing", 0.0],
85 | PARAMETER["scale_factor", 1.0],
86 | PARAMETER["standard_parallel_2", 40.666666666666664],
87 | UNIT["m", 1.0],
88 | AXIS["Easting", EAST],
89 | AXIS["Northing", NORTH],
90 | AUTHORITY["EPSG","2831"]]
91 |
92 |
93 | * **SRID 2831で計測した場合のニューヨーク市内にある道路の合計距離は?**
94 |
95 |
96 | .. code-block:: sql
97 |
98 | SELECT Sum(ST_Length(ST_Transform(the_geom,2831)))
99 | FROM nyc_streets;
100 |
101 | ::
102 |
103 | 10421993.706374
104 |
105 | .. note::
106 |
107 | UTM 18とState Plane Long islandとの計測値差異は(10,421,993 - 10,418,904) / 10,418,904であり、0.02%です。セクション17のジオグラフィで回転楕円体上で計算したところ、道路の総距離は10,421,999で、State Planeでの値に近い結果を得ました。これは珍しいことではなく、Stateplane Long island投影法はニューヨーク市というとても狭い地域に対して正確に計測できるようになっているからです。一方でUTM ゾーン18はより広い地域において妥当な結果が得られるように定義されています。
108 |
109 | * **地下鉄「Broad通り」駅の地点をKMLで表現するとどうなりますか?**
110 |
111 | .. code-block:: sql
112 |
113 | SELECT ST_AsKML(the_geom)
114 | FROM nyc_subway_stations
115 | WHERE name = 'Broad St';
116 |
117 | ::
118 |
119 | -74.010671468873468,40.707104815584088
120 |
121 | :command:`ST_Transform` を呼び出していないにもかかわらず、座標値が地理座標系で表示されています。なぜでしょうか?
122 | KML標準においては、すべての座標は地理座標系(EPSG 4326)の範囲内にある必要があり、そのため、 :command:`ST_AsKML` 関数が自動的に変換することができるのです。
123 |
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/screenshots/centroid_neighborhood.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/screenshots/centroid_neighborhood.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/screenshots/collection.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/screenshots/collection.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/screenshots/collection2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/screenshots/collection2.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/screenshots/dashboard_01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/screenshots/dashboard_01.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/screenshots/dashboard_02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/screenshots/dashboard_02.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/screenshots/install_01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/screenshots/install_01.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/screenshots/install_02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/screenshots/install_02.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/screenshots/install_03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/screenshots/install_03.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/screenshots/install_04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/screenshots/install_04.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/screenshots/install_05.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/screenshots/install_05.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/screenshots/install_06.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/screenshots/install_06.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/screenshots/install_07.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/screenshots/install_07.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/screenshots/install_08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/screenshots/install_08.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/screenshots/nyc_census_blocks.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/screenshots/nyc_census_blocks.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/screenshots/nyc_neighborhoods.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/screenshots/nyc_neighborhoods.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/screenshots/nyc_streets.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/screenshots/nyc_streets.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/screenshots/nyc_subway_stations.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/screenshots/nyc_subway_stations.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/screenshots/pgadmin_01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/screenshots/pgadmin_01.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/screenshots/pgadmin_02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/screenshots/pgadmin_02.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/screenshots/pgadmin_03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/screenshots/pgadmin_03.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/screenshots/pgadmin_04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/screenshots/pgadmin_04.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/screenshots/pgadmin_05.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/screenshots/pgadmin_05.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/screenshots/pgadmin_06.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/screenshots/pgadmin_06.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/screenshots/pgadmin_07.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/screenshots/pgadmin_07.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/screenshots/pgadmin_08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/screenshots/pgadmin_08.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/screenshots/pgadmin_09.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/screenshots/pgadmin_09.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/screenshots/pgshapeloader_01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/screenshots/pgshapeloader_01.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/screenshots/pgshapeloader_02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/screenshots/pgshapeloader_02.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/screenshots/polygons.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/screenshots/polygons.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/screenshots/prj2epsg_01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/screenshots/prj2epsg_01.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/screenshots/refresh.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/screenshots/refresh.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/screenshots/subways_buffered.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/screenshots/subways_buffered.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/simple_sql_exercises.rst:
--------------------------------------------------------------------------------
1 | .. _simple_sql_exercises:
2 |
3 | 第7章: シンプルなSQLの演習
4 | ===============================
5 |
6 | ``nyc_census_blocks`` を使って以下の問いに答えてください。(答えがわかっても声に出しちゃだめですよ。)
7 |
8 | 演習を始める前に、役に立つ情報を整理しておきましょう。
9 | まずは`データについて`の章の``nyc_census_blocks``テーブルの定義です。
10 |
11 | .. list-table::
12 | :widths: 20 80
13 |
14 | * - **blkid**
15 | - すべての統計**block**を一意に特定するための15桁のコード 例:360050001009000
16 | * - **popn_total**
17 | - その統計ブロックの合計人口
18 | * - **popn_white**
19 | - その統計ブロックの「白人」と自己認識する人口
20 | * - **popn_black**
21 | - その統計ブロックの「黒人」と自己認識する人口
22 | * - **popn_nativ**
23 | - その統計ブロックの「アメリカ原住民」と自己認識する人口
24 | * - **popn_asian**
25 | - その統計ブロックの「アジア民族」と自己認識する人口
26 | * - **popn_other**
27 | - その統計ブロックのその他の民族と自己認識する人口
28 | * - **hous_total**
29 | - その統計ブロックの世帯数
30 | * - **hous_own**
31 | - その統計ブロックの持ち家数
32 | * - **hous_rent**
33 | - その統計ブロックの借家数
34 | * - **boroname**
35 | - ニューヨークの区名(Manhattan, The Bronx, Brooklyn, Staten Island, Queens)
36 | * - **the_geom**
37 | - その統計ブロックのポリゴン境界
38 |
39 |
40 | もうひとつは、よく使われる便利な集約関数です。
41 |
42 | * avg() - レコードの値の平均値を返します
43 | * sum() - レコードの値の合計値を返します
44 | * count() - レコードの数を返します
45 |
46 | さて問題です。
47 |
48 | * **"ニューヨーク市の人口は何人でしょうか?"**
49 |
50 | .. code-block:: sql
51 |
52 | SELECT Sum(popn_total) AS population
53 | FROM nyc_census_blocks;
54 |
55 | ::
56 |
57 | 8008278
58 |
59 | .. note::
60 |
61 | この ``AS`` とは何でしょうか。これはテーブルやフィールド名の別名で、自由に付けることが出来ます。別名は、問い合わせをしやすくしたり、わかりやすくするために用いられます。この例では出力項目の名称を、 ``sum`` の代わりに、 **AS** 句を使って ``population`` というわかりやすい名称に置き換えています。
62 |
63 | * **"ブロンクス区(The Bronx)の人口は何人でしょうか?"**
64 |
65 | .. code-block:: sql
66 |
67 | SELECT Sum(popn_total) AS population
68 | FROM nyc_census_blocks
69 | WHERE boroname = 'The Bronx';
70 |
71 | ::
72 |
73 | 1332650
74 |
75 | * **"ニューヨーク市の世帯当たりの家族数の平均は何人でしょうか?"**
76 |
77 | .. code-block:: sql
78 |
79 | SELECT Sum(popn_total)/Sum(hous_total) AS popn_per_house
80 | FROM nyc_census_blocks;
81 |
82 | ::
83 |
84 | 2.6503540522400804
85 |
86 | * **"各区の白人の割合は何%でしょうか?"**
87 |
88 | .. code-block:: sql
89 |
90 | SELECT
91 | boroname,
92 | 100 * Sum(popn_white)/Sum(popn_total) AS white_pct
93 | FROM nyc_census_blocks
94 | GROUP BY boroname;
95 |
96 | ::
97 |
98 | boroname | white_pct
99 | ---------------+---------------------
100 | Brooklyn | 41.2005552206888663
101 | The Bronx | 29.8655310846808990
102 | Manhattan | 54.3594013771837665
103 | Queens | 44.0806610271290794
104 | Staten Island | 77.5968611401579346
105 |
106 | 関数一覧
107 | -------------
108 |
109 | `avg(expression) `_: PostgreSQL集約関数:数値フィールドの平均値を返します
110 |
111 | `count(expression) `_: PostgreSQL集約関数:レコードの数を返します
112 |
113 | `sum(expression) `_: PostgreSQL集約関数:レコードの値の合計値を返します
114 |
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/spatial_relationships/atlantic_commons.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/spatial_relationships/atlantic_commons.jpg
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/spatial_relationships/broad_st.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/spatial_relationships/broad_st.jpg
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/spatial_relationships/cortland.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/spatial_relationships/cortland.jpg
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/spatial_relationships/distance-01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/spatial_relationships/distance-01.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/spatial_relationships/st_buffer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/spatial_relationships/st_buffer.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/spatial_relationships/st_crosses.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/spatial_relationships/st_crosses.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/spatial_relationships/st_disjoint.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/spatial_relationships/st_disjoint.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/spatial_relationships/st_dwithin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/spatial_relationships/st_dwithin.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/spatial_relationships/st_equals.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/spatial_relationships/st_equals.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/spatial_relationships/st_intersection.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/spatial_relationships/st_intersection.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/spatial_relationships/st_intersects.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/spatial_relationships/st_intersects.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/spatial_relationships/st_overlaps.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/spatial_relationships/st_overlaps.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/spatial_relationships/st_touches.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/spatial_relationships/st_touches.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/spatial_relationships/st_within.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/spatial_relationships/st_within.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/spatial_relationships_exercises.rst:
--------------------------------------------------------------------------------
1 | .. _spatial_relationships_exercises:
2 |
3 | 第11章: 空間演算 - 演習 -
4 | ===========================================
5 |
6 | 前節で紹介した関数のおさらいをしましょう。この演習ではこれらの関数を使用します。
7 |
8 | * :command:`sum(expression)` はレコードの合計値を集計します。
9 | * :command:`count(expression)` はレコードのサイズ(総数)を集計します。
10 | * :command:`ST_Contains(geometry A, geometry B)` はジオメトリAがジオメトリBを含んでいるときにtrueを返します。
11 | * :command:`ST_Crosses(geometry A, geometry B)` はジオメトリAがジオメトリBと交差するときにtrueを返します。
12 | * :command:`ST_Disjoint(geometry A , geometry B)` はジオメトリ同士が空間的に交わりを持たないときにtrueを返します。
13 | * :command:`ST_Distance(geometry A, geometry B)` はジオメトリAとジオメトリBの間の最短距離を返します。
14 | * :command:`ST_DWithin(geometry A, geometry B, radius)` はジオメトリAがジオメトリBから特定の距離以内にあるときにtrueを返します。
15 | * :command:`ST_Equals(geometry A, geometry B)` はジオメトリAとジオメトリBが等しいときにtrueを返します。
16 | * :command:`ST_Intersects(geometry A, geometry B)` はジオメトリAとジオメトリBが交差するあるいは部分的に重なるときにtrueを返します。
17 | * :command:`ST_Overlaps(geometry A, geometry B)` はジオメトリAとジオメトリBが空間を共有し、なおかつお互いがどちらかに完全に含まれることが無い場合にtrueを返します。
18 | * :command:`ST_Touches(geometry A, geometry B)` はジオメトリAの境界部分がジオメトリBと接しているときにtureを返します。
19 | * :command:`ST_Within(geometry A, geometry B)` はジオメトリAがジオメトリBの内部に存在するときにtureを返します。
20 |
21 | また、各テーブルの構成は次のようになっていました:
22 |
23 | * ``nyc_census_blocks``
24 |
25 | * name, popn_total, boroname, the_geom
26 |
27 | * ``nyc_streets``
28 |
29 | * name, type, the_geom
30 |
31 | * ``nyc_subway_stations``
32 |
33 | * name, the_geom
34 |
35 | * ``nyc_neighborhoods``
36 |
37 | * name, boroname, the_geom
38 |
39 | 演習
40 | ---------
41 |
42 | * **"'Atlantic Commons'という通りのジオメトリは何でしょうか?"**
43 |
44 | .. code-block:: sql
45 |
46 | SELECT the_geom
47 | FROM nyc_streets
48 | WHERE name = 'Atlantic Commons';
49 |
50 | ::
51 |
52 | 01050000202669000001000000010200000002000000093235673BE82141F319CD89A22E514170E30E0ADFE82141CB2D3EFFA52E5141
53 |
54 | * **"Atlantic Commonsのある地域の名前と、そこの属する区は何でしょうか?"**
55 |
56 | .. code-block:: sql
57 |
58 | SELECT name, boroname
59 | FROM nyc_neighborhoods
60 | WHERE ST_Intersects(
61 | the_geom,
62 | '01050000202669000001000000010200000002000000093235673BE82141F319CD89A22E514170E30E0ADFE82141CB2D3EFFA52E5141'
63 | );
64 |
65 | ::
66 |
67 | name | boroname
68 | ------------+----------
69 | Fort Green | Brooklyn
70 |
71 |
72 | * **"Atlantic Commonsと接する通りは何でしょうか?"**
73 |
74 | .. code-block:: sql
75 |
76 | SELECT name
77 | FROM nyc_streets
78 | WHERE ST_Touches(
79 | the_geom,
80 | '01050000202669000001000000010200000002000000093235673BE82141F319CD89A22E514170E30E0ADFE82141CB2D3EFFA52E5141'
81 | );
82 |
83 | ::
84 |
85 | name
86 | ---------------
87 | S Oxford St
88 | Cumberland St
89 |
90 | .. image:: ./spatial_relationships/atlantic_commons.jpg
91 |
92 |
93 | * **"Atlantic Commonsの近隣(50m以内の範囲)にはどれくらいの人口がいるでしょうか?"**
94 |
95 | .. code-block:: sql
96 |
97 | SELECT Sum(popn_total)
98 | FROM nyc_census_blocks
99 | WHERE ST_DWithin(
100 | the_geom,
101 | '01050000202669000001000000010200000002000000093235673BE82141F319CD89A22E514170E30E0ADFE82141CB2D3EFFA52E5141',
102 | 50
103 | );
104 |
105 | ::
106 |
107 | 1186
108 |
109 |
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/tuning/conf01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/tuning/conf01.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/tuning/conf02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/tuning/conf02.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/tuning/conf03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/tuning/conf03.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/tuning/conf04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/tuning/conf04.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/tuning/conf05.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/tuning/conf05.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/tuning/conf06.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/tuning/conf06.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/tuning/conf07.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/tuning/conf07.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/tuning/conf08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/tuning/conf08.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/tuning/conf09.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/tuning/conf09.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/tuning/conf10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/tuning/conf10.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/validity/banana.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/validity/banana.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/validity/figure_eight.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/jp/validity/figure_eight.png
--------------------------------------------------------------------------------
/postgis-intro/sources/jp/welcome.rst:
--------------------------------------------------------------------------------
1 | .. _welcome:
2 |
3 | ようこそ
4 | *******
5 |
6 | OpenGeoについて
7 | =============
8 |
9 | `OpenGeo `_ は、世界中の政府・自治体およびその他の団体へオープンソースソフトウェア導入の成功事例を提供しています。
10 |
11 | * 充分な吟味とサポートの上に統合化された企業向けオープンソースソリューションを提供し、開かれた政府を支援しています。
12 | * PostGIS, GeoServer, GeoWebCache, GeoExt, OpenLayersの主要開発者を擁し、オープンソースコミュニティーをサポートしています。
13 | * MassGIS, Tri-Met, Landgate, Google, The Work Bank, Open Geospatialコンソーシアムといったクライアントへのコンサルティングサービスにおいて8年の実績を持ちます。
14 | * オープンでアクセスしやすい情報は変革を後押しすると考えます。OpenGeoの目標は、広く一般にアクセスでき、また、必要とされている環境で利用できるようにすることで、地理空間情報をもっとオープンにすることです。
15 | * 私たちの市場の成功こそが私たちの業績の価値を証明するものであることから、クライアントの要望を満たすとともに、さらにその上をいくソフトウェアを構築するよう尽力しています。
16 |
17 | OpenGeoは、 `OpenPlans `_ の地理空間部門であり、ニューヨークにおいて、記事やオープンソースソフトウェアを通じ、コミュニティーへ参加・情報提供を行う501(c)(3)非営利団体です。
18 |
19 | ワークショップにおける記述ルール
20 | ====================
21 |
22 | 各章は、いくつかの記述ルールに従って書かれています。このセクションで、書式の概要と各ワークブックの大まかな構成を簡単に説明します。
23 |
24 | 操作
25 | ----------
26 |
27 | ワークショップ参加者に実行してもらう操作は、**太字** フォントで表わします。
28 |
29 | 例:
30 |
31 | **Next** をクリックして次へ進みます
32 |
33 | コード
34 | ----
35 |
36 | SQLクエリーのサンプルは、以下のような囲みで表わします。
37 |
38 | .. code-block:: sql
39 |
40 | SELECT postgis_full_version();
41 |
42 | これらのサンプルはクエリーウィンドやコマンドラインで入力します。
43 |
44 | note
45 | -----
46 |
47 | note(補足)は、有用な情報を提供するものでありますが、トピックの全体的理解に必須ではない場合に用います。
48 |
49 | .. note:: もし今日リンゴを食べていないならば、病気になるかもしれない。
50 |
51 | 関数
52 | ---------
53 |
54 | 文中に定義されている関数名は、 :command:`太字` フォントで表わします。
55 |
56 | 例:
57 |
58 | :command:`ST_Touches(geometry A, geometry B)` は、両ジオメトリの境界が交差するときにTRUEを返します。
59 |
60 | ファイル名、テーブル名、フィールド名
61 | ------------------------------
62 |
63 | ファイル名、パス、テーブル名、フィールド名は、 ``固定幅`` フォントで表わします。
64 |
65 |
66 | 例:
67 |
68 | ``nyc_streets`` テーブルの ``name`` フィールドを選択してください。
69 |
70 | メニューとフォーム要素
71 | -----------------------
72 |
73 | フィールドまたはチェックボックスといったメニューおよびサブメニュー、フォームの構成要素は、*斜体*で表わします。
74 |
75 | 例:
76 |
77 | *File > New* メニューをクリックしてください。 *Confirm* と書かれたチェックボックスをクリックしてください。
78 |
79 | ワークフロー
80 | --------
81 |
82 | 各章は順次進行していく形をとっています。前の章を完了し理解したものとして、次の章を進めていきます。いずれの章も、いくつかアイディアを通し、また、できるだけ実行サンプルを示しながら進めていきます。各章の最後には、提供したアイディアを試すことができるよういくつかの演習を含めています。一部の章では、"課題"を設けています。これらは演習で扱ったものよりさらに複雑な問題が含まれており、もっと学びたいという上級者用に作られています。
83 |
--------------------------------------------------------------------------------
/postgis-intro/sources/locale/README:
--------------------------------------------------------------------------------
1 | Translation files for the postgis-intro workshop
2 |
3 | Compilation of the files require the ``pip install sphinx-intl`` python3.
4 |
5 | To build localized refer to the README.md in root.
6 |
7 | Using Weblate
8 | ---------------
9 |
10 | Weblate web-ui for translation is at:
11 | https://weblate.osgeo.org/projects/postgis-workshop/
12 |
13 | There is a web-hook `https://weblate.osgeo.org/hooks/github/` defined in https://github.com/postgis/postgis-workshops/settings/hooks that pushes changes to weblate.
14 |
15 | Weblate does require that the pot files be kept up to date.
16 | To do so:
17 |
18 | ```
19 | #if using python virtual env
20 | python3 -m venv ~/pw-env
21 |
22 | cd postgis-intro/sources/en
23 | make pot
24 | #test the translations
25 | LANG=ja make html-translation
26 | LANG=sv make html-translation
27 | LANG=de make html-translation
28 | LANG=es make html-translation
29 | LANG=it make html-translation
30 | git add .
31 | git commit -m "Update pots"
32 | git push
33 | ```
34 |
35 | The github account osgeoweblate has commit rights to this repo.
36 | Any translations that pass approval in the weblate https://weblate.osgeo.org/projects/postgis-workshop/ get pushed and automatically committed.
37 |
38 | The postgis.net, has a cronjob that runs every 5 minutes or so checking for updates and runs this script `/var/www/postgis_workshop_update.sh` if any changes. This builds the main english and all the translations. If new translations are added, then this script needs to be updated to build them.
39 |
40 | Respective docs currently set to build are as follows:
41 |
42 | * English: https://postgis.net/workshops/en/postgis-intro/
43 | * German: https://postgis.net/workshops/de/postgis-intro/
44 | * Japanese: https://postgis.net/workshops/ja/postgis-intro/
45 | * Swedish: https://postgis.net/workshops/sv/postgis-intro/
46 | * Italian: https://postgis.net/workshops/it/postgis-intro/
47 | * Spanish: https://postgis.net/workshops/es/postgis-intro/
48 |
--------------------------------------------------------------------------------
/postgis-intro/sources/locale/de/LC_MESSAGES/about_data.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/locale/de/LC_MESSAGES/about_data.mo
--------------------------------------------------------------------------------
/postgis-intro/sources/locale/de/LC_MESSAGES/geography_exercises.po:
--------------------------------------------------------------------------------
1 | # SOME DESCRIPTIVE TITLE.
2 | # Copyright (C) 2012, Paul Ramsey | Mark Leslie
3 | # This file is distributed under the same license as the Introduction to
4 | # PostGIS package.
5 | # FIRST AUTHOR , 2021.
6 | #
7 | #, fuzzy
8 | msgid ""
9 | msgstr ""
10 | "Project-Id-Version: Introduction to PostGIS 1.0\n"
11 | "Report-Msgid-Bugs-To: \n"
12 | "POT-Creation-Date: 2023-01-07 21:46-0500\n"
13 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
14 | "Last-Translator: FULL NAME \n"
15 | "Language-Team: LANGUAGE \n"
16 | "Language: \n"
17 | "MIME-Version: 1.0\n"
18 | "Content-Type: text/plain; charset=UTF-8\n"
19 | "Content-Transfer-Encoding: 8bit\n"
20 | "Generated-By: Babel 2.9.1\n"
21 |
22 | #: ../../en/geography_exercises.rst:4
23 | msgid "Geography Exercises"
24 | msgstr ""
25 |
26 | #: ../../en/geography_exercises.rst:6
27 | msgid ""
28 | "Here's a reminder of all the functions we have seen so far. They should be "
29 | "useful for the exercises!"
30 | msgstr ""
31 |
32 | #: ../../en/geography_exercises.rst:8
33 | msgid ":command:`Sum(number)` adds up all the numbers in the result set"
34 | msgstr ""
35 |
36 | #: ../../en/geography_exercises.rst:9
37 | msgid ":command:`ST_GeogFromText(text)` returns a geography"
38 | msgstr ""
39 |
40 | #: ../../en/geography_exercises.rst:10
41 | msgid ""
42 | ":command:`ST_Distance(geography, geography)` returns the distance between "
43 | "geographies"
44 | msgstr ""
45 |
46 | #: ../../en/geography_exercises.rst:11
47 | msgid ""
48 | ":command:`ST_Transform(geometry, srid)` returns geometry, in the new "
49 | "projection"
50 | msgstr ""
51 |
52 | #: ../../en/geography_exercises.rst:12
53 | msgid ":command:`ST_Length(geography)` returns the length of the line"
54 | msgstr ""
55 |
56 | #: ../../en/geography_exercises.rst:13
57 | msgid ""
58 | ":command:`ST_Intersects(geometry, geometry)` returns true if the objects are "
59 | "not disjoint in planar space"
60 | msgstr ""
61 |
62 | #: ../../en/geography_exercises.rst:14
63 | msgid ""
64 | ":command:`ST_Intersects(geography, geography)` returns true if the objects "
65 | "are not disjoint in spheroidal space"
66 | msgstr ""
67 |
68 | #: ../../en/geography_exercises.rst:16
69 | msgid "Also remember the tables we have available:"
70 | msgstr ""
71 |
72 | #: ../../en/geography_exercises.rst:18
73 | msgid "``nyc_streets``"
74 | msgstr ""
75 |
76 | #: ../../en/geography_exercises.rst:20
77 | msgid "name, type, geom"
78 | msgstr ""
79 |
80 | #: ../../en/geography_exercises.rst:22
81 | msgid "``nyc_neighborhoods``"
82 | msgstr ""
83 |
84 | #: ../../en/geography_exercises.rst:24
85 | msgid "name, boroname, geom"
86 | msgstr ""
87 |
88 | #: ../../en/geography_exercises.rst:28
89 | msgid "Exercises"
90 | msgstr ""
91 |
92 | #: ../../en/geography_exercises.rst:30
93 | msgid "**How far is New York from Seattle? What are the units of the answer?**"
94 | msgstr ""
95 |
96 | #: ../../en/geography_exercises.rst:34
97 | msgid ""
98 | "New York = ``POINT(-74.0064 40.7142)`` and Seattle = ``POINT(-122.3331 "
99 | "47.6097)``"
100 | msgstr ""
101 |
102 | #: ../../en/geography_exercises.rst:48
103 | msgid ""
104 | "**What is the total length of all streets in New York, calculated on the "
105 | "spheroid?**"
106 | msgstr ""
107 |
108 | #: ../../en/geography_exercises.rst:64
109 | msgid ""
110 | "The length calculated in the planar \"UTM Zone 18\" projection is "
111 | "10418904.717, 0.02% different. UTM is good at preserving area and distance, "
112 | "within the zone boundaries."
113 | msgstr ""
114 |
115 | #: ../../en/geography_exercises.rst:67
116 | msgid ""
117 | "**Does ‘POINT(1 2.0001)’ intersect with ‘POLYGON((0 0, 0 2, 2 2, 2 0, 0 0))’ "
118 | "in geography? In geometry? Why the difference?**"
119 | msgstr ""
120 |
121 | #: ../../en/geography_exercises.rst:87
122 | msgid ""
123 | "The upper edge of the square is a straight line in geometry, and passes "
124 | "**below** the point, so the square does not contain the point. The upper "
125 | "edge of the square is a great circle in geography, and passes **above** the "
126 | "point, so the square does contain the point."
127 | msgstr ""
128 |
--------------------------------------------------------------------------------
/postgis-intro/sources/locale/de/LC_MESSAGES/license.po:
--------------------------------------------------------------------------------
1 | # SOME DESCRIPTIVE TITLE.
2 | # Copyright (C) 2012, Paul Ramsey | Mark Leslie
3 | # This file is distributed under the same license as the Introduction to
4 | # PostGIS package.
5 | # FIRST AUTHOR , 2021.
6 | #
7 | #, fuzzy
8 | msgid ""
9 | msgstr ""
10 | "Project-Id-Version: Introduction to PostGIS 1.0\n"
11 | "Report-Msgid-Bugs-To: \n"
12 | "POT-Creation-Date: 2023-01-07 21:46-0500\n"
13 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
14 | "Last-Translator: FULL NAME \n"
15 | "Language-Team: LANGUAGE \n"
16 | "Language: \n"
17 | "MIME-Version: 1.0\n"
18 | "Content-Type: text/plain; charset=UTF-8\n"
19 | "Content-Transfer-Encoding: 8bit\n"
20 | "Generated-By: Babel 2.9.1\n"
21 |
22 | #: ../../en/license.rst:4
23 | msgid "Appendix C: License"
24 | msgstr ""
25 |
26 | #: ../../en/license.rst:6
27 | msgid ""
28 | "This work is licensed under the Creative Commons Attribution-Share Alike, "
29 | "United States License. To view a copy of this license, visit http://"
30 | "creativecommons.org/licenses/by-sa/3.0/us/ or send a letter to Creative "
31 | "Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA."
32 | msgstr ""
33 |
34 | #: ../../en/license.rst:8
35 | msgid ""
36 | "Our attribution requirement is that you retain the visible copyright notices "
37 | "in all materials."
38 | msgstr ""
39 |
--------------------------------------------------------------------------------
/postgis-intro/sources/locale/es/LC_MESSAGES/license.po:
--------------------------------------------------------------------------------
1 | # SOME DESCRIPTIVE TITLE.
2 | # Copyright (C) 2012, Paul Ramsey | Mark Leslie
3 | # This file is distributed under the same license as the Introduction to
4 | # PostGIS package.
5 | # FIRST AUTHOR , 2021.
6 | # Lucho Ferrer , 2024.
7 | # Paulo Cesar , 2025.
8 | msgid ""
9 | msgstr ""
10 | "Project-Id-Version: Introduction to PostGIS 1.0\n"
11 | "Report-Msgid-Bugs-To: \n"
12 | "POT-Creation-Date: 2023-01-07 21:46-0500\n"
13 | "PO-Revision-Date: 2025-03-14 05:47+0000\n"
14 | "Last-Translator: Paulo Cesar \n"
15 | "Language-Team: Spanish \n"
17 | "Language: es\n"
18 | "MIME-Version: 1.0\n"
19 | "Content-Type: text/plain; charset=UTF-8\n"
20 | "Content-Transfer-Encoding: 8bit\n"
21 | "Plural-Forms: nplurals=2; plural=n != 1;\n"
22 | "X-Generator: Weblate 5.4.3\n"
23 | "Generated-By: Babel 2.9.1\n"
24 |
25 | #: ../../en/license.rst:4
26 | msgid "Appendix C: License"
27 | msgstr "Apéndice C: Licencia"
28 |
29 | #: ../../en/license.rst:6
30 | msgid ""
31 | "This work is licensed under the Creative Commons Attribution-Share Alike, "
32 | "United States License. To view a copy of this license, visit http://"
33 | "creativecommons.org/licenses/by-sa/3.0/us/ or send a letter to Creative "
34 | "Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA."
35 | msgstr ""
36 | "Este trabajo cuenta con licencia Creative Commons. Para tener una copia de "
37 | "esta licencia, visita la siguiente página: ttp://creativecommons.org/"
38 | "licenses/by-sa/3.0/us/ o envía una carta a Creative Commons, 171 segunda "
39 | "calle, suite 300, San Francisco, California, 94105, Estados Unidos de "
40 | "Norteamérica."
41 |
42 | #: ../../en/license.rst:8
43 | msgid ""
44 | "Our attribution requirement is that you retain the visible copyright notices "
45 | "in all materials."
46 | msgstr ""
47 | "Nuestro requisito de atribución es que conserve los avisos de copyright "
48 | "visibles en todos los materiales."
49 |
--------------------------------------------------------------------------------
/postgis-intro/sources/locale/it/LC_MESSAGES/3d.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/locale/it/LC_MESSAGES/3d.mo
--------------------------------------------------------------------------------
/postgis-intro/sources/locale/it/LC_MESSAGES/backup.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/locale/it/LC_MESSAGES/backup.mo
--------------------------------------------------------------------------------
/postgis-intro/sources/locale/it/LC_MESSAGES/clusterindex.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/locale/it/LC_MESSAGES/clusterindex.mo
--------------------------------------------------------------------------------
/postgis-intro/sources/locale/it/LC_MESSAGES/geography_exercises.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/locale/it/LC_MESSAGES/geography_exercises.mo
--------------------------------------------------------------------------------
/postgis-intro/sources/locale/it/LC_MESSAGES/geography_exercises.po:
--------------------------------------------------------------------------------
1 | # SOME DESCRIPTIVE TITLE.
2 | # Copyright (C) 2012, Paul Ramsey | Mark Leslie
3 | # This file is distributed under the same license as the Introduction to PostGIS package.
4 | # FIRST AUTHOR , YEAR.
5 | #
6 | msgid ""
7 | msgstr ""
8 | "Project-Id-Version: Introduction to PostGIS 1.0\n"
9 | "Report-Msgid-Bugs-To: \n"
10 | "POT-Creation-Date: 2023-01-07 21:46-0500\n"
11 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
12 | "Last-Translator: Automatically generated\n"
13 | "Language-Team: none\n"
14 | "Language: it\n"
15 | "MIME-Version: 1.0\n"
16 | "Content-Type: text/plain; charset=UTF-8\n"
17 | "Content-Transfer-Encoding: 8bit\n"
18 |
19 | #: ../../en/geography_exercises.rst:4
20 | msgid "Geography Exercises"
21 | msgstr ""
22 |
23 | #: ../../en/geography_exercises.rst:6
24 | msgid ""
25 | "Here's a reminder of all the functions we have seen so far. They should be "
26 | "useful for the exercises!"
27 | msgstr ""
28 |
29 | #: ../../en/geography_exercises.rst:8
30 | msgid ":command:`Sum(number)` adds up all the numbers in the result set"
31 | msgstr ""
32 |
33 | #: ../../en/geography_exercises.rst:9
34 | msgid ":command:`ST_GeogFromText(text)` returns a geography"
35 | msgstr ""
36 |
37 | #: ../../en/geography_exercises.rst:10
38 | msgid ""
39 | ":command:`ST_Distance(geography, geography)` returns the distance between "
40 | "geographies"
41 | msgstr ""
42 |
43 | #: ../../en/geography_exercises.rst:11
44 | msgid ""
45 | ":command:`ST_Transform(geometry, srid)` returns geometry, in the new "
46 | "projection"
47 | msgstr ""
48 |
49 | #: ../../en/geography_exercises.rst:12
50 | msgid ":command:`ST_Length(geography)` returns the length of the line"
51 | msgstr ""
52 |
53 | #: ../../en/geography_exercises.rst:13
54 | msgid ""
55 | ":command:`ST_Intersects(geometry, geometry)` returns true if the objects are "
56 | "not disjoint in planar space"
57 | msgstr ""
58 |
59 | #: ../../en/geography_exercises.rst:14
60 | msgid ""
61 | ":command:`ST_Intersects(geography, geography)` returns true if the objects "
62 | "are not disjoint in spheroidal space"
63 | msgstr ""
64 |
65 | #: ../../en/geography_exercises.rst:16
66 | msgid "Also remember the tables we have available:"
67 | msgstr ""
68 |
69 | #: ../../en/geography_exercises.rst:18
70 | msgid "``nyc_streets``"
71 | msgstr ""
72 |
73 | #: ../../en/geography_exercises.rst:20
74 | msgid "name, type, geom"
75 | msgstr ""
76 |
77 | #: ../../en/geography_exercises.rst:22
78 | msgid "``nyc_neighborhoods``"
79 | msgstr ""
80 |
81 | #: ../../en/geography_exercises.rst:24
82 | msgid "name, boroname, geom"
83 | msgstr ""
84 |
85 | #: ../../en/geography_exercises.rst:28
86 | msgid "Exercises"
87 | msgstr ""
88 |
89 | #: ../../en/geography_exercises.rst:30
90 | msgid "**How far is New York from Seattle? What are the units of the answer?**"
91 | msgstr ""
92 |
93 | #: ../../en/geography_exercises.rst:34
94 | msgid ""
95 | "New York = ``POINT(-74.0064 40.7142)`` and Seattle = ``POINT(-122.3331 "
96 | "47.6097)``"
97 | msgstr ""
98 |
99 | #: ../../en/geography_exercises.rst:48
100 | msgid ""
101 | "**What is the total length of all streets in New York, calculated on the "
102 | "spheroid?**"
103 | msgstr ""
104 |
105 | #: ../../en/geography_exercises.rst:64
106 | msgid ""
107 | "The length calculated in the planar \"UTM Zone 18\" projection is "
108 | "10418904.717, 0.02% different. UTM is good at preserving area and distance, "
109 | "within the zone boundaries."
110 | msgstr ""
111 |
112 | #: ../../en/geography_exercises.rst:67
113 | msgid ""
114 | "**Does ‘POINT(1 2.0001)’ intersect with ‘POLYGON((0 0, 0 2, 2 2, 2 0, 0 0))’ "
115 | "in geography? In geometry? Why the difference?**"
116 | msgstr ""
117 |
118 | #: ../../en/geography_exercises.rst:87
119 | msgid ""
120 | "The upper edge of the square is a straight line in geometry, and passes "
121 | "**below** the point, so the square does not contain the point. The upper "
122 | "edge of the square is a great circle in geography, and passes **above** the "
123 | "point, so the square does contain the point."
124 | msgstr ""
125 |
--------------------------------------------------------------------------------
/postgis-intro/sources/locale/it/LC_MESSAGES/geometries_exercises.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/locale/it/LC_MESSAGES/geometries_exercises.mo
--------------------------------------------------------------------------------
/postgis-intro/sources/locale/it/LC_MESSAGES/glossary.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/locale/it/LC_MESSAGES/glossary.mo
--------------------------------------------------------------------------------
/postgis-intro/sources/locale/it/LC_MESSAGES/index.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/locale/it/LC_MESSAGES/index.mo
--------------------------------------------------------------------------------
/postgis-intro/sources/locale/it/LC_MESSAGES/license.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/locale/it/LC_MESSAGES/license.mo
--------------------------------------------------------------------------------
/postgis-intro/sources/locale/it/LC_MESSAGES/license.po:
--------------------------------------------------------------------------------
1 | # SOME DESCRIPTIVE TITLE.
2 | # Copyright (C) 2012, Paul Ramsey | Mark Leslie
3 | # This file is distributed under the same license as the Introduction to PostGIS package.
4 | # FIRST AUTHOR , YEAR.
5 | #
6 | msgid ""
7 | msgstr ""
8 | "Project-Id-Version: Introduction to PostGIS 1.0\n"
9 | "Report-Msgid-Bugs-To: \n"
10 | "POT-Creation-Date: 2023-01-07 21:46-0500\n"
11 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
12 | "Last-Translator: Automatically generated\n"
13 | "Language-Team: none\n"
14 | "Language: it\n"
15 | "MIME-Version: 1.0\n"
16 | "Content-Type: text/plain; charset=UTF-8\n"
17 | "Content-Transfer-Encoding: 8bit\n"
18 |
19 | #: ../../en/license.rst:4
20 | msgid "Appendix C: License"
21 | msgstr ""
22 |
23 | #: ../../en/license.rst:6
24 | msgid ""
25 | "This work is licensed under the Creative Commons Attribution-Share Alike, "
26 | "United States License. To view a copy of this license, visit http://"
27 | "creativecommons.org/licenses/by-sa/3.0/us/ or send a letter to Creative "
28 | "Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA."
29 | msgstr ""
30 |
31 | #: ../../en/license.rst:8
32 | msgid ""
33 | "Our attribution requirement is that you retain the visible copyright notices "
34 | "in all materials."
35 | msgstr ""
36 |
--------------------------------------------------------------------------------
/postgis-intro/sources/locale/it/LC_MESSAGES/loading_data.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/locale/it/LC_MESSAGES/loading_data.mo
--------------------------------------------------------------------------------
/postgis-intro/sources/locale/it/LC_MESSAGES/simple_sql_exercises.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/locale/it/LC_MESSAGES/simple_sql_exercises.mo
--------------------------------------------------------------------------------
/postgis-intro/sources/locale/it/LC_MESSAGES/spatial_relationships.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/locale/it/LC_MESSAGES/spatial_relationships.mo
--------------------------------------------------------------------------------
/postgis-intro/sources/locale/it/LC_MESSAGES/tuning.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/postgis-intro/sources/locale/it/LC_MESSAGES/tuning.mo
--------------------------------------------------------------------------------
/postgis-intro/sources/locale/ja/LC_MESSAGES/license.po:
--------------------------------------------------------------------------------
1 | # SOME DESCRIPTIVE TITLE.
2 | # Copyright (C) 2012, Paul Ramsey | Mark Leslie
3 | # This file is distributed under the same license as the Introduction to
4 | # PostGIS package.
5 | # FIRST AUTHOR , 2021.
6 | # Teramoto Ikuhiro , 2022.
7 | msgid ""
8 | msgstr ""
9 | "Project-Id-Version: Introduction to PostGIS 1.0\n"
10 | "Report-Msgid-Bugs-To: \n"
11 | "POT-Creation-Date: 2023-01-07 21:46-0500\n"
12 | "PO-Revision-Date: 2022-11-15 04:30+0000\n"
13 | "Last-Translator: Teramoto Ikuhiro \n"
14 | "Language-Team: Japanese \n"
16 | "Language: ja\n"
17 | "MIME-Version: 1.0\n"
18 | "Content-Type: text/plain; charset=UTF-8\n"
19 | "Content-Transfer-Encoding: 8bit\n"
20 | "Plural-Forms: nplurals=1; plural=0;\n"
21 | "X-Generator: Weblate 4.14.1\n"
22 | "Generated-By: Babel 2.9.1\n"
23 |
24 | #: ../../en/license.rst:4
25 | msgid "Appendix C: License"
26 | msgstr "付録C: ライセンス"
27 |
28 | #: ../../en/license.rst:6
29 | msgid ""
30 | "This work is licensed under the Creative Commons Attribution-Share Alike, "
31 | "United States License. To view a copy of this license, visit http://"
32 | "creativecommons.org/licenses/by-sa/3.0/us/ or send a letter to Creative "
33 | "Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA."
34 | msgstr ""
35 | "この作品は、クリエイティブ・コモンズ 表示 3.0 米国 ライセンスの下に提供されて"
36 | "います。このライセンスの複製をご覧になるには http://creativecommons.org/"
37 | "licenses/by-sa/3.0/us/ を参照して下さい。もしくは Creative Commons, 171 "
38 | "Second Street, Suite 300, San Francisco, California, 94105, USA にお手紙をお"
39 | "送り下さい。"
40 |
41 | #: ../../en/license.rst:8
42 | msgid ""
43 | "Our attribution requirement is that you retain the visible copyright notices "
44 | "in all materials."
45 | msgstr ""
46 | "私たちの表示要件は、全ての資料において見えるように著作権標記を保持することで"
47 | "す。"
48 |
--------------------------------------------------------------------------------
/postgis-intro/sources/locale/pot/equality.pot:
--------------------------------------------------------------------------------
1 | # SOME DESCRIPTIVE TITLE.
2 | # Copyright (C) 2012-2023, Paul Ramsey | Mark Leslie | PostGIS contributors
3 | # This file is distributed under the same license as the Introduction to PostGIS package.
4 | # FIRST AUTHOR , YEAR.
5 | #
6 | #, fuzzy
7 | msgid ""
8 | msgstr ""
9 | "Project-Id-Version: Introduction to PostGIS 1.1\n"
10 | "Report-Msgid-Bugs-To: \n"
11 | "POT-Creation-Date: 2023-01-07 21:46-0500\n"
12 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
13 | "Last-Translator: FULL NAME \n"
14 | "Language-Team: LANGUAGE \n"
15 | "MIME-Version: 1.0\n"
16 | "Content-Type: text/plain; charset=UTF-8\n"
17 | "Content-Transfer-Encoding: 8bit\n"
18 |
19 | #: ../../en/equality.rst:4
20 | #: ../../en/equality.rst:7
21 | msgid "Equality"
22 | msgstr ""
23 |
24 | #: ../../en/equality.rst:9
25 | msgid "Determining equality when dealing with geometries can be tricky. PostGIS supports three different functions that can be used to determine different levels of equality, though for clarity we will use the definitions below. To illustrate these functions, we will use the following polygons."
26 | msgstr ""
27 |
28 | #: ../../en/equality.rst:14
29 | msgid "These polygons are loaded using the following commands."
30 | msgstr ""
31 |
32 | #: ../../en/equality.rst:36
33 | msgid "Exactly Equal"
34 | msgstr ""
35 |
36 | #: ../../en/equality.rst:38
37 | msgid "Exact equality is determined by comparing two geometries, vertex by vertex, in order, to ensure they are identical in position. The following examples show how this method can be limited in its effectiveness."
38 | msgstr ""
39 |
40 | #: ../../en/equality.rst:50
41 | msgid "In this example, the polygons are only equal to themselves, not to other seemingly equivalent polygons (as in the case of Polygons 1 through 3). In the case of Polygons 1, 2, and 3, the vertices are in identical positions but are defined in differing orders. Polygon 4 has colinear (and thus redundant) vertices on the hexagon edges causing inequality with Polygon 1."
42 | msgstr ""
43 |
44 | #: ../../en/equality.rst:53
45 | msgid "Spatially Equal"
46 | msgstr ""
47 |
48 | #: ../../en/equality.rst:55
49 | msgid "As we saw above, exact equality does not take into account the spatial nature of the geometries. There is an function, aptly named :command:`ST_Equals`, available to test the spatial equality or equivalence of geometries."
50 | msgstr ""
51 |
52 | #: ../../en/equality.rst:67
53 | msgid "These results are more in line with our intuitive understanding of equality. Polygons 1 through 4 are considered equal, since they enclose the same area. Note that neither the direction of the polygon is drawn, the starting point for defining the polygon, nor the number of points used are important here. What is important is that the polygons contain the same space."
54 | msgstr ""
55 |
56 | #: ../../en/equality.rst:70
57 | msgid "Equal Bounds"
58 | msgstr ""
59 |
60 | #: ../../en/equality.rst:72
61 | msgid "Exact equality requires, in the worst case, comparison of each and every vertex in the geometry to determine equality. This can be slow, and may not be appropriate for comparing huge numbers of geometries. To allow for speedier comparison, the equal bounds operator, :command:`~=`, is provided. This operates only on the bounding box (rectangle), ensuring that the geometries occupy the same two dimensional extent, but not necessarily the same space."
62 | msgstr ""
63 |
64 | #: ../../en/equality.rst:84
65 | msgid "As you can see, all of our spatially equal geometries also have equal bounds. Unfortunately, Polygon 5 is also returned as equal under this test, because it shares the same bounding box as the other geometries. Why is this useful, then? Although this will be covered in detail later, the short answer is that this enables the use of spatial indexing that can quickly reduce huge comparison sets into more manageable blocks when joining or filtering data."
66 | msgstr ""
67 |
--------------------------------------------------------------------------------
/postgis-intro/sources/locale/pot/geography_exercises.pot:
--------------------------------------------------------------------------------
1 | # SOME DESCRIPTIVE TITLE.
2 | # Copyright (C) 2012-2023, Paul Ramsey | Mark Leslie | PostGIS contributors
3 | # This file is distributed under the same license as the Introduction to PostGIS package.
4 | # FIRST AUTHOR , YEAR.
5 | #
6 | #, fuzzy
7 | msgid ""
8 | msgstr ""
9 | "Project-Id-Version: Introduction to PostGIS 1.1\n"
10 | "Report-Msgid-Bugs-To: \n"
11 | "POT-Creation-Date: 2023-01-07 21:46-0500\n"
12 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
13 | "Last-Translator: FULL NAME \n"
14 | "Language-Team: LANGUAGE \n"
15 | "MIME-Version: 1.0\n"
16 | "Content-Type: text/plain; charset=UTF-8\n"
17 | "Content-Transfer-Encoding: 8bit\n"
18 |
19 | #: ../../en/geography_exercises.rst:4
20 | msgid "Geography Exercises"
21 | msgstr ""
22 |
23 | #: ../../en/geography_exercises.rst:6
24 | msgid "Here's a reminder of all the functions we have seen so far. They should be useful for the exercises!"
25 | msgstr ""
26 |
27 | #: ../../en/geography_exercises.rst:8
28 | msgid ":command:`Sum(number)` adds up all the numbers in the result set"
29 | msgstr ""
30 |
31 | #: ../../en/geography_exercises.rst:9
32 | msgid ":command:`ST_GeogFromText(text)` returns a geography"
33 | msgstr ""
34 |
35 | #: ../../en/geography_exercises.rst:10
36 | msgid ":command:`ST_Distance(geography, geography)` returns the distance between geographies"
37 | msgstr ""
38 |
39 | #: ../../en/geography_exercises.rst:11
40 | msgid ":command:`ST_Transform(geometry, srid)` returns geometry, in the new projection"
41 | msgstr ""
42 |
43 | #: ../../en/geography_exercises.rst:12
44 | msgid ":command:`ST_Length(geography)` returns the length of the line"
45 | msgstr ""
46 |
47 | #: ../../en/geography_exercises.rst:13
48 | msgid ":command:`ST_Intersects(geometry, geometry)` returns true if the objects are not disjoint in planar space"
49 | msgstr ""
50 |
51 | #: ../../en/geography_exercises.rst:14
52 | msgid ":command:`ST_Intersects(geography, geography)` returns true if the objects are not disjoint in spheroidal space"
53 | msgstr ""
54 |
55 | #: ../../en/geography_exercises.rst:16
56 | msgid "Also remember the tables we have available:"
57 | msgstr ""
58 |
59 | #: ../../en/geography_exercises.rst:18
60 | msgid "``nyc_streets``"
61 | msgstr ""
62 |
63 | #: ../../en/geography_exercises.rst:20
64 | msgid "name, type, geom"
65 | msgstr ""
66 |
67 | #: ../../en/geography_exercises.rst:22
68 | msgid "``nyc_neighborhoods``"
69 | msgstr ""
70 |
71 | #: ../../en/geography_exercises.rst:24
72 | msgid "name, boroname, geom"
73 | msgstr ""
74 |
75 | #: ../../en/geography_exercises.rst:28
76 | msgid "Exercises"
77 | msgstr ""
78 |
79 | #: ../../en/geography_exercises.rst:30
80 | msgid "**How far is New York from Seattle? What are the units of the answer?**"
81 | msgstr ""
82 |
83 | #: ../../en/geography_exercises.rst:34
84 | msgid "New York = ``POINT(-74.0064 40.7142)`` and Seattle = ``POINT(-122.3331 47.6097)``"
85 | msgstr ""
86 |
87 | #: ../../en/geography_exercises.rst:48
88 | msgid "**What is the total length of all streets in New York, calculated on the spheroid?**"
89 | msgstr ""
90 |
91 | #: ../../en/geography_exercises.rst:64
92 | msgid "The length calculated in the planar \"UTM Zone 18\" projection is 10418904.717, 0.02% different. UTM is good at preserving area and distance, within the zone boundaries."
93 | msgstr ""
94 |
95 | #: ../../en/geography_exercises.rst:67
96 | msgid "**Does ‘POINT(1 2.0001)’ intersect with ‘POLYGON((0 0, 0 2, 2 2, 2 0, 0 0))’ in geography? In geometry? Why the difference?**"
97 | msgstr ""
98 |
99 | #: ../../en/geography_exercises.rst:87
100 | msgid "The upper edge of the square is a straight line in geometry, and passes **below** the point, so the square does not contain the point. The upper edge of the square is a great circle in geography, and passes **above** the point, so the square does contain the point."
101 | msgstr ""
102 |
--------------------------------------------------------------------------------
/postgis-intro/sources/locale/pot/index.pot:
--------------------------------------------------------------------------------
1 | # SOME DESCRIPTIVE TITLE.
2 | # Copyright (C) 2012-2023, Paul Ramsey | Mark Leslie | PostGIS contributors
3 | # This file is distributed under the same license as the Introduction to PostGIS package.
4 | # FIRST AUTHOR , YEAR.
5 | #
6 | #, fuzzy
7 | msgid ""
8 | msgstr ""
9 | "Project-Id-Version: Introduction to PostGIS 1.1\n"
10 | "Report-Msgid-Bugs-To: \n"
11 | "POT-Creation-Date: 2023-01-07 21:46-0500\n"
12 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
13 | "Last-Translator: FULL NAME \n"
14 | "Language-Team: LANGUAGE \n"
15 | "MIME-Version: 1.0\n"
16 | "Content-Type: text/plain; charset=UTF-8\n"
17 | "Content-Transfer-Encoding: 8bit\n"
18 |
19 | #: ../../en/index.rst:4
20 | msgid "Introduction to PostGIS"
21 | msgstr ""
22 |
23 | #: ../../en/index.rst:7
24 | msgid "Getting Started"
25 | msgstr ""
26 |
27 | #: ../../en/index.rst:9
28 | msgid "This workshop uses a `data bundle `_. Download it and extract to a convenient location."
29 | msgstr ""
30 |
31 | #: ../../en/index.rst:11
32 | msgid "The **presentation deck** that goes with this workshop is available `on Google Slides `_."
33 | msgstr ""
34 |
35 | #: ../../en/index.rst:13
36 | msgid "The **cheat sheet** of SQL commands that are run in this workshop is `available here `_."
37 | msgstr ""
38 |
39 | #: ../../en/index.rst:17
40 | msgid "Data Bundle"
41 | msgstr ""
42 |
43 | #: ../../en/index.rst:19
44 | msgid "Inside the data bundle, you will find:"
45 | msgstr ""
46 |
47 | #: ../../en/index.rst:22
48 | msgid "**data/**"
49 | msgstr ""
50 |
51 | #: ../../en/index.rst:22
52 | msgid "a directory containing the data files we will be loading"
53 | msgstr ""
54 |
55 | #: ../../en/index.rst:26
56 | msgid "**printing/**"
57 | msgstr ""
58 |
59 | #: ../../en/index.rst:25
60 | msgid "a directory containing the exercise pages and data model pages"
61 | msgstr ""
62 |
63 | #: ../../en/index.rst:29
64 | msgid "License & Copying"
65 | msgstr ""
66 |
67 | #: ../../en/index.rst:31
68 | msgid "All the data in the package is public domain and freely redistributable. All the software in the package is open source, and freely redistributable. This workshop is licensed as Creative Commons \"`share alike with attribution `_\", and is freely redistributable under the terms of that license."
69 | msgstr ""
70 |
71 | #: ../../en/index.rst:35
72 | msgid "Workshop Modules"
73 | msgstr ""
74 |
75 | #: ../../en/index.rst:85
76 | msgid "Links to have on hand"
77 | msgstr ""
78 |
79 | #: ../../en/index.rst:87
80 | msgid "PostGIS - https://postgis.net/"
81 | msgstr ""
82 |
83 | #: ../../en/index.rst:89
84 | msgid "Docs - https://postgis.net/docs/"
85 | msgstr ""
86 |
87 | #: ../../en/index.rst:91
88 | msgid "PostgreSQL - https://www.postgresql.org/"
89 | msgstr ""
90 |
91 | #: ../../en/index.rst:93
92 | msgid "Docs - https://www.postgresql.org/docs/"
93 | msgstr ""
94 |
95 | #: ../../en/index.rst:94
96 | msgid "Downloads - https://www.postgresql.org/download/"
97 | msgstr ""
98 |
99 | #: ../../en/index.rst:95
100 | msgid "JDBC Driver - https://jdbc.postgresql.org/"
101 | msgstr ""
102 |
103 | #: ../../en/index.rst:96
104 | msgid ".Net Driver - https://www.npgsql.org/"
105 | msgstr ""
106 |
107 | #: ../../en/index.rst:97
108 | msgid "Python Driver - http://www.pygresql.org/"
109 | msgstr ""
110 |
111 | #: ../../en/index.rst:98
112 | msgid "C/C++ Driver - https://www.postgresql.org/docs/current/static/libpq.html"
113 | msgstr ""
114 |
115 | #: ../../en/index.rst:100
116 | msgid "PgAdmin - https://www.pgadmin.org/"
117 | msgstr ""
118 |
119 | #: ../../en/index.rst:102
120 | msgid "Open Source Desktop Clients"
121 | msgstr ""
122 |
123 | #: ../../en/index.rst:104
124 | msgid "QGIS - https://qgis.org/"
125 | msgstr ""
126 |
127 | #: ../../en/index.rst:105
128 | msgid "OpenJUMP - http://openjump.org/"
129 | msgstr ""
130 |
131 | #: ../../en/index.rst:106
132 | msgid "uDig - https://udig.github.io/"
133 | msgstr ""
134 |
--------------------------------------------------------------------------------
/postgis-intro/sources/locale/pot/knn.pot:
--------------------------------------------------------------------------------
1 | # SOME DESCRIPTIVE TITLE.
2 | # Copyright (C) 2012-2023, Paul Ramsey | Mark Leslie | PostGIS contributors
3 | # This file is distributed under the same license as the Introduction to PostGIS package.
4 | # FIRST AUTHOR , YEAR.
5 | #
6 | #, fuzzy
7 | msgid ""
8 | msgstr ""
9 | "Project-Id-Version: Introduction to PostGIS 1.1\n"
10 | "Report-Msgid-Bugs-To: \n"
11 | "POT-Creation-Date: 2023-01-07 21:46-0500\n"
12 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
13 | "Last-Translator: FULL NAME \n"
14 | "Language-Team: LANGUAGE \n"
15 | "MIME-Version: 1.0\n"
16 | "Content-Type: text/plain; charset=UTF-8\n"
17 | "Content-Transfer-Encoding: 8bit\n"
18 |
19 | #: ../../en/knn.rst:4
20 | msgid "Nearest-Neighbour Searching"
21 | msgstr ""
22 |
23 | #: ../../en/knn.rst:7
24 | msgid "What is a Nearest Neighbour Search?"
25 | msgstr ""
26 |
27 | #: ../../en/knn.rst:9
28 | msgid "A frequently posed spatial query is: \"what is the nearest to ?\""
29 | msgstr ""
30 |
31 | #: ../../en/knn.rst:11
32 | msgid "Unlike a distance search, the \"nearest neighbour\" search doesn't include any measurement restricting how far away candidate geometries might be, features of any distance away will be accepted, as long as they are the *nearest*."
33 | msgstr ""
34 |
35 | #: ../../en/knn.rst:13
36 | msgid "PostgreSQL solves the nearest neighbor problem by introducing an \"order by distance\" (``<->``) operator that induces the database to use an index to speed up a sorted return set. With an \"order by distance\" operator in place, a nearest neighbor query can return the \"N nearest features\" just by adding an ordering and limiting the result set to N entries."
37 | msgstr ""
38 |
39 | #: ../../en/knn.rst:15
40 | msgid "The \"order by distance\" operator works for both geometry and geography types. The only difference between how they work between the two types is the distance value returned. For geometry ``<->`` returns the same answer as `ST_Distance` which is dependent on the units of the spatial reference system in use. For geography the distance value returned is the sphere distance, instead of the more accurate spheroidal distance that ``ST_Distance(geography,geography)`` returns."
41 | msgstr ""
42 |
43 | #: ../../en/knn.rst:17
44 | msgid "Here's the 3 nearest streets to 'Broad St' subway station:"
45 | msgstr ""
46 |
47 | #: ../../en/knn.rst:53
48 | msgid "How can we be sure we are getting an index-assisted query? It's a good idea to check the ``EXPLAIN`` output for a nearest-neighbor query, because it's possible to get correct answers from non-indexed SQL and the lack of an index might not be obvious until the size of the tables scales up."
49 | msgstr ""
50 |
51 | #: ../../en/knn.rst:55
52 | msgid "This is the output from ``EXPLAIN``, note the index scan over the order by:"
53 | msgstr ""
54 |
55 | #: ../../en/knn.rst:69
56 | msgid "Nearest Neighbor Join"
57 | msgstr ""
58 |
59 | #: ../../en/knn.rst:71
60 | msgid "The index assisted order by operator has one major draw back: it only works with a **single geometry literal** on one side of the operator. This is fine for finding the objects nearest to one query object, but does not help for a spatial join, where the goal is to find the nearest neighbor for each of a full set of candidates."
61 | msgstr ""
62 |
63 | #: ../../en/knn.rst:73
64 | msgid "Fortunately, there's a SQL language feature that allows us to run a query repeatedly driven in a loop: the `LATERAL join `_."
65 | msgstr ""
66 |
67 | #: ../../en/knn.rst:75
68 | msgid "Here we will find the nearest street to each subway station:"
69 | msgstr ""
70 |
71 | #: ../../en/knn.rst:93
72 | msgid "Note the way the ``CROSS JOIN LATERAL`` acts as the inner part of a loop driven by the subways table. Each record in the subways table gets fed into the lateral subquery, one at a time, so you get a nearest result for each subway record."
73 | msgstr ""
74 |
75 | #: ../../en/knn.rst:97
76 | msgid "The explain shows the loop on the subway stations, and the index-assisted order by inside the loop where we want it:"
77 | msgstr ""
78 |
--------------------------------------------------------------------------------
/postgis-intro/sources/locale/pot/license.pot:
--------------------------------------------------------------------------------
1 | # SOME DESCRIPTIVE TITLE.
2 | # Copyright (C) 2012-2023, Paul Ramsey | Mark Leslie | PostGIS contributors
3 | # This file is distributed under the same license as the Introduction to PostGIS package.
4 | # FIRST AUTHOR , YEAR.
5 | #
6 | #, fuzzy
7 | msgid ""
8 | msgstr ""
9 | "Project-Id-Version: Introduction to PostGIS 1.1\n"
10 | "Report-Msgid-Bugs-To: \n"
11 | "POT-Creation-Date: 2023-01-07 21:46-0500\n"
12 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
13 | "Last-Translator: FULL NAME \n"
14 | "Language-Team: LANGUAGE \n"
15 | "MIME-Version: 1.0\n"
16 | "Content-Type: text/plain; charset=UTF-8\n"
17 | "Content-Transfer-Encoding: 8bit\n"
18 |
19 | #: ../../en/license.rst:4
20 | msgid "Appendix C: License"
21 | msgstr ""
22 |
23 | #: ../../en/license.rst:6
24 | msgid "This work is licensed under the Creative Commons Attribution-Share Alike, United States License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/us/ or send a letter to Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA."
25 | msgstr ""
26 |
27 | #: ../../en/license.rst:8
28 | msgid "Our attribution requirement is that you retain the visible copyright notices in all materials."
29 | msgstr ""
30 |
--------------------------------------------------------------------------------
/postgis-intro/sources/locale/sv/LC_MESSAGES/license.po:
--------------------------------------------------------------------------------
1 | # SOME DESCRIPTIVE TITLE.
2 | # Copyright (C) 2012-2023, Paul Ramsey | Mark Leslie | PostGIS contributors
3 | # This file is distributed under the same license as the Introduction to PostGIS package.
4 | # Daniel Nylander , 2025.
5 | msgid ""
6 | msgstr ""
7 | "Project-Id-Version: Introduction to PostGIS 1.1\n"
8 | "Report-Msgid-Bugs-To: \n"
9 | "POT-Creation-Date: 2023-01-07 21:46-0500\n"
10 | "PO-Revision-Date: 2025-06-04 17:47+0000\n"
11 | "Last-Translator: Daniel Nylander \n"
12 | "Language-Team: Swedish \n"
14 | "Language: sv\n"
15 | "MIME-Version: 1.0\n"
16 | "Content-Type: text/plain; charset=UTF-8\n"
17 | "Content-Transfer-Encoding: 8bit\n"
18 | "Plural-Forms: nplurals=2; plural=n != 1;\n"
19 | "X-Generator: Weblate 5.4.3\n"
20 |
21 | #: ../../en/license.rst:4
22 | msgid "Appendix C: License"
23 | msgstr "Bilaga C: Licens"
24 |
25 | #: ../../en/license.rst:6
26 | msgid "This work is licensed under the Creative Commons Attribution-Share Alike, United States License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/us/ or send a letter to Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA."
27 | msgstr ""
28 | "Detta arbete är licensierat under Creative Commons Attribution-Share Alike, "
29 | "United States License. För att se en kopia av denna licens, besök "
30 | "http://creativecommons.org/licenses/by-sa/3.0/us/ eller skicka ett brev till "
31 | "Creative Commons, 171 Second Street, Suite 300, San Francisco, California, "
32 | "94105, USA."
33 |
34 | #: ../../en/license.rst:8
35 | msgid "Our attribution requirement is that you retain the visible copyright notices in all materials."
36 | msgstr ""
37 | "Vårt krav är att du behåller de synliga upphovsrättsmeddelandena i allt "
38 | "material."
39 |
--------------------------------------------------------------------------------
/postgis-intro/sources/locale/zh_Hans/LC_MESSAGES/license.po:
--------------------------------------------------------------------------------
1 | # SOME DESCRIPTIVE TITLE.
2 | # Copyright (C) 2012, Paul Ramsey | Mark Leslie
3 | # This file is distributed under the same license as the Introduction to PostGIS package.
4 | # Baifan Mei , 2022.
5 | # Wangdapeng , 2025.
6 | msgid ""
7 | msgstr ""
8 | "Project-Id-Version: Introduction to PostGIS 1.0\n"
9 | "Report-Msgid-Bugs-To: \n"
10 | "POT-Creation-Date: 2023-01-07 21:46-0500\n"
11 | "PO-Revision-Date: 2025-03-25 21:18+0000\n"
12 | "Last-Translator: Wangdapeng \n"
13 | "Language-Team: Chinese (Simplified) \n"
15 | "Language: zh_Hans\n"
16 | "MIME-Version: 1.0\n"
17 | "Content-Type: text/plain; charset=UTF-8\n"
18 | "Content-Transfer-Encoding: 8bit\n"
19 | "Plural-Forms: nplurals=1; plural=0;\n"
20 | "X-Generator: Weblate 5.4.3\n"
21 |
22 | #: ../../en/license.rst:4
23 | msgid "Appendix C: License"
24 | msgstr "附录 C:许可证"
25 |
26 | #: ../../en/license.rst:6
27 | msgid ""
28 | "This work is licensed under the Creative Commons Attribution-Share Alike, "
29 | "United States License. To view a copy of this license, visit http://"
30 | "creativecommons.org/licenses/by-sa/3.0/us/ or send a letter to Creative "
31 | "Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA."
32 | msgstr ""
33 | "本作品采用知识共享署名-相同方式共享(美国)许可协议授权。要查看该许可协议的副"
34 | "本,请访问 http://creativecommons.org/licenses/by-sa/3.0/us/ 或致函:"
35 | "Creative Commons, 171 Second Street, Suite 300, San Francisco, California, "
36 | "94105, USA。"
37 |
38 | #: ../../en/license.rst:8
39 | msgid ""
40 | "Our attribution requirement is that you retain the visible copyright notices "
41 | "in all materials."
42 | msgstr "我们的署名要求是:您必须在所有材料中保留可见的版权声明。"
43 |
--------------------------------------------------------------------------------
/themes/foss4g2013/layout.html:
--------------------------------------------------------------------------------
1 | {% extends "sphinxdoc/layout.html" %}
2 | {%- macro customrelbar(showrel=True) %}
3 |
23 | {%- endmacro %}
24 | {%- macro index_sidebar() %}
25 |
34 | {%- endmacro %}
35 |
36 | {% block extrahead %}
37 | {% if pagename == "index" %}
38 | {% endif %}
39 | {% endblock %}
40 |
41 | {% block header %}
42 |
48 | {% endblock %}
49 |
50 | {% block relbar1 %}
51 | {% endblock %}
52 |
53 | {% block sidebarsearch %}{% endblock %}
54 |
55 | {%- block sidebar1 %}
56 | {%- if pagename == 'index' %}{{ index_sidebar() }}{% else %}{{ super() }}{% endif %}
57 | {% endblock %}
58 | {%- block sidebar2 %}{% endblock %}
59 |
60 | {%- block relbar2 %}
61 | {%- if pagename != 'index' %}{{ customrelbar(True) }}{% endif %}
62 | {% endblock %}
63 |
64 | {%- block footer %}
65 |
73 | {%- endblock %}
74 |
--------------------------------------------------------------------------------
/themes/foss4g2013/static/extra.css:
--------------------------------------------------------------------------------
1 |
2 | @import url("sphinxdoc.css");
3 |
4 | body
5 | {
6 | margin: 0;
7 | padding: 0;
8 | font-family: helvetica,"microsoft sans serif",arial,sans-serif;
9 | }
10 |
11 | div.wrap
12 | {
13 | background-color: #FEFDF1;
14 | border-bottom: 1px solid #A8BCCF;
15 | text-align: left;
16 | }
17 |
18 | #content
19 | {
20 | margin: 0px;
21 | padding: 0px;
22 | margin-left: 45px;
23 | margin-right: 45px;
24 | margin-bottom: 45px;
25 | }
26 |
27 | h1.logo
28 | {
29 | padding: 0px;
30 | margin: 0px;
31 | padding-top: 15px;
32 | padding-bottom: 7px;
33 | padding-left: 45px;
34 | border-top: 8px solid #6c9400;
35 | }
36 |
37 | h1.logo img
38 | {
39 | border: none;
40 | }
41 |
42 | h2.docstitle
43 | {
44 | border: none;
45 | margin: 0px;
46 | padding: 0px;
47 | padding-top: 25px;
48 | padding-left: 45px;
49 | background: transparent url(img/page-heading-bg.png);
50 | font-weight: lighter;
51 | font-family: Univers, Helvetica, Verdana, Arial, sans-serif;
52 | font-size: 1.4em;
53 | color: #0a2742;
54 | height: 29px; /* 54 after padding*/
55 | letter-spacing: 0.03em;
56 | }
57 |
58 | h2.docstitle a
59 | {
60 | text-decoration: none;
61 | color: #0a2742;
62 | }
63 |
64 |
65 | div.related
66 | {
67 | margin: 0px;
68 | padding: 0px;
69 | padding-top: 6px;
70 | padding-bottom: 5px;
71 | background: white;
72 | vertical-align: middle;
73 | }
74 |
75 | div.related ul
76 | {
77 | margin: 0;
78 | margin-left: 45px;
79 | padding: 0;
80 | height: 2em;
81 | background-image: none;
82 | border: none;
83 | }
84 |
85 | div.related ul li
86 | {
87 | height: 2em;
88 | padding: 0 0.5em 0 0;
89 | }
90 |
91 | div.related ul li a
92 | {
93 | padding: 0 0.3em 0 0;
94 | color: #1A3752;
95 | text-decoration: underline;
96 | }
97 |
98 | div.clearer
99 | {
100 | border-bottom: 1px solid #ccc;
101 | }
102 |
103 | div.body
104 | {
105 | padding: 0.5em 45px 0.5em 45px;
106 | }
107 |
108 | div.body p.caption
109 | {
110 | font-style: italic;
111 | font-size: small;
112 | }
113 |
114 | div.bodywrapper
115 | {
116 | margin-right: 280px;
117 | }
118 |
119 | h1,h2,h3
120 | {
121 | font-family: Univers, Helvetica, Verdana, Arial, sans-serif;
122 | color: #0A2742;
123 | font-weight: lighter;
124 | }
125 |
126 | a,a.reference
127 | {
128 | color: #1A3752;
129 | text-decoration: underline;
130 | }
131 |
132 | a:hover
133 | {
134 | color: #3366CC;
135 | }
136 |
137 | div.sphinxsidebar
138 | {
139 | padding: 0;
140 | padding-top: 0.8em;
141 | padding-bottom: 20px;
142 | padding-right: 45px;
143 | width: 210px;
144 | }
145 |
146 | div.sphinxsidebar h3, div.sphinxsidebar h4
147 | {
148 | margin: 1em 0 0.5em 0;
149 | font-size: 1em;
150 | padding: 0.5em 0 0.15em 0.6em;
151 | color: white;
152 | font-weight: bold;
153 | border: 0;
154 | background-color: #A8BCCF;
155 | }
156 |
157 | div.sphinxsidebar h3 a
158 | {
159 | text-decoration: none;
160 | }
161 |
162 | div.footer
163 | {
164 | border-top: 1px solid #ccc;
165 | background-color: #D7E6EB;
166 | }
167 |
168 | div.documentwrapper
169 | {
170 | width: auto;
171 | }
172 |
173 |
--------------------------------------------------------------------------------
/themes/foss4g2013/static/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/themes/foss4g2013/static/favicon.ico
--------------------------------------------------------------------------------
/themes/foss4g2013/static/img/cc-by-sa.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/themes/foss4g2013/static/img/cc-by-sa.png
--------------------------------------------------------------------------------
/themes/foss4g2013/static/img/opengeo-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/themes/foss4g2013/static/img/opengeo-logo.png
--------------------------------------------------------------------------------
/themes/foss4g2013/static/img/page-heading-bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/themes/foss4g2013/static/img/page-heading-bg.png
--------------------------------------------------------------------------------
/themes/foss4g2013/theme.conf:
--------------------------------------------------------------------------------
1 | [theme]
2 | inherit = sphinxdoc
3 | stylesheet = extra.css
4 | pygments_style = sphinx
5 |
6 | [options]
7 | nosidebar = false
8 |
--------------------------------------------------------------------------------
/themes/postgis/static/extra.css:
--------------------------------------------------------------------------------
1 |
2 | @import url("sphinxdoc.css");
3 |
4 | body
5 | {
6 | margin: 0;
7 | padding: 0;
8 | font-family: helvetica,"microsoft sans serif",arial,sans-serif;
9 | }
10 |
11 | div.wrap
12 | {
13 | background-color: #eee;
14 | border-bottom: 1px solid #468;
15 | text-align: left;
16 | border-top: 8px solid #468;
17 | }
18 |
19 | div.links
20 | {
21 | margin-top: 6px;
22 | margin-right: 40px;
23 | text-align: right;
24 | float: right;
25 | }
26 |
27 | #content
28 | {
29 | margin: 0px;
30 | padding: 0px;
31 | margin-left: 45px;
32 | margin-right: 45px;
33 | margin-bottom: 45px;
34 | }
35 |
36 | h1.logo
37 | {
38 | padding: 0px;
39 | margin: 0px;
40 | padding-top: 15px;
41 | padding-bottom: 7px;
42 | padding-left: 45px;
43 | padding-right: 0px;
44 | width: 255px;
45 | }
46 |
47 | h1.logo img
48 | {
49 | border: none;
50 | }
51 |
52 | h2.docstitle
53 | {
54 | border: none;
55 | margin: 0px;
56 | padding: 0px;
57 | margin-top: 15px;
58 | padding-top: 15px;
59 | padding-bottom: 2px;
60 | padding-left: 45px;
61 | /* background: transparent url(img/page-heading-bg.png); */
62 | background-color: #468;
63 | /* font-weight: lighter; */
64 | font-family: Univers, Helvetica, Verdana, Arial, sans-serif;
65 | font-size: 1.6em;
66 | color: white;
67 | height: 29px; /* 54 after padding*/
68 | letter-spacing: 0.03em;
69 | }
70 |
71 | h2.docstitle a
72 | {
73 | text-decoration: none;
74 | color: white;
75 | }
76 |
77 |
78 | div.related
79 | {
80 | margin: 0px;
81 | padding: 0px;
82 | padding-top: 6px;
83 | padding-bottom: 5px;
84 | background: white;
85 | vertical-align: middle;
86 | }
87 |
88 | div.related ul
89 | {
90 | margin: 0;
91 | margin-left: 45px;
92 | padding: 0;
93 | height: 2em;
94 | background-image: none;
95 | border: none;
96 | }
97 |
98 | div.related ul li
99 | {
100 | height: 2em;
101 | padding: 0 0.5em 0 0;
102 | }
103 |
104 | div.related ul li a
105 | {
106 | padding: 0 0.3em 0 0;
107 | color: #1A3752;
108 | text-decoration: underline;
109 | }
110 |
111 | div.clearer
112 | {
113 | border-bottom: 1px solid #ccc;
114 | }
115 |
116 | div.body
117 | {
118 | padding: 0.5em 45px 0.5em 45px;
119 | }
120 |
121 | div.body p.caption
122 | {
123 | font-style: italic;
124 | font-size: small;
125 | }
126 |
127 | div.bodywrapper
128 | {
129 | margin-right: 280px;
130 | }
131 |
132 | h1,h2,h3
133 | {
134 | font-family: Univers, Helvetica, Verdana, Arial, sans-serif;
135 | color: #0A2742;
136 | font-weight: lighter;
137 | }
138 |
139 | a,a.reference
140 | {
141 | color: #1A3752;
142 | text-decoration: underline;
143 | }
144 |
145 | a:hover
146 | {
147 | color: #3366CC;
148 | }
149 |
150 | div.sphinxsidebar
151 | {
152 | padding: 0;
153 | padding-top: 0.8em;
154 | padding-bottom: 20px;
155 | padding-right: 45px;
156 | width: 210px;
157 | }
158 |
159 | div.sphinxsidebar h3, div.sphinxsidebar h4
160 | {
161 | margin: 1em 0 0.5em 0;
162 | font-size: 1em;
163 | padding: 0.5em 0 0.15em 0.6em;
164 | color: white;
165 | font-weight: bold;
166 | border: 0;
167 | background-color: #468;
168 | }
169 |
170 | div.sphinxsidebar h3 a
171 | {
172 | text-decoration: none;
173 | }
174 |
175 | div.footer
176 | {
177 | color: white;
178 | border-top: 1px solid #ccc;
179 | background-color: #468;
180 | }
181 |
182 | div.documentwrapper
183 | {
184 | width: auto;
185 | }
186 |
187 | .btn-scm {
188 | border: none;
189 | color: white;
190 | padding: 15px 32px;
191 | text-align: center;
192 | text-decoration: none;
193 | display: inline-block;
194 | font-size: 16px;
195 | font-weight: bold;
196 | }
197 |
198 | .gitlab{
199 | background-color: #FC6D27; /* Orange */
200 | }
201 |
202 | .github {
203 | background-color: #28A745; /* Green */
204 | }
205 |
206 | img.border {
207 | border-width: 1px;
208 | border-style: solid;
209 | border-color: lightgrey;
210 | }
211 |
212 |
--------------------------------------------------------------------------------
/themes/postgis/static/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/themes/postgis/static/favicon.ico
--------------------------------------------------------------------------------
/themes/postgis/static/img/cc-by-sa.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/themes/postgis/static/img/cc-by-sa.png
--------------------------------------------------------------------------------
/themes/postgis/static/img/opengeo-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/themes/postgis/static/img/opengeo-logo.png
--------------------------------------------------------------------------------
/themes/postgis/static/img/page-heading-bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/themes/postgis/static/img/page-heading-bg.png
--------------------------------------------------------------------------------
/themes/postgis/static/img/postgis-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/postgis/postgis-workshops/ac1e67a2a6a14f4bca9319422df92be3520c5569/themes/postgis/static/img/postgis-logo.png
--------------------------------------------------------------------------------
/themes/postgis/theme.conf:
--------------------------------------------------------------------------------
1 | [theme]
2 | inherit = sphinxdoc
3 | stylesheet = extra.css
4 | pygments_style = sphinx
5 |
6 | [options]
7 | nosidebar = false
8 |
--------------------------------------------------------------------------------