GeoServerRest.py 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  1. # -*- coding: utf-8 -*-
  2. from Geoserver import Geoserver
  3. # 连接GeoServer
  4. # geo = Geoserver('http://192.168.60.52:28085/geoserver', username='admin', password='geoserver')
  5. # geo.create_coveragestyle(raster_path=r'D:\gisdata\tif\xyq.tif', style_name='style_raster', workspace='demo', color_ramp='RdBu_r')
  6. # geo.publish_style(layer_name='demo_tiff', style_name='style_raster', workspace='demo')
  7. # caching
  8. # geo.caching_layer(layer_name='webgistest:capital', zoom_start=1, zoom_stop=15, auto_seed=False)
  9. # geo.seed_caching_layer(layer_name='webgistest:capital', zoom_start=1, zoom_stop=15, seedtype='reseed')
  10. # geo.seed_caching_layer(layer_name='webgistest:capital', zoom_start=1, zoom_stop=15, seedtype='truncate')
  11. # geo.seed_caching_layer(layer_name='webgistest:capital', zoom_start=1, zoom_stop=15, seedtype='seed')
  12. # 创建工作空间
  13. # geo.create_workspace(workspace='demo')
  14. # 上传影像数据到工作空间
  15. # geo.create_coveragestore(layer_name='demo_tiff', path=r'D:/gisdata/HEBEI/HebeiDEM.tif', workspace='demo')
  16. # 创建PostGIS数据库连接到工作空间
  17. # geo.create_featurestore(store_name='pg_test', workspace='demo', db='webgistest', host='localhost', pg_user='postgres',pg_password='postgres', schema='public')
  18. # 发布PostGIS数据表
  19. # geo.publish_featurestore(workspace='demo', store_name='pg_test', pg_table='安国市-保定_shape'.encode('utf-8').decode('utf-8'))
  20. # geo.publish_featurestore(workspace='demo', store_name='pg_test', pg_table='capital')
  21. # 基于数据表做sql查询并发布
  22. # sql = 'SELECT * FROM baoding_shape'
  23. # geo.publish_featurestore_sqlview(store_name='pg_test', name='view_test', sql=sql, key_column='id', workspace='demo')
  24. # 发布shp数据
  25. # geo.create_shp_datastore(path=r'D:/gisdata/HEBEI/WYDC.zip', store_name='store', workspace='demo')
  26. # geo.create_datastore(name="WYDC", path=r'D:/gisdata/HEBEI/WYDC.shp', workspace='demo')
  27. # geo.publish_featurestore(workspace='demo', store_name='pg_test', pg_table='baoding_shape')
  28. # WFS注册
  29. # geo.create_datastore(name="wfs", path='http://localhost:28085/geoserver/wfs?request=GetCapabilities', workspace='demo')
  30. # geo.publish_featurestore(workspace='demo', store_name='wfs', pg_table='wfs_layer_name')
  31. # layergroup
  32. # create a new layergroup from 2 existing layers
  33. # geo.create_layergroup(
  34. # name="my_fancy_layergroup",
  35. # mode="single",
  36. # title="My Fancy Layergroup Title",
  37. # abstract_text="This is a very fancy Layergroup",
  38. # layers=["fancy_layer_1", "fancy_layer_2"],
  39. # workspace="my_space", # None if you want to create a layergroup outside the workspace
  40. # keywords=["list", "of", "keywords"]
  41. # )
  42. # add another layer
  43. # geo.add_layer_to_layergroup(
  44. # layergroup_name="my_fancy_layergroup",
  45. # layergroup_workspace="my_space",
  46. # layer_name="superfancy_layer",
  47. # layer_workspace="my_space"
  48. # )
  49. # remove a layer
  50. # geo.remove_layer_from_layergroup(
  51. # layergroup_name="my_fancy_layergroup",
  52. # layergroup_workspace="my_space",
  53. # layer_name="superfancy_layer",
  54. # layer_workspace="my_space"
  55. # )
  56. # Style Vector
  57. # geo.upload_style(path=r'E:/projects/QGIS/styles/point.sld', workspace='demo', name='point')
  58. # geo.publish_style(layer_name='capital', style_name='point', workspace='demo')
  59. # Style Tiff
  60. # geo.create_coveragestyle(raster_path=r'D:/gisdata/HEBEI/HebeiDEM.tif', style_name='style_raster', workspace='demo', color_ramp='RdBu_r')
  61. # geo.publish_style(layer_name='demo_tiff', style_name='style_raster', workspace='demo')
  62. # Style Setting
  63. # c_ramp = {
  64. # 'label 1 value': '#ffff55',
  65. # 'label 2 value': '#505050',
  66. # 'label 3 value': '#404040',
  67. # 'label 4 value': '#333333'
  68. # }
  69. # geo.create_coveragestyle(raster_path=r'D:/gisdata/HEBEI/HebeiDEM.tif',
  70. # style_name='style_raster2',
  71. # workspace='demo',
  72. # color_ramp=c_ramp,
  73. # cmap_type='values')
  74. # you can also pass this list of color if you have your custom colors for the ``color_ramp``
  75. # geo.create_coveragestyle(raster_path=r'D:/gisdata/HEBEI/HebeiDEM.tif',
  76. # style_name='style_raster3',
  77. # workspace='demo',
  78. # color_ramp=['#ffffff', '#453422', '#f0f0f0', '#aaaaaa'],
  79. # cmap_type='values')
  80. # geo.publish_style(layer_name='demo_tiff', style_name='style_raster', workspace='demo')
  81. # delete workspace
  82. # geo.delete_workspace(workspace='demo')
  83. # delete layer
  84. # geo.delete_layer(layer_name='agri_final_proj', workspace='demo')
  85. # delete feature store, i.e. remove postgresql connection
  86. # geo.delete_featurestore(featurestore_name='ftry', workspace='demo')
  87. # delete coveragestore, i.e. delete raster store
  88. # geo.delete_coveragestore(coveragestore_name='agri_final_proj', workspace='demo')
  89. # delete style file
  90. # geo.delete_style(style_name='kamal2', workspace='demo')
  91. # get geoserver version
  92. # version = geo.get_version()
  93. # print(version)
  94. #
  95. # # get ststem info
  96. # status = geo.get_status()
  97. # system_status = geo.get_system_status()
  98. #
  99. # # get workspace
  100. # workspace = geo.get_workspaces()
  101. #
  102. # # get default workspace
  103. # dw = geo.get_default_workspace()
  104. #
  105. # # get all the workspaces
  106. # workspaces = geo.get_workspaces()
  107. #
  108. # # get datastore
  109. # datastore = geo.get_datastores(workspace='webgistest')
  110. #
  111. # # get all the datastores
  112. # datastores = geo.get_datastores()
  113. #
  114. # # get coveragestore
  115. # # cs = geo.get_coveragestore(coveragestore_name='cs')
  116. #
  117. # # get all the coveragestores
  118. # css = geo.get_coveragestores()
  119. #
  120. # # get layer
  121. # layer = geo.get_layer(layer_name='capital')
  122. #
  123. # # get all the layers
  124. # layers = geo.get_layers()
  125. #
  126. # # get layergroup
  127. # # layergroup = geo.get_layergroup('layergroup_name')
  128. #
  129. # # get all the layers
  130. # # layergroups = geo.get_layergroups()
  131. #
  132. # # get style
  133. # # style = geo.get_style(style_name='style_name')
  134. #
  135. # # get all the styles
  136. # styles = geo.get_styles()
  137. #
  138. # # get featuretypes
  139. # featuretypes = geo.get_featuretypes(workspace='webgistest', store_name='webgistest')
  140. #
  141. # # get feature attribute
  142. # # fa = geo.get_feature_attribute(feature_type_name='ftn', workspace='ws', store_name='sn')
  143. #
  144. # # get feature store
  145. # # fs = geo.get_featurestore(store_name='sn', workspace='ws')
  146. #
  147. # # Reloads the GeoServer catalog and configuration from disk. This operation is used in cases where an external tool has modified the on-disk configuration. This operation will also force GeoServer to drop any internal caches and reconnect to all data stores.
  148. # geo.reload()
  149. #
  150. # # Resets all store, raster, and schema caches. This operation is used to force GeoServer to drop all caches and store connections and reconnect to each of them the next time they are needed by a request. This is useful in case the stores themselves cache some information about the data structures they manage that may have changed in the meantime.
  151. # geo.reset()
  152. #
  153. # # set default workspace
  154. # geo.set_default_workspace(workspace='webgistest')